{
  "contractName": "EmergentVoteScheme",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "organizationsParameters",
      "outputs": [
        {
          "name": "reputationSystem",
          "type": "address"
        },
        {
          "name": "boostToken",
          "type": "address"
        },
        {
          "name": "beneficiary",
          "type": "address"
        },
        {
          "name": "attentionBandwidth",
          "type": "uint256"
        },
        {
          "name": "minBoostTimeFrame",
          "type": "uint256"
        },
        {
          "name": "maxBoostTimeFrame",
          "type": "uint256"
        },
        {
          "name": "minBoost",
          "type": "uint256"
        },
        {
          "name": "allowOwner",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_idsArray",
          "type": "bytes32[]"
        }
      ],
      "name": "findMinScore",
      "outputs": [
        {
          "name": "index",
          "type": "uint256"
        },
        {
          "name": "min",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "voteInfo",
      "outputs": [
        {
          "name": "",
          "type": "uint256[2]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        }
      ],
      "name": "moveTopAwaitingBoostMode",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_idsArray",
          "type": "bytes32[]"
        }
      ],
      "name": "findMaxScore",
      "outputs": [
        {
          "name": "index",
          "type": "uint256"
        },
        {
          "name": "max",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_hashedParameters",
          "type": "bytes32"
        }
      ],
      "name": "updateParameters",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "proposals",
      "outputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "avatar",
          "type": "address"
        },
        {
          "name": "numOfChoices",
          "type": "uint256"
        },
        {
          "name": "executable",
          "type": "address"
        },
        {
          "name": "paramsHash",
          "type": "bytes32"
        },
        {
          "name": "totalVotes",
          "type": "uint256"
        },
        {
          "name": "opened",
          "type": "bool"
        },
        {
          "name": "isBoostModeActive",
          "type": "bool"
        },
        {
          "name": "isAwaitingBoost",
          "type": "bool"
        },
        {
          "name": "closingTime",
          "type": "uint256"
        },
        {
          "name": "boostedFunds",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_vote",
          "type": "uint256"
        },
        {
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "ownerVote",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "cancelProposal",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "proposalScore",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_reputationSystem",
          "type": "address"
        },
        {
          "name": "_boostToken",
          "type": "address"
        },
        {
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "name": "_attentionBandwidth",
          "type": "uint256"
        },
        {
          "name": "_minBoostTimeFrame",
          "type": "uint256"
        },
        {
          "name": "_maxBoostTimeFrame",
          "type": "uint256"
        },
        {
          "name": "_minBoost",
          "type": "uint256"
        },
        {
          "name": "_allowOwner",
          "type": "bool"
        }
      ],
      "name": "setOrgParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "proposalsParameters",
      "outputs": [
        {
          "name": "precReq",
          "type": "uint256"
        },
        {
          "name": "quorum",
          "type": "uint256"
        },
        {
          "name": "boostTimeFrame",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "organizations",
      "outputs": [
        {
          "name": "isRegistered",
          "type": "bool"
        },
        {
          "name": "boostedProposals",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "proposalStatus",
      "outputs": [
        {
          "name": "",
          "type": "uint256[13]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_numOfChoices",
          "type": "uint256"
        },
        {
          "name": "_paramsHash",
          "type": "bytes32"
        },
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_executable",
          "type": "address"
        }
      ],
      "name": "propose",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "MAX_NUM_OF_CHOICES",
      "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": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "cancelVote",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_vote",
          "type": "uint256"
        }
      ],
      "name": "vote",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "getNumberOfChoices",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_vote",
          "type": "uint256"
        },
        {
          "name": "_rep",
          "type": "uint256"
        },
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "voteWithSpecifiedAmounts",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_reputationSystem",
          "type": "address"
        },
        {
          "name": "_boostToken",
          "type": "address"
        },
        {
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "name": "_attentionBandwidth",
          "type": "uint256"
        },
        {
          "name": "_minBoostTimeFrame",
          "type": "uint256"
        },
        {
          "name": "_maxBoostTimeFrame",
          "type": "uint256"
        },
        {
          "name": "_minBoost",
          "type": "uint256"
        },
        {
          "name": "_allowOwner",
          "type": "bool"
        }
      ],
      "name": "getOrgParametersHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "isVotable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_precReq",
          "type": "uint256"
        },
        {
          "name": "_quorum",
          "type": "uint256"
        },
        {
          "name": "_boostTimeFrame",
          "type": "uint256"
        }
      ],
      "name": "getProposalParametersHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_precReq",
          "type": "uint256"
        },
        {
          "name": "_quorum",
          "type": "uint256"
        },
        {
          "name": "_boostTimeFrame",
          "type": "uint256"
        }
      ],
      "name": "setProposalParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "execute",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_idsArray",
          "type": "bytes32[]"
        },
        {
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "findInArray",
      "outputs": [
        {
          "name": "isFound",
          "type": "bool"
        },
        {
          "name": "index",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "hashedParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_boostValue",
          "type": "uint256"
        }
      ],
      "name": "boostProposal",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_proposer",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_paramsHash",
          "type": "bytes32"
        }
      ],
      "name": "LogNewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "LogCancelProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_decision",
          "type": "uint256"
        }
      ],
      "name": "LogExecuteProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_voter",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_vote",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_reputation",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_isOwnerVote",
          "type": "bool"
        }
      ],
      "name": "LogVoteProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_voter",
          "type": "address"
        }
      ],
      "name": "LogCancelVoting",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "proposalId",
          "type": "bytes32"
        }
      ],
      "name": "LogNewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a031990911617905561256a8061003b6000396000f3006060604052600436106101665763ffffffff60e060020a600035041663069af5ee811461016b5780630a6c81a6146101d6578063119ce91b1461023d57806319bbc495146102975780631fa085ea146102b85780632ac2af531461030757806332ed5b121461031d578063339e23d1146103a157806337376ca8146103da5780633741e7ee146103f057806347686c8914610418578063504c9317146104545780635a1f74061461048e57806379a1c1f6146104c757806388737b5e146104f85780638d22651e146105235780638da5cb5b146105365780639525c0cc146105655780639ef1204c1461057b578063a003651d14610594578063ac5d8745146105aa578063aff6058a146105c9578063c083510614610605578063dc2689551461061b578063dcec6c3414610637578063e751f27114610653578063ec44deaf14610669578063f2fde38b146106ba578063f98e87ba146106d9578063fcbb9cc7146106ec575b600080fd5b341561017657600080fd5b610181600435610705565b604051600160a060020a0398891681529688166020880152949096166040808701919091526060860193909352608085019190915260a084015260c0830193909352151560e082015261010001905180910390f35b34156101e157600080fd5b610225600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061075c95505050505050565b60405191825260208201526040908101905180910390f35b341561024857600080fd5b61025f600435600160a060020a03602435166107b2565b6040518082604080838360005b8381101561028457808201518382015260200161026c565b5050505090500191505060405180910390f35b34156102a257600080fd5b6102b6600160a060020a0360043516610826565b005b34156102c357600080fd5b6102256004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610a0395505050505050565b341561031257600080fd5b6102b6600435610a44565b341561032857600080fd5b610333600435610a64565b604051600160a060020a039b8c168152998b1660208b01526040808b0199909952969099166060890152608088019490945260a0870192909252151560c0860152151560e0850152151561010084015261012083019390935261014082019290925261016001905180910390f35b34156103ac57600080fd5b6103c6600435602435600160a060020a0360443516610ad3565b604051901515815260200160405180910390f35b34156103e557600080fd5b6103c6600435610b81565b34156103fb57600080fd5b610406600435610d78565b60405190815260200160405180910390f35b341561042357600080fd5b610406600160a060020a036004358116906024358116906044351660643560843560a43560c43560e4351515610e4d565b341561045f57600080fd5b61046a600435610f7a565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561049957600080fd5b6104ad600160a060020a0360043516610f9b565b604051911515825260208201526040908101905180910390f35b34156104d257600080fd5b6104dd600435610fba565b60405180826101a0808383600081518382015260200161026c565b341561050357600080fd5b610406600435602435600160a060020a0360443581169060643516611044565b341561052e57600080fd5b610406611279565b341561054157600080fd5b61054961127e565b604051600160a060020a03909116815260200160405180910390f35b341561057057600080fd5b6102b660043561128d565b341561058657600080fd5b6103c66004356024356112bd565b341561059f57600080fd5b6104066004356112f4565b34156105b557600080fd5b6103c6600435602435604435606435611309565b34156105d457600080fd5b610406600160a060020a036004358116906024358116906044351660643560843560a43560c43560e4351515611341565b341561061057600080fd5b6103c66004356113e1565b341561062657600080fd5b6104066004356024356044356113f9565b341561064257600080fd5b61040660043560243560443561142a565b341561065e57600080fd5b6103c66004356114be565b341561067457600080fd5b6104ad6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650509335935061197692505050565b34156106c557600080fd5b6102b6600160a060020a03600435166119bd565b34156106e457600080fd5b610406611a4b565b34156106f757600080fd5b6102b6600435602435611a51565b600360208190526000918252604090912080546001820154600283015493830154600484015460058501546006860154600790960154600160a060020a039586169794861696959094169492939192909160ff1688565b600080805b83518110156107ac578161078985838151811061077a57fe5b90602001906020020151610d78565b10156107a4578092506107a184828151811061077a57fe5b91505b600101610761565b50915091565b6107ba6123fc565b6107c2612422565b6000848152600560209081526040808320600160a060020a03871684526007019091529081902090805190810160409081528254825260019092015460208201529150805190810160405280825181526020018260200151905291505b5092915050565b6000610830612439565b6000808080600160a060020a038716151561084a57600080fd5b61085387611c23565b60008181526003602052604090819020919750610100905190810160409081528254600160a060020a0390811683526001840154811660208085019190915260028086015483168486015260038601546060860190815260048701546080870152600587015460a0870152600687015460c087015260079096015460ff16151560e0860152918c166000908152919052209096509450516001850154106108f9576109fa565b60028401541515610909576109fa565b600180850180549091019055600284018054610972919060208082020160405190810160405280929190818152602001828054801561096857602002820191906000526020600020905b81548152600190910190602001808311610953575b5050505050610a03565b508093505060056000856002018581548110151561098c57fe5b60009182526020808320909101548352828101939093526040918201812060088101805462ff00001961ff0019909116610100171690556004808201548352909352206002015490925090506109e8438263ffffffff611d0416565b60098301556109fa6002850184611d13565b50505050505050565b600080805b83518110156107ac5781610a2185838151811061077a57fe5b1115610a3c57809250610a3984828151811061077a57fe5b91505b600101610a08565b60005433600160a060020a03908116911614610a5f57600080fd5b600155565b6005602081905260009182526040909120805460018201546002830154600384015460048501549585015460088601546009870154600a90970154600160a060020a03968716989587169794969093169493919260ff808316936101008404821693620100009004909116918b565b6000838152600560205260408120548190859033600160a060020a03908116911614610afe57600080fd5b600086815260056020526040902060080154869060ff161515610b2057600080fd5b600087815260056020526040902060010154610b4490600160a060020a0316611c23565b60008181526003602052604090206007015490935060ff161515610b6757610b77565b610b748787876000611d86565b93505b5050509392505050565b6000818152600560205260408120548190819081908190869033600160a060020a03908116911614610bb257600080fd5b600087815260056020526040902060080154879060ff161515610bd457600080fd5b600088815260056020526040902060010154600160a060020a03169550610bfa86611c23565b60008181526003602052604090206007015490955060ff161515610c215760009650610d6d565b610ca26002600088600160a060020a0316600160a060020a03168152602001908152602001600020600201805480602002602001604051908101604052809291908181526020018280548015610c9757602002820191906000526020600020905b81548152600190910190602001808311610c82575b505050505089611976565b90945092508315610cd357600160a060020a0386166000908152600260208190526040909120610cd3910184611d13565b60008881526005602081905260408083208054600160a060020a03199081168255600182018054821690556002820185905560038201805490911690556004810184905591820183905560088201805462ffffff1916905560098201839055600a9091019190915588907fd06f0966987a6526e0c1291838668e5dbcaf062ae68baadf345ff3edd792e8b5905160405180910390a2600196505b505050505050919050565b6000610d8261247d565b6000838152600560205260409081902090610160905190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a08201908152600883015460ff808216151560c08501526101008083048216151560e086015262010000909204161515908301526009830154610120830152600a909201546101408201529150610e4690518261014001519063ffffffff61205916565b9392505050565b600080610e608a8a8a8a8a8a8a8a611341565b90506101006040519081016040908152600160a060020a03808d1683528b8116602080850191909152908b1682840152606083018a90526080830189905260a0830188905260c0830187905285151560e0840152600084815260039091522081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a03929092169190911790556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e0820151600791909101805460ff1916911515919091179055509998505050505050505050565b60046020526000908152604090208054600182015460029092015490919083565b6002602052600090815260409020805460019091015460ff9091169082565b610fc26124d9565b600080610fcd6124d9565b6000858152600560205260408120600881015490945060ff16610ff1576000610ff4565b60015b60ff1692508282600c60200201525060005b6002840154811161103b5760008181526006850160205260409020548282600d811061102e57fe5b6020020152600101611006565b50949350505050565b60008061104f61247d565b6000871180156110605750600a8711155b151561106b57600080fd5b600160a060020a03851660009081526002602052604090205460ff16151561109257600080fd5b60008681526004602052604090205415156110ac57600080fd5b30600654604051600160a060020a03929092166c0100000000000000000000000002825260148201526034016040519081900390206006805460019081019091556080830188905260408084018a9052600160a060020a03808916602080870191909152888216606087015233909116855260c0850192909252600083815260059092529020909250819081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a0392909216919091179055604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c082015160088201805460ff191691151591909117905560e082015160088201805461ff0019166101009215158302179055820151600882018054911515620100000262ff0000199092169190911790556101208201518160090155610140820151600a9091015550817f5ac801aedcab27182da435c3657c99a0ca1942beac48b9ae9a9a3f3033ef78dd3388604051600160a060020a03909216825260208201526040908101905180910390a25095945050505050565b600a81565b600054600160a060020a031681565b600081815260056020526040902060080154819060ff1615156112af57600080fd5b6112b98233612084565b5050565b600082815260056020526040812060080154839060ff1615156112df57600080fd5b6112ec8484336000611d86565b949350505050565b60009081526005602052604090206002015490565b600084815260056020526040812060080154859060ff16151561132b57600080fd5b61133786863387611d86565b9695505050505050565b6000808989898989898989604051600160a060020a039889166c01000000000000000000000000908102825297891688026014820152959097169095026028850152603c840192909252605c830152607c820152609c8101919091529015157f01000000000000000000000000000000000000000000000000000000000000000260bc82015260bd016040519081900390209a9950505050505050505050565b60009081526005602052604090206008015460ff1690565b6000838383604051808481526020018381526020018281526020019350505050604051809103902090509392505050565b6000806064851115801561143e5750600085115b151561144957600080fd5b6064841115801561145a5750600084115b151561146557600080fd5b6114708585856113f9565b90506060604051908101604090815286825260208083018790528183018690526000848152600490915220815181556020820151816001015560408201516002909101555090509392505050565b60008060008060006114ce61247d565b60008781526005602052604081206008015481908190819081908c9060ff1615156114f857600080fd5b60008d81526005602052604090206001810154909b5061152090600160a060020a0316611c23565b60008181526003602052604080822054929c50600160a060020a03909216916318160ddd919051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561157957600080fd5b6102c65a03f1151561158a57600080fd5b505050604051805160048d810154600090815260209190915260409081902054919b509099508c9150610160905190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a082015260088083015460ff808216151560c08501526101008083048216151560e08601526201000090920481161515828501526009850154610120850152600a90940154610140840152908e0154919950900416801561166757508a600901544310155b1561181d5760048b8101546000908152602091909152604090206001015460058c015490965086908a9081151561169a57fe5b041061181d57600192505b60028b015483116116ed57600083815260068c016020526040902054859011156116e257600083815260068c016020526040902054945091925082915b6001909201916116a5565b60008d81526005602081905260408083208054600160a060020a03199081168255600182018054821690556002820185905560038201805490911690556004810184905591820183905560088201805462ffffff1916905560098201839055600a909101919091558d907f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc9086905190815260200160405180910390a28660600151600160a060020a031663310ce4e28e89602001518760006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b15156117f857600080fd5b6102c65a03f1151561180957600080fd5b505050604051805190505060019b50611966565b600091505b60028b0154821161196157600082815260068c0160205260409020546064898b02049011156119565760008d81526005602081905260408083208054600160a060020a03199081168255600182018054821690556002820185905560038201805490911690556004810184905591820183905560088201805462ffffff1916905560098201839055600a909101919091558d907f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc9085905190815260200160405180910390a28660600151600160a060020a031663310ce4e28e89602001518560006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b15156117f857600080fd5b600190910190611822565b60009b505b5050505050505050505050919050565b600080805b84518110156119b5578385828151811061199157fe5b9060200190602002015114156119ad57600181925092506119b5565b60010161197b565b509250929050565b60005433600160a060020a039081169116146119d857600080fd5b600160a060020a03811615156119ed57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60015481565b600080611a5c612439565b600085815260056020526040902060080154610100900460ff1615611a8057611c1c565b600085815260056020526040902060010154600160a060020a03169250821515611aa957600080fd5b611ab283611c23565b60008181526003602052604090819020919350610100905190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460a0820152600682015460c0820190815260079092015460ff16151560e08201529150518411611b3c57fe5b8060200151600160a060020a03166323b872dd3383604001518760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611bae57600080fd5b6102c65a03f11515611bbf57600080fd5b505050604051805150506000858152600560205260409020600a0154611beb908563ffffffff611d0416565b6000868152600560205260409020600a8101919091556008015462010000900460ff1615611c1c57611c1c85612190565b5050505050565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611c6b57600080fd5b6102c65a03f11515611c7c57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515611ce457600080fd5b6102c65a03f11515611cf557600080fd5b50505060405180519392505050565b600082820183811015610e4657fe5b8154600090829011611d2157fe5b50805b825460001901811015611d70578281600101815481101515611d4257fe5b9060005260206000209001548382815481101515611d5c57fe5b600091825260209091200155600101611d24565b8254611d808460001983016124f4565b50505050565b6000806000611d93612439565b6000888152600560205260408120600181015490945081908190611dbf90600160a060020a0316611c23565b60008181526003602052604090819020919650610100905190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460a0820152600682015460c082015260079091015460ff908116151560e08301526008880154919550610100909104168015611e5d575085600901544310155b15611e7257611e6b8b6114be565b965061204b565b60028601548a1115611e8357600080fd5b8351600160a060020a031663db89c0448a60006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611edb57600080fd5b6102c65a03f11515611eec57600080fd5b505050604051805193508892505081831015611f0757600080fd5b811515611f12578291505b600160a060020a038916600090815260078701602052604090206001015415611f3f57611f3f8b8a612084565b60008a8152600687016020526040902054611f6190839063ffffffff611d0416565b60008b81526006880160205260409020556005860154611f8890839063ffffffff611d0416565b60058701556040805190810160409081528b82526020808301859052600160a060020a038c16600090815260078a0190915220815181556020820151816001015590505033600160a060020a031689600160a060020a0316141515611feb575060015b600160a060020a0389168b7f98919cf2e7177b2b2794b7596166eb688e15f8422b46387aab412d792035c0128c8685604051928352602083019190915215156040808301919091526060909101905180910390a36120488b6114be565b96505b505050505050949350505050565b60008083151561206c576000915061081f565b5082820282848281151561207c57fe5b0414610e4657fe5b600061208e612422565b6000848152600560209081526040808320600160a060020a038716845260078101909252918290209093509080519081016040528154815260019091015460208201908152909150612100905160068401600084518152602001908152602001600020546123ea90919063ffffffff16565b6006830160008351815260200190815260200160002081905550612133816020015160058401549063ffffffff6123ea16565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907f694e00fc5266ab4e93df364ff0161f5d7e3a035126b13d918755bfed6d8ab299905160405180910390a350505050565b60008061219b612439565b600084815260056020526040812060010154600160a060020a031693508080808615156121c757600080fd5b6121d087611c23565b60008181526003602052604090819020919750610100905190810160409081528254600160a060020a03908116835260018401548116602080850191909152600280860154831684860152600386015460608601526004860154608086015260058087015460a0870152600687015460c087015260079096015460ff908116151560e0870152928d1660009081529082528381208e8252959091529190912060080154919750919550620100009004161561228a576123e0565b846060015160028581015491029350839010156122e957600284018054600181016122b583826124f4565b5060009182526020808320919091018a90558982526005905260409020600801805462ff00001916620100001790556123e0565b6123458460020180548060200260200160405190810160405280929190818152602001828054801561233b57602002820191906000526020600020905b81548152600190910190602001808311612326575b505050505061075c565b90925090508161235489610d78565b11156123e057600060056000866002018581548110151561237157fe5b600091825260208083209091015483528281019390935260409182018120600890810180549515156201000090810262ff000019978816179091558d83526005909452919020018054909216179055600284018054899190849081106123d357fe5b6000918252602090912001555b5050505050505050565b6000828211156123f657fe5b50900390565b604080519081016040526002815b600081526020019060019003908161240a5790505090565b604080519081016040526000808252602082015290565b6101006040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e082015290565b6101606040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101008201819052610120820181905261014082015290565b6101a060405190810160405260008152600c6020820161240a565b8154818355818115116125185760008381526020902061251891810190830161251d565b505050565b61253b91905b808211156125375760008155600101612523565b5090565b905600a165627a7a72305820863c6e568e4f980f3921b8df3d6b2dd0d1ac9dd4758cdae54b0e86a3e0476b0c0029",
  "deployedBytecode": "0x6060604052600436106101665763ffffffff60e060020a600035041663069af5ee811461016b5780630a6c81a6146101d6578063119ce91b1461023d57806319bbc495146102975780631fa085ea146102b85780632ac2af531461030757806332ed5b121461031d578063339e23d1146103a157806337376ca8146103da5780633741e7ee146103f057806347686c8914610418578063504c9317146104545780635a1f74061461048e57806379a1c1f6146104c757806388737b5e146104f85780638d22651e146105235780638da5cb5b146105365780639525c0cc146105655780639ef1204c1461057b578063a003651d14610594578063ac5d8745146105aa578063aff6058a146105c9578063c083510614610605578063dc2689551461061b578063dcec6c3414610637578063e751f27114610653578063ec44deaf14610669578063f2fde38b146106ba578063f98e87ba146106d9578063fcbb9cc7146106ec575b600080fd5b341561017657600080fd5b610181600435610705565b604051600160a060020a0398891681529688166020880152949096166040808701919091526060860193909352608085019190915260a084015260c0830193909352151560e082015261010001905180910390f35b34156101e157600080fd5b610225600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061075c95505050505050565b60405191825260208201526040908101905180910390f35b341561024857600080fd5b61025f600435600160a060020a03602435166107b2565b6040518082604080838360005b8381101561028457808201518382015260200161026c565b5050505090500191505060405180910390f35b34156102a257600080fd5b6102b6600160a060020a0360043516610826565b005b34156102c357600080fd5b6102256004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610a0395505050505050565b341561031257600080fd5b6102b6600435610a44565b341561032857600080fd5b610333600435610a64565b604051600160a060020a039b8c168152998b1660208b01526040808b0199909952969099166060890152608088019490945260a0870192909252151560c0860152151560e0850152151561010084015261012083019390935261014082019290925261016001905180910390f35b34156103ac57600080fd5b6103c6600435602435600160a060020a0360443516610ad3565b604051901515815260200160405180910390f35b34156103e557600080fd5b6103c6600435610b81565b34156103fb57600080fd5b610406600435610d78565b60405190815260200160405180910390f35b341561042357600080fd5b610406600160a060020a036004358116906024358116906044351660643560843560a43560c43560e4351515610e4d565b341561045f57600080fd5b61046a600435610f7a565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561049957600080fd5b6104ad600160a060020a0360043516610f9b565b604051911515825260208201526040908101905180910390f35b34156104d257600080fd5b6104dd600435610fba565b60405180826101a0808383600081518382015260200161026c565b341561050357600080fd5b610406600435602435600160a060020a0360443581169060643516611044565b341561052e57600080fd5b610406611279565b341561054157600080fd5b61054961127e565b604051600160a060020a03909116815260200160405180910390f35b341561057057600080fd5b6102b660043561128d565b341561058657600080fd5b6103c66004356024356112bd565b341561059f57600080fd5b6104066004356112f4565b34156105b557600080fd5b6103c6600435602435604435606435611309565b34156105d457600080fd5b610406600160a060020a036004358116906024358116906044351660643560843560a43560c43560e4351515611341565b341561061057600080fd5b6103c66004356113e1565b341561062657600080fd5b6104066004356024356044356113f9565b341561064257600080fd5b61040660043560243560443561142a565b341561065e57600080fd5b6103c66004356114be565b341561067457600080fd5b6104ad6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650509335935061197692505050565b34156106c557600080fd5b6102b6600160a060020a03600435166119bd565b34156106e457600080fd5b610406611a4b565b34156106f757600080fd5b6102b6600435602435611a51565b600360208190526000918252604090912080546001820154600283015493830154600484015460058501546006860154600790960154600160a060020a039586169794861696959094169492939192909160ff1688565b600080805b83518110156107ac578161078985838151811061077a57fe5b90602001906020020151610d78565b10156107a4578092506107a184828151811061077a57fe5b91505b600101610761565b50915091565b6107ba6123fc565b6107c2612422565b6000848152600560209081526040808320600160a060020a03871684526007019091529081902090805190810160409081528254825260019092015460208201529150805190810160405280825181526020018260200151905291505b5092915050565b6000610830612439565b6000808080600160a060020a038716151561084a57600080fd5b61085387611c23565b60008181526003602052604090819020919750610100905190810160409081528254600160a060020a0390811683526001840154811660208085019190915260028086015483168486015260038601546060860190815260048701546080870152600587015460a0870152600687015460c087015260079096015460ff16151560e0860152918c166000908152919052209096509450516001850154106108f9576109fa565b60028401541515610909576109fa565b600180850180549091019055600284018054610972919060208082020160405190810160405280929190818152602001828054801561096857602002820191906000526020600020905b81548152600190910190602001808311610953575b5050505050610a03565b508093505060056000856002018581548110151561098c57fe5b60009182526020808320909101548352828101939093526040918201812060088101805462ff00001961ff0019909116610100171690556004808201548352909352206002015490925090506109e8438263ffffffff611d0416565b60098301556109fa6002850184611d13565b50505050505050565b600080805b83518110156107ac5781610a2185838151811061077a57fe5b1115610a3c57809250610a3984828151811061077a57fe5b91505b600101610a08565b60005433600160a060020a03908116911614610a5f57600080fd5b600155565b6005602081905260009182526040909120805460018201546002830154600384015460048501549585015460088601546009870154600a90970154600160a060020a03968716989587169794969093169493919260ff808316936101008404821693620100009004909116918b565b6000838152600560205260408120548190859033600160a060020a03908116911614610afe57600080fd5b600086815260056020526040902060080154869060ff161515610b2057600080fd5b600087815260056020526040902060010154610b4490600160a060020a0316611c23565b60008181526003602052604090206007015490935060ff161515610b6757610b77565b610b748787876000611d86565b93505b5050509392505050565b6000818152600560205260408120548190819081908190869033600160a060020a03908116911614610bb257600080fd5b600087815260056020526040902060080154879060ff161515610bd457600080fd5b600088815260056020526040902060010154600160a060020a03169550610bfa86611c23565b60008181526003602052604090206007015490955060ff161515610c215760009650610d6d565b610ca26002600088600160a060020a0316600160a060020a03168152602001908152602001600020600201805480602002602001604051908101604052809291908181526020018280548015610c9757602002820191906000526020600020905b81548152600190910190602001808311610c82575b505050505089611976565b90945092508315610cd357600160a060020a0386166000908152600260208190526040909120610cd3910184611d13565b60008881526005602081905260408083208054600160a060020a03199081168255600182018054821690556002820185905560038201805490911690556004810184905591820183905560088201805462ffffff1916905560098201839055600a9091019190915588907fd06f0966987a6526e0c1291838668e5dbcaf062ae68baadf345ff3edd792e8b5905160405180910390a2600196505b505050505050919050565b6000610d8261247d565b6000838152600560205260409081902090610160905190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a08201908152600883015460ff808216151560c08501526101008083048216151560e086015262010000909204161515908301526009830154610120830152600a909201546101408201529150610e4690518261014001519063ffffffff61205916565b9392505050565b600080610e608a8a8a8a8a8a8a8a611341565b90506101006040519081016040908152600160a060020a03808d1683528b8116602080850191909152908b1682840152606083018a90526080830189905260a0830188905260c0830187905285151560e0840152600084815260039091522081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a03929092169190911790556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e0820151600791909101805460ff1916911515919091179055509998505050505050505050565b60046020526000908152604090208054600182015460029092015490919083565b6002602052600090815260409020805460019091015460ff9091169082565b610fc26124d9565b600080610fcd6124d9565b6000858152600560205260408120600881015490945060ff16610ff1576000610ff4565b60015b60ff1692508282600c60200201525060005b6002840154811161103b5760008181526006850160205260409020548282600d811061102e57fe5b6020020152600101611006565b50949350505050565b60008061104f61247d565b6000871180156110605750600a8711155b151561106b57600080fd5b600160a060020a03851660009081526002602052604090205460ff16151561109257600080fd5b60008681526004602052604090205415156110ac57600080fd5b30600654604051600160a060020a03929092166c0100000000000000000000000002825260148201526034016040519081900390206006805460019081019091556080830188905260408084018a9052600160a060020a03808916602080870191909152888216606087015233909116855260c0850192909252600083815260059092529020909250819081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a0392909216919091179055604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c082015160088201805460ff191691151591909117905560e082015160088201805461ff0019166101009215158302179055820151600882018054911515620100000262ff0000199092169190911790556101208201518160090155610140820151600a9091015550817f5ac801aedcab27182da435c3657c99a0ca1942beac48b9ae9a9a3f3033ef78dd3388604051600160a060020a03909216825260208201526040908101905180910390a25095945050505050565b600a81565b600054600160a060020a031681565b600081815260056020526040902060080154819060ff1615156112af57600080fd5b6112b98233612084565b5050565b600082815260056020526040812060080154839060ff1615156112df57600080fd5b6112ec8484336000611d86565b949350505050565b60009081526005602052604090206002015490565b600084815260056020526040812060080154859060ff16151561132b57600080fd5b61133786863387611d86565b9695505050505050565b6000808989898989898989604051600160a060020a039889166c01000000000000000000000000908102825297891688026014820152959097169095026028850152603c840192909252605c830152607c820152609c8101919091529015157f01000000000000000000000000000000000000000000000000000000000000000260bc82015260bd016040519081900390209a9950505050505050505050565b60009081526005602052604090206008015460ff1690565b6000838383604051808481526020018381526020018281526020019350505050604051809103902090509392505050565b6000806064851115801561143e5750600085115b151561144957600080fd5b6064841115801561145a5750600084115b151561146557600080fd5b6114708585856113f9565b90506060604051908101604090815286825260208083018790528183018690526000848152600490915220815181556020820151816001015560408201516002909101555090509392505050565b60008060008060006114ce61247d565b60008781526005602052604081206008015481908190819081908c9060ff1615156114f857600080fd5b60008d81526005602052604090206001810154909b5061152090600160a060020a0316611c23565b60008181526003602052604080822054929c50600160a060020a03909216916318160ddd919051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561157957600080fd5b6102c65a03f1151561158a57600080fd5b505050604051805160048d810154600090815260209190915260409081902054919b509099508c9150610160905190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a082015260088083015460ff808216151560c08501526101008083048216151560e08601526201000090920481161515828501526009850154610120850152600a90940154610140840152908e0154919950900416801561166757508a600901544310155b1561181d5760048b8101546000908152602091909152604090206001015460058c015490965086908a9081151561169a57fe5b041061181d57600192505b60028b015483116116ed57600083815260068c016020526040902054859011156116e257600083815260068c016020526040902054945091925082915b6001909201916116a5565b60008d81526005602081905260408083208054600160a060020a03199081168255600182018054821690556002820185905560038201805490911690556004810184905591820183905560088201805462ffffff1916905560098201839055600a909101919091558d907f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc9086905190815260200160405180910390a28660600151600160a060020a031663310ce4e28e89602001518760006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b15156117f857600080fd5b6102c65a03f1151561180957600080fd5b505050604051805190505060019b50611966565b600091505b60028b0154821161196157600082815260068c0160205260409020546064898b02049011156119565760008d81526005602081905260408083208054600160a060020a03199081168255600182018054821690556002820185905560038201805490911690556004810184905591820183905560088201805462ffffff1916905560098201839055600a909101919091558d907f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc9085905190815260200160405180910390a28660600151600160a060020a031663310ce4e28e89602001518560006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b15156117f857600080fd5b600190910190611822565b60009b505b5050505050505050505050919050565b600080805b84518110156119b5578385828151811061199157fe5b9060200190602002015114156119ad57600181925092506119b5565b60010161197b565b509250929050565b60005433600160a060020a039081169116146119d857600080fd5b600160a060020a03811615156119ed57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60015481565b600080611a5c612439565b600085815260056020526040902060080154610100900460ff1615611a8057611c1c565b600085815260056020526040902060010154600160a060020a03169250821515611aa957600080fd5b611ab283611c23565b60008181526003602052604090819020919350610100905190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460a0820152600682015460c0820190815260079092015460ff16151560e08201529150518411611b3c57fe5b8060200151600160a060020a03166323b872dd3383604001518760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611bae57600080fd5b6102c65a03f11515611bbf57600080fd5b505050604051805150506000858152600560205260409020600a0154611beb908563ffffffff611d0416565b6000868152600560205260409020600a8101919091556008015462010000900460ff1615611c1c57611c1c85612190565b5050505050565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611c6b57600080fd5b6102c65a03f11515611c7c57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515611ce457600080fd5b6102c65a03f11515611cf557600080fd5b50505060405180519392505050565b600082820183811015610e4657fe5b8154600090829011611d2157fe5b50805b825460001901811015611d70578281600101815481101515611d4257fe5b9060005260206000209001548382815481101515611d5c57fe5b600091825260209091200155600101611d24565b8254611d808460001983016124f4565b50505050565b6000806000611d93612439565b6000888152600560205260408120600181015490945081908190611dbf90600160a060020a0316611c23565b60008181526003602052604090819020919650610100905190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460a0820152600682015460c082015260079091015460ff908116151560e08301526008880154919550610100909104168015611e5d575085600901544310155b15611e7257611e6b8b6114be565b965061204b565b60028601548a1115611e8357600080fd5b8351600160a060020a031663db89c0448a60006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611edb57600080fd5b6102c65a03f11515611eec57600080fd5b505050604051805193508892505081831015611f0757600080fd5b811515611f12578291505b600160a060020a038916600090815260078701602052604090206001015415611f3f57611f3f8b8a612084565b60008a8152600687016020526040902054611f6190839063ffffffff611d0416565b60008b81526006880160205260409020556005860154611f8890839063ffffffff611d0416565b60058701556040805190810160409081528b82526020808301859052600160a060020a038c16600090815260078a0190915220815181556020820151816001015590505033600160a060020a031689600160a060020a0316141515611feb575060015b600160a060020a0389168b7f98919cf2e7177b2b2794b7596166eb688e15f8422b46387aab412d792035c0128c8685604051928352602083019190915215156040808301919091526060909101905180910390a36120488b6114be565b96505b505050505050949350505050565b60008083151561206c576000915061081f565b5082820282848281151561207c57fe5b0414610e4657fe5b600061208e612422565b6000848152600560209081526040808320600160a060020a038716845260078101909252918290209093509080519081016040528154815260019091015460208201908152909150612100905160068401600084518152602001908152602001600020546123ea90919063ffffffff16565b6006830160008351815260200190815260200160002081905550612133816020015160058401549063ffffffff6123ea16565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907f694e00fc5266ab4e93df364ff0161f5d7e3a035126b13d918755bfed6d8ab299905160405180910390a350505050565b60008061219b612439565b600084815260056020526040812060010154600160a060020a031693508080808615156121c757600080fd5b6121d087611c23565b60008181526003602052604090819020919750610100905190810160409081528254600160a060020a03908116835260018401548116602080850191909152600280860154831684860152600386015460608601526004860154608086015260058087015460a0870152600687015460c087015260079096015460ff908116151560e0870152928d1660009081529082528381208e8252959091529190912060080154919750919550620100009004161561228a576123e0565b846060015160028581015491029350839010156122e957600284018054600181016122b583826124f4565b5060009182526020808320919091018a90558982526005905260409020600801805462ff00001916620100001790556123e0565b6123458460020180548060200260200160405190810160405280929190818152602001828054801561233b57602002820191906000526020600020905b81548152600190910190602001808311612326575b505050505061075c565b90925090508161235489610d78565b11156123e057600060056000866002018581548110151561237157fe5b600091825260208083209091015483528281019390935260409182018120600890810180549515156201000090810262ff000019978816179091558d83526005909452919020018054909216179055600284018054899190849081106123d357fe5b6000918252602090912001555b5050505050505050565b6000828211156123f657fe5b50900390565b604080519081016040526002815b600081526020019060019003908161240a5790505090565b604080519081016040526000808252602082015290565b6101006040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e082015290565b6101606040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101008201819052610120820181905261014082015290565b6101a060405190810160405260008152600c6020820161240a565b8154818355818115116125185760008381526020902061251891810190830161251d565b505050565b61253b91905b808211156125375760008155600101612523565b5090565b905600a165627a7a72305820863c6e568e4f980f3921b8df3d6b2dd0d1ac9dd4758cdae54b0e86a3e0476b0c0029",
  "sourceMap": "173:24748:2:-;;;3888:39;;;;;;;;501:5:33;:18;;-1:-1:-1;;;;;509:10:33;501:18;-1:-1:-1;;;;;;501:18:33;;;;;;173:24748:2;;;;;;",
  "deployedSourceMap": "173:24748:2:-;;;;;;;;;-1:-1:-1;;;173:24748:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:62;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3064:62:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10318:315;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10318:315:2;;-1:-1:-1;10318:315:2;;-1:-1:-1;;;;;;10318:315:2;;;;;;;;;;;;;;;;;;;;;;18700:210;;;;;;;;;;;;-1:-1:-1;;;;;18700:210:2;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;13262:1219:2;;;;;;;;;;-1:-1:-1;;;;;13262:1219:2;;;;;;;10922:315;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10922:315:2;;-1:-1:-1;10922:315:2;;-1:-1:-1;;;;;;10922:315:2;455:157:25;;;;;;;;;;;;;;3241:43:2;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3241:43:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15255:400;;;;;;;;;;;;;;-1:-1:-1;;;;;15255:400:2;;;;;;;;;;;;;;;;;;;;;;8807:773;;;;;;;;;;;;;;9823:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4030:1058;;;;;;;;;;-1:-1:-1;;;;;4030:1058:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3132:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3007:51;;;;;;;;;;-1:-1:-1;;;;;3007:51:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;19246:426;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;19246:426:2;84:5:-1;71:3;;;64:6;52:2;45:3;8:100;;7534:1031:2;;;;;;;;;;;;;;-1:-1:-1;;;;;7534:1031:2;;;;;;;;;;3354:44;;;;;;;;;;;;238:20:33;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:33;;;;;;;;;;;;;;15864:129:2;;;;;;;;;;;;;;14624:160;;;;;;;;;;;;;;;;18189:140;;;;;;;;;;;;;;14790:200;;;;;;;;;;;;;;;;;;;;5094:633;;;;;;;;;;-1:-1:-1;;;;;5094:633:2;;;;;;;;;;;;;;;;;;;;;;;;;;;19825:123;;;;;;;;;;;;;;6779:184;;;;;;;;;;;;;;;;;;6166:527;;;;;;;;;;;;;;;;;;16343:1840;;;;;;;;;;;;;;11547:266;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11547:266:2;;-1:-1:-1;;11547:266:2;;;-1:-1:-1;11547:266:2;;-1:-1:-1;;;11547:266:2;834:169:33;;;;;;;;;;-1:-1:-1;;;;;834:169:33;;;;;345:31:25;;;;;;;;;;;;12046:1047:2;;;;;;;;;;;;;;;;3064:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3064:62:2;;;;;;;;;;;;;;;;;;;;;;:::o;10318:315::-;10385:10;;;10417:210;10440:9;:16;10436:3;:20;10417:210;;;10515:3;10483:29;10497:9;10507:3;10497:14;;;;;;;;;;;;;;;;10483:13;:29::i;:::-;:35;10479:138;;;10546:3;10538:11;;10573:29;10587:9;10597:3;10587:14;;;;;;;10573:29;10567:35;;10479:138;10458:5;;10417:210;;;10318:315;;;;:::o;18700:210::-;18779:7;;:::i;:::-;18798:18;;:::i;:::-;18819:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;18819:37:2;;;;:29;;:37;;;;;;;;:22;18798:58;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18798:58:2;18866:37;;;;;;;18874:5;:10;18866:37;;;;18886:5;:16;;;18866:37;;;-1:-1:-1;18700:210:2;;;;;;:::o;13262:1219::-;13439:21;13517:30;;:::i;:::-;13598:24;;;;-1:-1:-1;;;;;13383:21:2;;;;13375:30;;;;;;13463:44;13498:7;13463:27;:44::i;:::-;13550:38;;;;:23;:38;;;;;;;13439:68;;-1:-1:-1;13517:71:2;;;;;;;;;;;;-1:-1:-1;;;;;13517:71:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13625:22;;;13517:71;13625:22;;;;;;;13517:71;;-1:-1:-1;13625:22:2;-1:-1:-1;13727:28:2;13703:20;;;;:52;13699:89;;13771:7;;13699:89;13847:26;;;:33;:38;13843:75;;;13901:7;;13843:75;13964:20;;;;:22;;;;;;;14047:26;;;14034:40;;;;14047:26;14034:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;:40::i;:::-;14019:55;;;;;14112:9;:47;14122:3;:26;;14149:8;14122:36;;;;;;;;;;;;;;;;;;;;;;14112:47;;;;;;;;;;;;;;;14169:26;;;:33;;-1:-1:-1;;;;14169:33:2;;;;;14212:32;;;14271:19;14291;;;;14271:40;;;;;;14212:24;14271:55;;14112:47;;-1:-1:-1;14271:55:2;-1:-1:-1;14359:27:2;:12;14271:55;14359:27;:16;:27;:::i;:::-;14336:20;;;:50;14421:53;14437:26;;;14465:8;14421:15;:53::i;:::-;13262:1219;;;;;;;:::o;10922:315::-;10989:10;;;11021:210;11044:9;:16;11040:3;:20;11021:210;;;11119:3;11087:29;11101:9;11111:3;11101:14;;;;;;;11087:29;:35;11083:138;;;11150:3;11142:11;;11177:29;11191:9;11201:3;11191:14;;;;;;;11177:29;11171:35;;11083:138;11062:5;;11021:210;;455:157:25;654:5:33;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;569:16:25;:36;455:157::o;3241:43:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3241:43:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15255:400::-;15390:4;3634:22;;;:9;:22;;;;;:28;15390:4;;15348:11;;3620:10;-1:-1:-1;;;;;3620:42:2;;;3634:28;;3620:42;3612:51;;;;;;3834:22;;;;:9;:22;;;;;:29;;;15369:11;;3834:29;;3826:38;;;;;;;;15462:22;;;;:9;:22;;;;;:29;;;15427:66;;-1:-1:-1;;;;;15462:29:2;15427:27;:66::i;:::-;15509:35;;;;:23;:35;;;;;:46;;;15406:87;;-1:-1:-1;15509:46:2;;15507:48;15503:85;;;15571:7;;15503:85;15605:43;15618:11;15631:5;15638:6;15646:1;15605:12;:43::i;:::-;15598:50;;3874:1;3673;15255:400;;;;;;;:::o;8807:773::-;8919:4;3634:22;;;:9;:22;;;;;:28;8919:4;;;;;;;;8877:11;;3620:10;-1:-1:-1;;;;;3620:42:2;;;3634:28;;3620:42;3612:51;;;;;;3834:22;;;;:9;:22;;;;;:29;;;8898:11;;3834:29;;3826:38;;;;;;;;8952:22;;;;:9;:22;;;;;:29;;;-1:-1:-1;;;;;8952:29:2;;-1:-1:-1;9012:43:2;8952:29;9012:27;:43::i;:::-;9071:35;;;;:23;:35;;;;;:46;;;8991:64;;-1:-1:-1;9071:46:2;;9069:48;9065:91;;;9140:5;9133:12;;;;9065:91;9287:70;9299:13;:21;9313:6;-1:-1:-1;;;;;9299:21:2;-1:-1:-1;;;;;9299:21:2;;;;;;;;;;;;:44;;9287:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9345:11;9287;:70::i;:::-;9268:89;;-1:-1:-1;9268:89:2;-1:-1:-1;9367:106:2;;;;-1:-1:-1;;;;;9410:21:2;;;;;;:13;:21;;;;;;;;9394:68;;9410:44;9456:5;9394:15;:68::i;:::-;9490:22;;;;:9;:22;;;;;;;;9483:29;;-1:-1:-1;;;;;;9483:29:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9483:29:2;;;;;;;;;;;;;;;;;9500:11;;9522:30;;;;;;;;;;9569:4;9562:11;;3874:1;3673;8807:773;;;;;;;;:::o;9823:205::-;9891:4;9907:24;;:::i;:::-;9934:22;;;;:9;:22;;;;;;;;9907:49;;;;;;;;;;;;-1:-1:-1;;;;;9907:49:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9974:46:2;;10000:19;9974:8;:21;;;:25;:46;:25;:46;:::i;:::-;9966:55;9823:205;-1:-1:-1;;;9823:205:2:o;4030:1058::-;4330:7;4353:18;4374:257;4408:17;4439:11;4464:12;4490:19;4523:18;4555;4587:9;4610:11;4374:20;:257::i;:::-;4353:278;;4679:375;;;;;;;;;;-1:-1:-1;;;;;4679:375:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4641:35:2;;;:23;:35;;;;4679:375;4641:413;;;-1:-1:-1;;;;;;4641:413:2;-1:-1:-1;;;;;4641:413:2;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4641:413:2;-1:-1:-1;;;;;4641:413:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4641:413:2;-1:-1:-1;;;;;4641:413:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4641:413:2;;;;;;;;;;-1:-1:-1;5071:10:2;4030:1058;-1:-1:-1;;;;;;;;;4030:1058:2:o;3132:63::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3007:51::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;19246:426::-;19315:8;;:::i;:::-;19335:25;19395:11;19442:29;;:::i;:::-;19522:8;19363:22;;;:9;:22;;;;;19409:15;;;;19363:22;;-1:-1:-1;19409:15:2;;:23;;19431:1;19409:23;;;19427:1;19409:23;19395:37;;;-1:-1:-1;19395:37:2;19481:13;19495:2;19481:17;;;:26;-1:-1:-1;19533:1:2;19517:119;19541:21;;;;19536:26;;19517:119;;19606:19;;;;:14;;;:19;;;;;;19585:13;19621:3;19585:18;;;;;;;;;;:40;19564:5;;19517:119;;;-1:-1:-1;19652:13:2;19246:426;-1:-1:-1;;;;19246:426:2:o;7534:1031::-;7695:7;8056:18;8167:24;;:::i;:::-;7784:1;7768:13;:17;:56;;;;;3396:2;7789:13;:35;;7768:56;7760:65;;;;;;;;-1:-1:-1;;;;;7880:22:2;;;;;;:13;:22;;;;;:35;;;7872:44;;;;;;;;7966:32;;;;:19;:32;;;;;:40;:45;;7958:54;;;;;;8087:4;8093:12;;8077:29;;-1:-1:-1;;;;;8077:29:2;;;;;;;;;;;;;;;;;;;;;;8116:12;:14;;;;;;;;;8201:19;;;:33;;;8244:21;;;;:37;;;-1:-1:-1;;;;;8291:25:2;;;:15;;;;:25;;;;8326:33;;;-1:-1:-1;8326:19:2;;:33;8386:10;8369:27;;;;;8406:15;;;:22;;;;8116:12;8438:21;;;:9;:21;;;;;8077:29;;-1:-1:-1;8201:8:2;;;8438:32;;;-1:-1:-1;;;;;;8438:32:2;-1:-1:-1;;;;;8438:32:2;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8438:32:2;-1:-1:-1;;;;;8438:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8438:32:2;-1:-1:-1;;;;;8438:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8438:32:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8438:32:2;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8438:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8495:10:2;8480:51;8507:10;8519:11;8480:51;;-1:-1:-1;;;;;8480:51:2;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8548:10:2;7534:1031;-1:-1:-1;;;;;7534:1031:2:o;3354:44::-;3396:2;3354:44;:::o;238:20:33:-;;;-1:-1:-1;;;;;238:20:33;;:::o;15864:129:2:-;3834:22;;;;:9;:22;;;;;:29;;;15920:11;;3834:29;;3826:38;;;;;;;;15943:43;15962:11;15975:10;15943:18;:43::i;:::-;15864:129;;:::o;14624:160::-;14707:4;3834:22;;;:9;:22;;;;;:29;;;14686:11;;3834:29;;3826:38;;;;;;;;14730:47;14743:11;14756:5;14763:10;14775:1;14730:12;:47::i;:::-;14723:54;14624:160;-1:-1:-1;;;;14624:160:2:o;18189:140::-;18262:4;18286:22;;;:9;:22;;;;;:35;;;;18189:140::o;14790:200::-;14910:4;3834:22;;;:9;:22;;;;;:29;;;14889:11;;3834:29;;3826:38;;;;;;;;14933:50;14946:11;14959:5;14966:10;14978:4;14933:12;:50::i;:::-;14926:57;14790:200;-1:-1:-1;;;;;;14790:200:2:o;5094:633::-;5403:7;5426:18;5470:17;5501:11;5526:12;5552:19;5585:18;5617;5649:9;5672:11;5447:246;;-1:-1:-1;;;;;5447:246:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5094:633;-1:-1:-1;;;;;;;;;;5094:633:2:o;19825:123::-;19889:4;19912:22;;;:9;:22;;;;;:29;;;;;;19825:123::o;6779:184::-;6885:7;6921:8;6931:7;6940:15;6911:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6904:52;;6779:184;;;;;:::o;6166:527::-;6263:7;6380:24;6302:3;6290:8;:15;;:31;;;;;6320:1;6309:8;:12;6290:31;6282:40;;;;;;;;6351:3;6340:7;:14;;:29;;;;;6368:1;6358:7;:11;6340:29;6332:38;;;;;;;;6407:61;6433:8;6443:7;6452:15;6407:25;:61::i;:::-;6380:88;;6518:135;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6478:37:2;;;:19;:37;;;;6518:135;6478:175;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6670:16:2;-1:-1:-1;6166:527:2;;;;;:::o;16343:1840::-;16417:4;16433:25;16494:21;16580:20;16682:12;16755:27;;:::i;:::-;16925:11;3834:22;;;:9;:22;;;;;:29;;;16925:11;;;;;;;;16396;;3834:29;;3826:38;;;;;;;;16461:22;;;;:9;:22;;;;;16553:15;;;;16461:22;;-1:-1:-1;16518:52:2;;-1:-1:-1;;;;;16553:15:2;16518:27;:52::i;:::-;16603:38;;;;:23;:38;;;;;;:55;16494:76;;-1:-1:-1;;;;;;16603:55:2;;;;:67;;:38;:69;;;;;;;;;-1:-1:-1;;;16603:69:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16697:19;16717;;;;16697:40;;;;;;;;;;;;;;:48;16603:69;;-1:-1:-1;16697:48:2;;-1:-1:-1;16717:8:2;;-1:-1:-1;16755:38:2;;;;;;;;;;;;-1:-1:-1;;;;;16755:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16843:26;;;;16755:38;;-1:-1:-1;16843:26:2;;;:66;;;;;16889:8;:20;;;16873:12;:36;;16843:66;16839:885;;;16939:19;16959;;;;16939:40;;;;;;;;;;;;:47;;;17053:19;;;;16939:47;;-1:-1:-1;16939:47:2;;17073:15;;17053:35;;;;;;;;:45;17049:665;;17250:1;17239:12;;17234:237;17258:21;;;;17253:26;;17234:237;;17314:19;;;;:14;;;:19;;;;;;:25;;;17310:143;;;17373:19;;;;:14;;;:19;;;;;;;-1:-1:-1;17388:3:2;;-1:-1:-1;17388:3:2;;17310:143;17281:5;;;;;17234:237;;;17495:22;;;;:9;:22;;;;;;;;17488:29;;-1:-1:-1;;;;;;17488:29:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17488:29:2;;;;;;;;;;;;;;;;;17505:11;;17535:39;;17567:6;;17535:39;;;;;;;;;;;;;17593:11;:22;;;-1:-1:-1;;;;;17592:32:2;;17625:11;17638;:18;;;17662:6;17592:78;;;;;;;;-1:-1:-1;;;17592:78:2;;;;;;;;;;;;;-1:-1:-1;;;;;17592:78:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17695:4;17688:11;;;;17049:665;17796:1;17784:13;;17779:376;17805:21;;;;17799:27;;17779:376;;17854:20;;;;:14;;;:20;;;;;;17901:3;17877:23;;;:27;17854:50;;17850:295;;;17931:22;;;;:9;:22;;;;;;;;17924:29;;-1:-1:-1;;;;;;17924:29:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17924:29:2;;;;;;;;;;;;;;;;;17941:11;;17971:36;;18003:3;;17971:36;;;;;;;;;;;;;18026:11;:22;;;-1:-1:-1;;;;;18025:32:2;;18058:11;18071;:18;;;18095:4;18025:76;;;;;;;;-1:-1:-1;;;18025:76:2;;;;;;;;;;;;;-1:-1:-1;;;;;18025:76:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17850:295;17828:6;;;;;17779:376;;;18171:5;18164:12;;3874:1;16343:1840;;;;;;;;;;;;;;:::o;11547:266::-;11622:12;;;11658:149;11681:9;:16;11677:3;:20;11658:149;;;11742:3;11724:9;11734:3;11724:9;:14;;;;;;;;;;;;;;;:21;11720:77;;;11772:4;11778:3;11765:17;;;;;;11720:77;11699:5;;11658:149;;;11547:266;;;;;;:::o;834:169:33:-;654:5;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:33;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:33;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;;;;;982:16:33;-1:-1:-1;;;;;982:16:33;;;;;;;;;;834:169::o;345:31:25:-;;;;:::o;12046:1047:2:-;12314:14;12433:21;12510:30;;:::i;:::-;12186:22;;;;:9;:22;;;;;:40;;;;;;;;12182:77;;;12242:7;;12182:77;12331:22;;;;:9;:22;;;;;:29;;;-1:-1:-1;;;;;12331:29:2;;-1:-1:-1;12378:20:2;;;12370:29;;;;;;12457:43;12492:6;12457:27;:43::i;:::-;12543:38;;;;:23;:38;;;;;;;12433:67;;-1:-1:-1;12510:71:2;;;;;;;;;;;;-1:-1:-1;;;;;12510:71:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12677:18:2;12663:32;;12656:40;;;;12706:9;:20;;;-1:-1:-1;;;;;12706:33:2;;12740:10;12752:9;:21;;;12775:11;12706:81;;;;;;;;-1:-1:-1;;;12706:81:2;;;;;;-1:-1:-1;;;;;12706:81:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12857:22:2;;;;:9;:22;;;;;:35;;;:52;;12897:11;12857:52;:39;:52;:::i;:::-;12819:22;;;;:9;:22;;;;;:35;;;:90;;;;12984:38;;;;;;;;12980:107;;;13038:38;13064:11;13038:25;:38::i;:::-;12046:1047;;;;;:::o;707:191:25:-;786:7;832;-1:-1:-1;;;;;832:13:25;;:15;;;;;;;;;;;-1:-1:-1;;;832:15:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;812:56:25;;869:4;882:7;812:79;;;;;;;;-1:-1:-1;;;812:79:25;;;;;;-1:-1:-1;;;;;812:79:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;707:191;-1:-1:-1;;;707:191:25:o;698:129:31:-;756:7;783:5;;;801:6;;;;794:14;;;22498:276:2;22591:16;;22632:8;;22591:25;;;22584:33;;;;-1:-1:-1;22643:6:2;22627:113;22655:16;;-1:-1:-1;;22655:18:2;22651:22;;22627:113;;;22713:9;22723:3;22727:1;22723:5;22713:16;;;;;;;;;;;;;;;;;;;22696:9;22706:3;22696:14;;;;;;;;;;;;;;;;;;;:33;22675:5;;22627:113;;;22749:18;;;:9;-1:-1:-1;;22749:18:2;;;:::i;:::-;;22498:276;;;:::o;23225:1693::-;23323:4;23339:25;23399:18;23482:30;;:::i;:::-;23872:15;23367:22;;;:9;:22;;;;;23455:15;;;;23367:22;;-1:-1:-1;23872:15:2;;;;23420:52;;-1:-1:-1;;;;;23455:15:2;23420:27;:52::i;:::-;23515:35;;;;:23;:35;;;;;;;23399:73;;-1:-1:-1;23482:68:2;;;;;;;;;;;;-1:-1:-1;;;;;23482:68:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23617:26;;;;23482:68;;-1:-1:-1;23482:68:2;23617:26;;;;:66;;;;;23663:8;:20;;;23647:12;:36;;23617:66;23613:124;;;23706:20;23714:11;23706:7;:20::i;:::-;23699:27;;;;23613:124;23793:21;;;;23784:30;;;23776:39;;;;;;23890:9;:26;-1:-1:-1;;;;;23890:39:2;;23930:6;23890:47;;;;;;;;-1:-1:-1;;;23890:47:2;;;;;;-1:-1:-1;;;;;23890:47:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23958:4:2;;-1:-1:-1;;23980:18:2;;;;23972:27;;;;;;24013:8;;24009:55;;;24043:10;24037:16;;24009:55;-1:-1:-1;;;;;24145:23:2;;;;;;:15;;;:23;;;;;:34;;;:39;24141:109;;24200:39;24219:11;24232:6;24200:18;:39::i;:::-;24322:21;;;;:14;;;:21;;;;;;24314:30;;:3;;:30;:7;:30;:::i;:::-;24290:21;;;;:14;;;:21;;;;;:54;24384:19;;;;24376:28;;:3;;:28;:7;:28;:::i;:::-;24354:19;;;:50;24440:71;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24414:23:2;;-1:-1:-1;24414:23:2;;;:15;;;:23;;;;24440:71;24414:97;;;;;;;;;;;;;;24593:10;-1:-1:-1;;;;;24583:20:2;:6;-1:-1:-1;;;;;24583:20:2;;;24579:69;;;-1:-1:-1;24633:4:2;24579:69;-1:-1:-1;;;;;24676:138:2;;24705:11;24676:138;24750:5;24769:10;24793:11;24676:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24891:20;24899:11;24891:7;:20::i;:::-;24884:27;;23225:1693;;;;;;;;;;;;;:::o;138:173:31:-;196:7;;215:6;;211:35;;;238:1;231:8;;;;211:35;-1:-1:-1;263:5:31;;;267:1;263;:5;281;;;;;;;;:10;274:18;;;21871:447:2;21955:25;22015:18;;:::i;:::-;21983:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;22036:23:2;;;;:15;;;:23;;;;;;;21983:22;;-1:-1:-1;22036:23:2;21983:22;22015:44;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22099:50:2;;22132:16;22100:14;;;:26;22115:5;:10;22100:26;;;;;;;;;;;;22099:32;;:50;;;;:::i;:::-;22070:14;;;:26;22085:5;:10;22070:26;;;;;;;;;;;:79;;;;22181:43;22207:5;:16;;;22182:19;;;;;22181:43;:25;:43;:::i;:::-;22159:19;;;:65;-1:-1:-1;;;;;22242:23:2;;;;;;:15;;;:23;;;;;;22235:30;;;;;;;;;22291:11;;22275:36;;;;;;;;;;21871:447;;;;:::o;20228:1420::-;20349:14;20468:21;20545:30;;:::i;:::-;20626:24;20366:22;;;:9;:22;;;;;:29;;;-1:-1:-1;;;;;20366:29:2;;-1:-1:-1;20626:24:2;;;20413:20;;;20405:29;;;;;;20492:43;20527:6;20492:27;:43::i;:::-;20578:38;;;;:23;:38;;;;;;;20468:67;;-1:-1:-1;20545:71:2;;;;;;;;;;;;-1:-1:-1;;;;;20545:71:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20653:21;;;20545:71;20653:21;;;;;;;;;20738:22;;;;;;;;;;;:38;;;20545:71;;-1:-1:-1;20653:21:2;;-1:-1:-1;20738:38:2;;;;20734:75;;;20792:7;;20734:75;20951:9;:28;;;20949:1;20993:26;;;:33;20949:30;;;-1:-1:-1;20993:51:2;;;20989:205;;;21060:26;;;:44;;;;;;:26;:44;;:::i;:::-;-1:-1:-1;21060:44:2;;;;;;;;;;;;;;;21118:22;;;:9;:22;;;;;:38;;:45;;-1:-1:-1;;21118:45:2;;;;;21177:7;;20989:205;21330:40;21343:3;:26;;21330:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;:40::i;:::-;21307:63;;-1:-1:-1;21307:63:2;-1:-1:-1;21307:63:2;21384:26;21398:11;21384:13;:26::i;:::-;:37;21380:262;;;21503:5;21437:9;:47;21447:3;:26;;21474:8;21447:36;;;;;;;;;;;;;;;;;;;;;;21437:47;;;;;;;;;;;;;;;:63;;;;:71;;;;;;;;;-1:-1:-1;;21437:71:2;;;;;;;21522:22;;;:9;:22;;;;;;:38;:45;;;;;;;;21437:63;21581:26;;:36;;21532:11;;21581:26;21608:8;;21581:36;;;;;;;;;;;;;;;:50;21380:262;20228:1420;;;;;;;;:::o;584:110:31:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:31;;;584:110::o;173:24748:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"../controller/Reputation.sol\";\nimport \"./IntVoteInterface.sol\";\nimport \"../universalSchemes/UniversalScheme.sol\";\n\n\n// ToDo: Write tests!\n\ncontract EmergentVoteScheme is IntVoteInterface, UniversalScheme {\n    using SafeMath for uint;\n\n    struct Organization {\n        bool isRegistered;\n        uint boostedProposals; // Currently amount of boosted proposals\n        bytes32[] awaitingBoostProposals; // Array that contains a waiting list of proposals to be boosted\n    }\n\n    struct OrgParameters {\n        Reputation reputationSystem; // the reputation system that is being used\n        StandardToken boostToken; // The token that will be used in order to boost proposals\n        address beneficiary; // The tokens that has been spent for boosting proposals will be transfered to this address\n        uint attentionBandwidth; // Limit the amount of boosted proposals\n        uint minBoostTimeFrame; // The boost time can not be less than that time frame\n        uint maxBoostTimeFrame; // The boost time can not be more than that time frame\n        uint minBoost; // Minimum amount of token can be paid for boosting proposals\n        bool allowOwner; // does this proposal has a owner who has owner rights?\n    }\n\n    struct ProposalParameters {\n        uint precReq; // how many percentages are required for the porpsal to be passed\n        uint quorum; // Qurum that will be rellevant only if the proposal will get boosted\n        uint boostTimeFrame; // The time frame that the porpoal will be boosted\n    }\n\n    struct Voter {\n        uint vote; // 0 - 'abstain'\n        uint reputation; // amount of voter's reputation\n    }\n\n    struct Proposal {\n        address owner; // the proposal's owner\n        address avatar; // the avatar of the organization that owns the proposal\n        uint numOfChoices; // Number of choices in the proposal\n        ExecutableInterface executable; // will be executed if the perposal will pass\n        bytes32 paramsHash; // the hash of the parameters of the proposal\n        uint totalVotes; // Totals proposal's votes\n        mapping(uint=>uint) votes;\n        mapping(address=>Voter) voters;\n        bool opened; // voting opened flag\n        bool isBoostModeActive; // Is the proposal boosted?\n        bool isAwaitingBoost; // Is in the waiting list for being boosted\n        uint closingTime; // Will be setted only if the proposal is boosted, will determine the closing time of the proposal\n        uint boostedFunds; // amount of funds that has been invested in this proposal\n    }\n\n    event LogNewProposal(bytes32 indexed _proposalId, address _proposer, bytes32 _paramsHash);\n    event LogCancelProposal(bytes32 indexed _proposalId);\n    event LogExecuteProposal(bytes32 indexed _proposalId, uint _decision);\n    event LogVoteProposal(bytes32 indexed _proposalId, address indexed _voter, uint _vote, uint _reputation, bool _isOwnerVote);\n    event LogCancelVoting(bytes32 indexed _proposalId, address indexed _voter);\n\n    mapping(address=>Organization) public organizations;\n    mapping(bytes32=>OrgParameters) public organizationsParameters;\n    mapping(bytes32=>ProposalParameters) public proposalsParameters;  // A mapping from hashes to parameters\n    mapping(bytes32=>Proposal) public proposals; // Mapping from the ID of the proposal to the proposal itself.\n\n    uint constant public MAX_NUM_OF_CHOICES = 10;\n    uint proposalsCnt; // Total amount of proposals\n\n    /**\n    * @dev Check that there is owner for the proposal and he sent the transaction\n    */\n    modifier onlyProposalOwner(bytes32 _proposalId) {\n        require(msg.sender == proposals[_proposalId].owner);\n        _;\n    }\n\n    /**\n    * @dev Check that the proposal is votable (opened and not executed yet)\n    */\n    modifier votable(bytes32 _proposalId) {\n        require(proposals[_proposalId].opened);\n        _;\n    }\n\n    function EmergentVoteScheme() public {}\n\n    /**\n    * @dev hash the parameters, save them if necessary, and return the hash value\n    */\n    function setOrgParameters(\n        Reputation _reputationSystem,\n        StandardToken _boostToken,\n        address _beneficiary,\n        uint _attentionBandwidth,\n        uint _minBoostTimeFrame,\n        uint _maxBoostTimeFrame,\n        uint _minBoost,\n        bool _allowOwner\n    ) public returns(bytes32)\n    {\n        bytes32 paramsHash = getOrgParametersHash(\n            _reputationSystem,\n            _boostToken,\n            _beneficiary,\n            _attentionBandwidth,\n            _minBoostTimeFrame,\n            _maxBoostTimeFrame,\n            _minBoost,\n            _allowOwner\n        );\n        organizationsParameters[paramsHash] = OrgParameters({\n            reputationSystem: _reputationSystem,\n            boostToken: _boostToken,\n            beneficiary: _beneficiary,\n            attentionBandwidth: _attentionBandwidth,\n            minBoostTimeFrame: _minBoostTimeFrame,\n            maxBoostTimeFrame: _maxBoostTimeFrame,\n            minBoost: _minBoost,\n            allowOwner: _allowOwner\n        });\n        return paramsHash;\n    }\n\n    function getOrgParametersHash(\n        Reputation _reputationSystem,\n        StandardToken _boostToken,\n        address _beneficiary,\n        uint _attentionBandwidth,\n        uint _minBoostTimeFrame,\n        uint _maxBoostTimeFrame,\n        uint _minBoost,\n        bool _allowOwner\n    ) public pure returns(bytes32)\n    {\n        bytes32 paramsHash = keccak256(\n            _reputationSystem,\n            _boostToken,\n            _beneficiary,\n            _attentionBandwidth,\n            _minBoostTimeFrame,\n            _maxBoostTimeFrame,\n            _minBoost,\n            _allowOwner\n        );\n        return paramsHash;\n    }\n\n    /**\n    * @dev Set proposals parameters\n    * @param _precReq the percentage that are required for the proposal to be executed\n    * @param _quorum the 'quorum' percentages that are required for the winning choice (will be rellevant only if boosted)\n    * @param _boostTimeFrame the time frame of the proposal after being boosted, after the time passed, a decision will be made\n    * @return bytes32 the hashed parameters\n    */\n    function setProposalParameters(uint _precReq, uint _quorum, uint _boostTimeFrame) public returns(bytes32) {\n        require(_precReq <= 100 && _precReq > 0);\n        require(_quorum <= 100 && _quorum > 0);\n        bytes32 hashedParameters = getProposalParametersHash(_precReq, _quorum, _boostTimeFrame);\n        proposalsParameters[hashedParameters] = ProposalParameters({\n            precReq: _precReq,\n            quorum: _quorum,\n            boostTimeFrame: _boostTimeFrame\n        });\n        return hashedParameters;\n    }\n\n    /**\n    * @dev hashParameters returns a hash of the given parameters\n    */\n    function getProposalParametersHash(uint _precReq, uint _quorum, uint _boostTimeFrame) public pure returns(bytes32) {\n        return keccak256(_precReq, _quorum, _boostTimeFrame);\n    }\n\n    /**\n    * @dev register a new proposal with the given parameters. Every proposal has a unique ID which is being\n    * generated by calculating keccak256 of a incremented counter.\n    * @param _numOfChoices the number of choices inthe proposal\n    * @param _paramsHash defined the parameters of the voting machine used for this proposal\n    * @param _avatar an address to be sent as the payload to the _executable contract.\n    * @param _executable This contract will be executed when vote is over.\n    * @return bytes32 proposalId the ID of the proposal\n    */\n    function propose(\n        uint _numOfChoices,\n        bytes32 _paramsHash,\n        address _avatar,\n        ExecutableInterface _executable\n    ) public returns(bytes32)\n    {\n        // ToDo: check parameters are OK:\n        require(_numOfChoices > 0 && _numOfChoices <= MAX_NUM_OF_CHOICES);\n\n        // Check org is registered:\n        require(organizations[_avatar].isRegistered);\n\n        // Check params exist:\n        require(proposalsParameters[_paramsHash].precReq != 0);\n\n        // Generate a unique ID:\n        bytes32 proposalId = keccak256(this, proposalsCnt);\n        proposalsCnt++;\n\n        // Open proposal:\n        Proposal memory proposal;\n        proposal.paramsHash = _paramsHash;\n        proposal.numOfChoices = _numOfChoices;\n        proposal.avatar = _avatar;\n        proposal.executable = _executable;\n        proposal.owner = msg.sender;\n        proposal.opened = true;\n        proposals[proposalId] = proposal;\n        LogNewProposal(proposalId, msg.sender, _paramsHash);\n        return proposalId;\n    }\n\n    /**\n    * @dev Cancel a proposal, only the owner can call this function and only if allowOwner flag is true.\n    * @param _proposalId the proposal ID\n    * @return bool True if the proposal is canceled and False if it wasn't\n    */\n    function cancelProposal(bytes32 _proposalId) public onlyProposalOwner(_proposalId) votable(_proposalId) returns(bool) {\n        address avatar = proposals[_proposalId].avatar;\n        bytes32 paramsHash = getParametersFromController(Avatar(avatar));\n        if (! organizationsParameters[paramsHash].allowOwner) {\n            return false;\n        }\n\n        // Check if on the awaiting list, if so, delete it:\n        bool isFound;\n        uint index;\n        (isFound, index) = findInArray(organizations[avatar].awaitingBoostProposals, _proposalId);\n        if (isFound) {\n            deleteFromArray(organizations[avatar].awaitingBoostProposals, index);\n        }\n\n        delete proposals[_proposalId];\n        LogCancelProposal(_proposalId);\n        return true;\n    }\n\n    /**\n    * @dev Get the score of a specific proposal\n    * The score is evaluated by multiplying the number of votes with the funds that are invested\n    * @param _proposalId the proposal ID\n    * @return uint Proposal's score\n    */\n    function proposalScore(bytes32 _proposalId) public constant returns(uint) {\n        Proposal memory proposal = proposals[_proposalId];\n        return (proposal.boostedFunds.mul(proposal.totalVotes));\n    }\n\n    /**\n    * @dev Get the minimum score of a given list proposal ids\n    * @param _idsArray the proposal ids that will be checked\n    * @return uint index the index of the proposal containing the smallest score in the list\n    * @return uint min the minimum score in the list\n    */\n    function findMinScore(bytes32[] _idsArray) public constant returns(uint index, uint min) {\n        for (uint cnt = 0; cnt<_idsArray.length; cnt++) {\n            if (proposalScore(_idsArray[cnt]) < min) {\n                index = cnt;\n                min = proposalScore(_idsArray[cnt]);\n            }\n        }\n    }\n\n    /**\n    * @dev Get the maximum score of a given list proposal ids\n    * @param _idsArray the proposal ids that will be checked\n    * @return uint index the index of the proposal containing the highest score in the list\n    * @return uint max the maximum score in the list\n    */\n    function findMaxScore(bytes32[] _idsArray) public constant returns(uint index, uint max) {\n        for (uint cnt = 0; cnt<_idsArray.length; cnt++) {\n            if (proposalScore(_idsArray[cnt]) > max) {\n                index = cnt;\n                max = proposalScore(_idsArray[cnt]);\n            }\n        }\n    }\n\n    /**\n    * @dev Helper function to find an ID in a given array\n    * @param _idsArray an array of id's\n    * @param _id the id we want ot find in the array\n    * @return bool isFound that indicated if the id has been found in the array\n    * @return uint index the index of the id in the array\n    */\n    function findInArray(bytes32[] _idsArray, bytes32 _id) public pure returns(bool isFound, uint index) {\n        for (uint cnt = 0; cnt<_idsArray.length; cnt++) {\n            if (_idsArray[cnt] == _id) {\n                return(true, cnt);\n            }\n        }\n    }\n\n    /**\n    * @dev Internal function to boost a proposal\n    * @param _proposalId the id of the proposal that is being checked\n    * @param _boostValue amount of tokens to use for boosting, must be greater then minBoost\n    */\n    function boostProposal(bytes32 _proposalId, uint _boostValue) public {\n\n        // Check proposal is not already in boost mode:\n        if (proposals[_proposalId].isBoostModeActive) {\n            return;\n        }\n\n        // Retrieve org and parameters hash:\n        address avatar = proposals[_proposalId].avatar;\n        require(avatar != address(0)); // Check propsal exists\n        bytes32 orgParamsHash = getParametersFromController(Avatar(avatar));\n        OrgParameters memory orgParams = organizationsParameters[orgParamsHash];\n\n        // Collect boosting fee and add value to boosted funds:\n        assert(_boostValue > orgParams.minBoost);\n        orgParams.boostToken.transferFrom(msg.sender, orgParams.beneficiary, _boostValue); // ToDo: Move to end?\n        proposals[_proposalId].boostedFunds = proposals[_proposalId].boostedFunds.add(_boostValue);\n\n        // If proposal is not in awaiting list, try to add:\n        if (proposals[_proposalId].isAwaitingBoost) {\n            tryAwaitingBoostProposals(_proposalId);\n        }\n    }\n\n    /**\n    * @dev Move the top proposal form the waiting list to the boosted proposals\n    * @param _avatar avatar of the organization\n    */\n    // [TODO] event\n    function moveTopAwaitingBoostMode(address _avatar) public {\n        // Retrieve org and parameters hash:\n        require(_avatar != address(0)); // Check propsal exists\n        bytes32 orgParamsHash = getParametersFromController(Avatar(_avatar));\n        OrgParameters memory orgParams = organizationsParameters[orgParamsHash];\n        Organization storage org = organizations[_avatar];\n\n        // Check we have free bandwidth:\n        if (org.boostedProposals >= orgParams.attentionBandwidth) {\n            return;\n        }\n\n        // Check awaiting list is not empty:\n        if (org.awaitingBoostProposals.length == 0) {\n            return;\n        }\n\n        // Find maximum and add it:\n        org.boostedProposals++;\n        uint maxIndex;\n        (maxIndex, ) = findMaxScore(org.awaitingBoostProposals);\n        Proposal storage proposal = proposals[org.awaitingBoostProposals[maxIndex]];\n        proposal.isBoostModeActive = true;\n        proposal.isAwaitingBoost = false;\n        uint timeFrame = proposalsParameters[proposal.paramsHash].boostTimeFrame;\n        proposal.closingTime = block.number.add(timeFrame);\n\n        // Shift array:\n        deleteFromArray(org.awaitingBoostProposals, maxIndex);\n    }\n\n    /**\n    * @dev voting function\n    * @param _proposalId id of the proposal\n    * @param _vote yes (1) / no (-1) / abstain (0)\n    */\n    function vote(bytes32 _proposalId, uint _vote) public votable(_proposalId) returns(bool) {\n        return internalVote(_proposalId, _vote, msg.sender, 0);\n    }\n\n    function voteWithSpecifiedAmounts(bytes32 _proposalId, uint _vote, uint _rep, uint) public votable(_proposalId) returns(bool) {\n        return internalVote(_proposalId, _vote, msg.sender, _rep);\n    }\n\n    /**\n    * @dev voting function with owner functionality (can vote on behalf of someone else)\n    * @param _proposalId id of the proposal\n    * @param _vote yes (1) / no (-1) / abstain (0)\n    * @param _voter will be voted with that voter's address\n    */\n    function ownerVote(bytes32 _proposalId, uint _vote, address _voter) public onlyProposalOwner(_proposalId) votable(_proposalId) returns(bool) {\n        bytes32 paramsHash = getParametersFromController(Avatar(proposals[_proposalId].avatar));\n        if (! organizationsParameters[paramsHash].allowOwner) {\n            return;\n        }\n\n        return internalVote(_proposalId, _vote, _voter, 0);\n    }\n\n    /**\n    * @dev Cancel the vote of the msg.sender: subtract the reputation amount from the votes\n    * and delete the voter from the proposal struct\n    * @param _proposalId id of the proposal\n    */\n    function cancelVote(bytes32 _proposalId) public votable(_proposalId) {\n        cancelVoteInternal(_proposalId, msg.sender);\n    }\n\n    /**\n    * @dev check if the proposal has been decided, and if so, execute the proposal\n    * @param _proposalId the id of the proposal\n    * @return bool is the proposal has been executed or not?\n    */\n    // TODO: do we want to delete the vote from the proposals mapping?\n    // TODO: add to the event if this proposal was bossted or not\n    function execute(bytes32 _proposalId) public votable(_proposalId) returns(bool) {\n        Proposal storage proposal = proposals[_proposalId];\n\n        bytes32 orgParamsHash = getParametersFromController(Avatar(proposal.avatar));\n        uint totalReputation = organizationsParameters[orgParamsHash].reputationSystem.totalSupply();\n        uint precReq = proposalsParameters[proposal.paramsHash].precReq;\n        Proposal memory tmpProposal = proposal;\n\n        // Check boosted propsals:\n        if (proposal.isBoostModeActive && block.number >= proposal.closingTime) {\n            uint quorum = proposalsParameters[proposal.paramsHash].quorum;\n\n            // Check if quorum has been reached\n            if (proposal.totalVotes/totalReputation >= quorum) {\n                uint max;\n                uint maxInd;\n\n                // Count which choice is the winning choice\n                for (uint cnt = 1; cnt<=proposal.numOfChoices; cnt++) {\n                    if (proposal.votes[cnt] > max) {\n                        max = proposal.votes[cnt];\n                        maxInd = cnt;\n                    }\n                }\n                delete proposals[_proposalId];\n                LogExecuteProposal(_proposalId, maxInd);\n                (tmpProposal.executable).execute(_proposalId, tmpProposal.avatar, int(maxInd));\n                return true;\n            }\n        }\n\n        // Check if someone crossed the bar:\n        for (uint cnt2 = 0; cnt2<=proposal.numOfChoices; cnt2++) {\n            if (proposal.votes[cnt2] > totalReputation*precReq/100) {\n                delete proposals[_proposalId];\n                LogExecuteProposal(_proposalId, cnt);\n                (tmpProposal.executable).execute(_proposalId, tmpProposal.avatar, int(cnt2));\n                return true;\n            }\n        }\n        return false;\n    }\n\n    function getNumberOfChoices(bytes32 _proposalId) public constant returns(uint) {\n        return (proposals[_proposalId].numOfChoices);\n    }\n\n    /**\n    * @dev voteInfo returns the vote and the amount of reputation of the user committed to this proposal\n    * @param _proposalId the ID of the proposal\n    * @param _voter the address of the voter\n    * @return uint[2] array that contains the vote's info:\n    * amount of reputation committed by _voter to _proposalId, and the voters vote (1/-1/-0)\n    */\n    function voteInfo(bytes32 _proposalId, address _voter) public constant returns(uint[2]) {\n        Voter memory voter = proposals[_proposalId].voters[_voter];\n        return [voter.vote, voter.reputation];\n    }\n\n    /**\n    * @dev proposalStatus returns the number of yes, no, and abstain and if the proposal is ended of a given proposal id\n    * @param _proposalId the ID of the proposal\n    * @return int[10] array that contains the proposal's info:\n    * number of yes, no, and abstain, and if the voting for the proposal has ended\n    */\n    function proposalStatus(bytes32 _proposalId) public constant returns(uint[13]) {\n        Proposal storage proposal = proposals[_proposalId];\n        uint opened = proposal.opened ? 1 : 0;\n        uint[13] memory returnedArray;\n        returnedArray[12] = opened;\n        for (uint cnt = 0; cnt<=proposal.numOfChoices; cnt++) {\n            returnedArray[cnt] = proposal.votes[cnt];\n        }\n        return returnedArray;\n    }\n\n    /**\n    * @dev isVotable check if the proposal is open\n    * @param _proposalId the ID of the proposal\n    * @return bool true or false\n    */\n    function isVotable(bytes32 _proposalId) public constant returns(bool) {\n        return proposals[_proposalId].opened;\n    }\n\n    /**\n    * @dev Will try to insert a proposal to the waiting list (if there is place in the waiting list)\n    * This function will be called only from boostProposal function\n    * @param _proposalId the id of the proposal that is being checked\n    */\n    // [TODO] event\n    function tryAwaitingBoostProposals(bytes32 _proposalId) internal {\n\n        // Retrieve org and parameters hash:\n        address avatar = proposals[_proposalId].avatar;\n        require(avatar != address(0)); // Check propsal exists\n        bytes32 orgParamsHash = getParametersFromController(Avatar(avatar));\n        OrgParameters memory orgParams = organizationsParameters[orgParamsHash];\n        Organization storage org = organizations[avatar];\n\n        // If proposal already awaiting, return:\n        if (proposals[_proposalId].isAwaitingBoost) {\n            return;\n        }\n\n        // If there is room just add proposal:\n        // The Waiting list is twice the attentionBandwidth\n        uint maxAwaitingList = 2*orgParams.attentionBandwidth;\n        if (org.awaitingBoostProposals.length < maxAwaitingList) {\n            org.awaitingBoostProposals.push(_proposalId);\n            proposals[_proposalId].isAwaitingBoost = true;\n            return;\n        }\n\n        // Find minimum, if lower than current, replace:\n        uint minIndex;\n        uint minScore;\n        (minIndex, minScore) = findMinScore(org.awaitingBoostProposals);\n        if (proposalScore(_proposalId) > minIndex) {\n            proposals[org.awaitingBoostProposals[minIndex]].isAwaitingBoost = false;\n            proposals[_proposalId].isAwaitingBoost = true;\n            org.awaitingBoostProposals[minIndex] = _proposalId;\n        }\n    }\n\n    /**\n    * @dev Internal function that actually cancel the vote and delete it from storage\n    * @param _proposalId id of the proposal\n    * @param _voter the address of the voter we want to cancel his vote\n    */\n    function cancelVoteInternal(bytes32 _proposalId, address _voter) internal {\n        Proposal storage proposal = proposals[_proposalId];\n        Voter memory voter = proposal.voters[_voter];\n\n        proposal.votes[voter.vote] = (proposal.votes[voter.vote]).sub(voter.reputation);\n        proposal.totalVotes = (proposal.totalVotes).sub(voter.reputation);\n\n        delete proposal.voters[_voter];\n        LogCancelVoting(_proposalId, _voter);\n    }\n\n    /**\n    * @dev Delete an index from an array which in the storage\n    * @param _idsArray the pointer for the array\n    * @param _index the index we want to delete\n    */\n    function deleteFromArray(bytes32[] storage _idsArray, uint _index) internal {\n        assert(_idsArray.length > _index);\n        for (uint cnt = _index; cnt<_idsArray.length-1; cnt++) {\n            _idsArray[cnt] = _idsArray[cnt+1];\n        }\n        _idsArray.length--;\n    }\n\n    /**\n    * @dev Vote for a proposal, if the voter already voted, cancel the last vote and set a new one instead\n    * @param _proposalId id of the proposal\n    * @param _vote yes (1) / no (-1) / abstain (0)\n    * @param _voter used in case the vote is cast for someone else\n    * @return true in case of success\n    * throws if proposal is not opened or if it is executed\n    * NB: executes the proposal if a decision has been reached\n    */\n    function internalVote(bytes32 _proposalId, uint _vote, address _voter, uint _rep) private returns(bool) {\n        Proposal storage proposal = proposals[_proposalId];\n        bytes32 paramsHash = getParametersFromController(Avatar(proposal.avatar));\n        OrgParameters memory orgParams = organizationsParameters[paramsHash];\n\n        // If boosted proposal and ended, exectute:\n        if (proposal.isBoostModeActive && block.number >= proposal.closingTime) {\n            return execute(_proposalId);\n        }\n\n        // Check valid vote:\n        require(_vote <= proposal.numOfChoices);\n\n        // Check voter has enough reputation:\n        uint reputation = orgParams.reputationSystem.reputationOf(_voter);\n        uint rep = _rep;\n        require(reputation >= _rep);\n        if (rep == 0) {\n            rep = reputation;\n        }\n\n        // If this voter has already voted, first cancel the vote:\n        if (proposal.voters[_voter].reputation != 0) {\n            cancelVoteInternal(_proposalId, _voter);\n        }\n\n        // The voting itself:\n        proposal.votes[_vote] = rep.add(proposal.votes[_vote]);\n        proposal.totalVotes = rep.add(proposal.totalVotes);\n        proposal.voters[_voter] = Voter({\n            reputation: rep,\n            vote: _vote\n        });\n\n        // Check if ownerVote:\n        bool isOwnerVote;\n        if (_voter != msg.sender) {\n            isOwnerVote = true;\n        }\n\n        // Event:\n        LogVoteProposal(\n            _proposalId,\n            _voter,\n            _vote,\n            reputation,\n            isOwnerVote\n        );\n\n        // execute the proposal if this vote was decisive:\n        return execute(_proposalId);\n    }\n\n}\n",
  "sourcePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/VotingMachines/EmergentVoteScheme.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/VotingMachines/EmergentVoteScheme.sol",
      "exportedSymbols": {
        "EmergentVoteScheme": [
          2535
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 883,
        "name": "PragmaDirective",
        "src": "0:24:2"
      },
      {
        "attributes": {
          "SourceUnit": 4545,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/controller/Reputation.sol",
          "file": "../controller/Reputation.sol",
          "scope": 2536,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 884,
        "name": "ImportDirective",
        "src": "26:38:2"
      },
      {
        "attributes": {
          "SourceUnit": 2652,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/VotingMachines/IntVoteInterface.sol",
          "file": "./IntVoteInterface.sol",
          "scope": 2536,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 885,
        "name": "ImportDirective",
        "src": "65:32:2"
      },
      {
        "attributes": {
          "SourceUnit": 8466,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "../universalSchemes/UniversalScheme.sol",
          "scope": 2536,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 886,
        "name": "ImportDirective",
        "src": "98:49:2"
      },
      {
        "attributes": {
          "contractDependencies": [
            2651,
            8465,
            8484,
            10301
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            2535,
            8465,
            8484,
            10301,
            2651
          ],
          "name": "EmergentVoteScheme",
          "scope": 2536
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "IntVoteInterface",
                  "referencedDeclaration": 2651,
                  "type": "contract IntVoteInterface"
                },
                "id": 887,
                "name": "UserDefinedTypeName",
                "src": "204:16:2"
              }
            ],
            "id": 888,
            "name": "InheritanceSpecifier",
            "src": "204:16:2"
          },
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalScheme",
                  "referencedDeclaration": 8465,
                  "type": "contract UniversalScheme"
                },
                "id": 889,
                "name": "UserDefinedTypeName",
                "src": "222:15:2"
              }
            ],
            "id": 890,
            "name": "InheritanceSpecifier",
            "src": "222:15:2"
          },
          {
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "SafeMath",
                  "referencedDeclaration": 10221,
                  "type": "library SafeMath"
                },
                "id": 891,
                "name": "UserDefinedTypeName",
                "src": "250:8:2"
              },
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 892,
                "name": "ElementaryTypeName",
                "src": "263:4:2"
              }
            ],
            "id": 893,
            "name": "UsingForDirective",
            "src": "244:24:2"
          },
          {
            "attributes": {
              "canonicalName": "EmergentVoteScheme.Organization",
              "name": "Organization",
              "scope": 2535,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "isRegistered",
                  "scope": 901,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 894,
                    "name": "ElementaryTypeName",
                    "src": "304:4:2"
                  }
                ],
                "id": 895,
                "name": "VariableDeclaration",
                "src": "304:17:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "boostedProposals",
                  "scope": 901,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 896,
                    "name": "ElementaryTypeName",
                    "src": "331:4:2"
                  }
                ],
                "id": 897,
                "name": "VariableDeclaration",
                "src": "331:21:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "awaitingBoostProposals",
                  "scope": 901,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32[] storage pointer",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "length": null,
                      "type": "bytes32[] storage pointer"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 898,
                        "name": "ElementaryTypeName",
                        "src": "403:7:2"
                      }
                    ],
                    "id": 899,
                    "name": "ArrayTypeName",
                    "src": "403:9:2"
                  }
                ],
                "id": 900,
                "name": "VariableDeclaration",
                "src": "403:32:2"
              }
            ],
            "id": 901,
            "name": "StructDefinition",
            "src": "274:233:2"
          },
          {
            "attributes": {
              "canonicalName": "EmergentVoteScheme.OrgParameters",
              "name": "OrgParameters",
              "scope": 2535,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "reputationSystem",
                  "scope": 918,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract Reputation",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Reputation",
                      "referencedDeclaration": 4544,
                      "type": "contract Reputation"
                    },
                    "id": 902,
                    "name": "UserDefinedTypeName",
                    "src": "544:10:2"
                  }
                ],
                "id": 903,
                "name": "VariableDeclaration",
                "src": "544:27:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "boostToken",
                  "scope": 918,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract StandardToken",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "StandardToken",
                      "referencedDeclaration": 10855,
                      "type": "contract StandardToken"
                    },
                    "id": 904,
                    "name": "UserDefinedTypeName",
                    "src": "625:13:2"
                  }
                ],
                "id": 905,
                "name": "VariableDeclaration",
                "src": "625:24:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "beneficiary",
                  "scope": 918,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 906,
                    "name": "ElementaryTypeName",
                    "src": "718:7:2"
                  }
                ],
                "id": 907,
                "name": "VariableDeclaration",
                "src": "718:19:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "attentionBandwidth",
                  "scope": 918,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 908,
                    "name": "ElementaryTypeName",
                    "src": "839:4:2"
                  }
                ],
                "id": 909,
                "name": "VariableDeclaration",
                "src": "839:23:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "minBoostTimeFrame",
                  "scope": 918,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 910,
                    "name": "ElementaryTypeName",
                    "src": "913:4:2"
                  }
                ],
                "id": 911,
                "name": "VariableDeclaration",
                "src": "913:22:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "maxBoostTimeFrame",
                  "scope": 918,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 912,
                    "name": "ElementaryTypeName",
                    "src": "1000:4:2"
                  }
                ],
                "id": 913,
                "name": "VariableDeclaration",
                "src": "1000:22:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "minBoost",
                  "scope": 918,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 914,
                    "name": "ElementaryTypeName",
                    "src": "1087:4:2"
                  }
                ],
                "id": 915,
                "name": "VariableDeclaration",
                "src": "1087:13:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "allowOwner",
                  "scope": 918,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 916,
                    "name": "ElementaryTypeName",
                    "src": "1172:4:2"
                  }
                ],
                "id": 917,
                "name": "VariableDeclaration",
                "src": "1172:15:2"
              }
            ],
            "id": 918,
            "name": "StructDefinition",
            "src": "513:737:2"
          },
          {
            "attributes": {
              "canonicalName": "EmergentVoteScheme.ProposalParameters",
              "name": "ProposalParameters",
              "scope": 2535,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "precReq",
                  "scope": 925,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 919,
                    "name": "ElementaryTypeName",
                    "src": "1292:4:2"
                  }
                ],
                "id": 920,
                "name": "VariableDeclaration",
                "src": "1292:12:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "quorum",
                  "scope": 925,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 921,
                    "name": "ElementaryTypeName",
                    "src": "1380:4:2"
                  }
                ],
                "id": 922,
                "name": "VariableDeclaration",
                "src": "1380:11:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "boostTimeFrame",
                  "scope": 925,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 923,
                    "name": "ElementaryTypeName",
                    "src": "1471:4:2"
                  }
                ],
                "id": 924,
                "name": "VariableDeclaration",
                "src": "1471:19:2"
              }
            ],
            "id": 925,
            "name": "StructDefinition",
            "src": "1256:292:2"
          },
          {
            "attributes": {
              "canonicalName": "EmergentVoteScheme.Voter",
              "name": "Voter",
              "scope": 2535,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "vote",
                  "scope": 930,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 926,
                    "name": "ElementaryTypeName",
                    "src": "1577:4:2"
                  }
                ],
                "id": 927,
                "name": "VariableDeclaration",
                "src": "1577:9:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "reputation",
                  "scope": 930,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 928,
                    "name": "ElementaryTypeName",
                    "src": "1613:4:2"
                  }
                ],
                "id": 929,
                "name": "VariableDeclaration",
                "src": "1613:15:2"
              }
            ],
            "id": 930,
            "name": "StructDefinition",
            "src": "1554:113:2"
          },
          {
            "attributes": {
              "canonicalName": "EmergentVoteScheme.Proposal",
              "name": "Proposal",
              "scope": 2535,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "owner",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 931,
                    "name": "ElementaryTypeName",
                    "src": "1699:7:2"
                  }
                ],
                "id": 932,
                "name": "VariableDeclaration",
                "src": "1699:13:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "avatar",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 933,
                    "name": "ElementaryTypeName",
                    "src": "1746:7:2"
                  }
                ],
                "id": 934,
                "name": "VariableDeclaration",
                "src": "1746:14:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "numOfChoices",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 935,
                    "name": "ElementaryTypeName",
                    "src": "1827:4:2"
                  }
                ],
                "id": 936,
                "name": "VariableDeclaration",
                "src": "1827:17:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "executable",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract ExecutableInterface",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "ExecutableInterface",
                      "referencedDeclaration": 6617,
                      "type": "contract ExecutableInterface"
                    },
                    "id": 937,
                    "name": "UserDefinedTypeName",
                    "src": "1891:19:2"
                  }
                ],
                "id": 938,
                "name": "VariableDeclaration",
                "src": "1891:30:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "paramsHash",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 939,
                    "name": "ElementaryTypeName",
                    "src": "1977:7:2"
                  }
                ],
                "id": 940,
                "name": "VariableDeclaration",
                "src": "1977:18:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "totalVotes",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 941,
                    "name": "ElementaryTypeName",
                    "src": "2051:4:2"
                  }
                ],
                "id": 942,
                "name": "VariableDeclaration",
                "src": "2051:15:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "votes",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "mapping(uint256 => uint256)",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "type": "mapping(uint256 => uint256)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 943,
                        "name": "ElementaryTypeName",
                        "src": "2111:4:2"
                      },
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 944,
                        "name": "ElementaryTypeName",
                        "src": "2117:4:2"
                      }
                    ],
                    "id": 945,
                    "name": "Mapping",
                    "src": "2103:19:2"
                  }
                ],
                "id": 946,
                "name": "VariableDeclaration",
                "src": "2103:25:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "voters",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 947,
                        "name": "ElementaryTypeName",
                        "src": "2146:7:2"
                      },
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Voter",
                          "referencedDeclaration": 930,
                          "type": "struct EmergentVoteScheme.Voter storage pointer"
                        },
                        "id": 948,
                        "name": "UserDefinedTypeName",
                        "src": "2155:5:2"
                      }
                    ],
                    "id": 949,
                    "name": "Mapping",
                    "src": "2138:23:2"
                  }
                ],
                "id": 950,
                "name": "VariableDeclaration",
                "src": "2138:30:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "opened",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 951,
                    "name": "ElementaryTypeName",
                    "src": "2178:4:2"
                  }
                ],
                "id": 952,
                "name": "VariableDeclaration",
                "src": "2178:11:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "isBoostModeActive",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 953,
                    "name": "ElementaryTypeName",
                    "src": "2221:4:2"
                  }
                ],
                "id": 954,
                "name": "VariableDeclaration",
                "src": "2221:22:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "isAwaitingBoost",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 955,
                    "name": "ElementaryTypeName",
                    "src": "2281:4:2"
                  }
                ],
                "id": 956,
                "name": "VariableDeclaration",
                "src": "2281:20:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "closingTime",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 957,
                    "name": "ElementaryTypeName",
                    "src": "2355:4:2"
                  }
                ],
                "id": 958,
                "name": "VariableDeclaration",
                "src": "2355:16:2"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "boostedFunds",
                  "scope": 961,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 959,
                    "name": "ElementaryTypeName",
                    "src": "2480:4:2"
                  }
                ],
                "id": 960,
                "name": "VariableDeclaration",
                "src": "2480:17:2"
              }
            ],
            "id": 961,
            "name": "StructDefinition",
            "src": "1673:890:2"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogNewProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 969,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 962,
                        "name": "ElementaryTypeName",
                        "src": "2590:7:2"
                      }
                    ],
                    "id": 963,
                    "name": "VariableDeclaration",
                    "src": "2590:27:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_proposer",
                      "scope": 969,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 964,
                        "name": "ElementaryTypeName",
                        "src": "2619:7:2"
                      }
                    ],
                    "id": 965,
                    "name": "VariableDeclaration",
                    "src": "2619:17:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_paramsHash",
                      "scope": 969,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 966,
                        "name": "ElementaryTypeName",
                        "src": "2638:7:2"
                      }
                    ],
                    "id": 967,
                    "name": "VariableDeclaration",
                    "src": "2638:19:2"
                  }
                ],
                "id": 968,
                "name": "ParameterList",
                "src": "2589:69:2"
              }
            ],
            "id": 969,
            "name": "EventDefinition",
            "src": "2569:90:2"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogCancelProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 973,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 970,
                        "name": "ElementaryTypeName",
                        "src": "2688:7:2"
                      }
                    ],
                    "id": 971,
                    "name": "VariableDeclaration",
                    "src": "2688:27:2"
                  }
                ],
                "id": 972,
                "name": "ParameterList",
                "src": "2687:29:2"
              }
            ],
            "id": 973,
            "name": "EventDefinition",
            "src": "2664:53:2"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogExecuteProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 979,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 974,
                        "name": "ElementaryTypeName",
                        "src": "2747:7:2"
                      }
                    ],
                    "id": 975,
                    "name": "VariableDeclaration",
                    "src": "2747:27:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_decision",
                      "scope": 979,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 976,
                        "name": "ElementaryTypeName",
                        "src": "2776:4:2"
                      }
                    ],
                    "id": 977,
                    "name": "VariableDeclaration",
                    "src": "2776:14:2"
                  }
                ],
                "id": 978,
                "name": "ParameterList",
                "src": "2746:45:2"
              }
            ],
            "id": 979,
            "name": "EventDefinition",
            "src": "2722:70:2"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogVoteProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 991,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 980,
                        "name": "ElementaryTypeName",
                        "src": "2819:7:2"
                      }
                    ],
                    "id": 981,
                    "name": "VariableDeclaration",
                    "src": "2819:27:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_voter",
                      "scope": 991,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 982,
                        "name": "ElementaryTypeName",
                        "src": "2848:7:2"
                      }
                    ],
                    "id": 983,
                    "name": "VariableDeclaration",
                    "src": "2848:22:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_vote",
                      "scope": 991,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 984,
                        "name": "ElementaryTypeName",
                        "src": "2872:4:2"
                      }
                    ],
                    "id": 985,
                    "name": "VariableDeclaration",
                    "src": "2872:10:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_reputation",
                      "scope": 991,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 986,
                        "name": "ElementaryTypeName",
                        "src": "2884:4:2"
                      }
                    ],
                    "id": 987,
                    "name": "VariableDeclaration",
                    "src": "2884:16:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_isOwnerVote",
                      "scope": 991,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 988,
                        "name": "ElementaryTypeName",
                        "src": "2902:4:2"
                      }
                    ],
                    "id": 989,
                    "name": "VariableDeclaration",
                    "src": "2902:17:2"
                  }
                ],
                "id": 990,
                "name": "ParameterList",
                "src": "2818:102:2"
              }
            ],
            "id": 991,
            "name": "EventDefinition",
            "src": "2797:124:2"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogCancelVoting"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 997,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 992,
                        "name": "ElementaryTypeName",
                        "src": "2948:7:2"
                      }
                    ],
                    "id": 993,
                    "name": "VariableDeclaration",
                    "src": "2948:27:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_voter",
                      "scope": 997,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 994,
                        "name": "ElementaryTypeName",
                        "src": "2977:7:2"
                      }
                    ],
                    "id": 995,
                    "name": "VariableDeclaration",
                    "src": "2977:22:2"
                  }
                ],
                "id": 996,
                "name": "ParameterList",
                "src": "2947:53:2"
              }
            ],
            "id": 997,
            "name": "EventDefinition",
            "src": "2926:75:2"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizations",
              "scope": 2535,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 998,
                    "name": "ElementaryTypeName",
                    "src": "3015:7:2"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Organization",
                      "referencedDeclaration": 901,
                      "type": "struct EmergentVoteScheme.Organization storage pointer"
                    },
                    "id": 999,
                    "name": "UserDefinedTypeName",
                    "src": "3024:12:2"
                  }
                ],
                "id": 1000,
                "name": "Mapping",
                "src": "3007:30:2"
              }
            ],
            "id": 1001,
            "name": "VariableDeclaration",
            "src": "3007:51:2"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizationsParameters",
              "scope": 2535,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 1002,
                    "name": "ElementaryTypeName",
                    "src": "3072:7:2"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "OrgParameters",
                      "referencedDeclaration": 918,
                      "type": "struct EmergentVoteScheme.OrgParameters storage pointer"
                    },
                    "id": 1003,
                    "name": "UserDefinedTypeName",
                    "src": "3081:13:2"
                  }
                ],
                "id": 1004,
                "name": "Mapping",
                "src": "3064:31:2"
              }
            ],
            "id": 1005,
            "name": "VariableDeclaration",
            "src": "3064:62:2"
          },
          {
            "attributes": {
              "constant": false,
              "name": "proposalsParameters",
              "scope": 2535,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 1006,
                    "name": "ElementaryTypeName",
                    "src": "3140:7:2"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "ProposalParameters",
                      "referencedDeclaration": 925,
                      "type": "struct EmergentVoteScheme.ProposalParameters storage pointer"
                    },
                    "id": 1007,
                    "name": "UserDefinedTypeName",
                    "src": "3149:18:2"
                  }
                ],
                "id": 1008,
                "name": "Mapping",
                "src": "3132:36:2"
              }
            ],
            "id": 1009,
            "name": "VariableDeclaration",
            "src": "3132:63:2"
          },
          {
            "attributes": {
              "constant": false,
              "name": "proposals",
              "scope": 2535,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 1010,
                    "name": "ElementaryTypeName",
                    "src": "3249:7:2"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Proposal",
                      "referencedDeclaration": 961,
                      "type": "struct EmergentVoteScheme.Proposal storage pointer"
                    },
                    "id": 1011,
                    "name": "UserDefinedTypeName",
                    "src": "3258:8:2"
                  }
                ],
                "id": 1012,
                "name": "Mapping",
                "src": "3241:26:2"
              }
            ],
            "id": 1013,
            "name": "VariableDeclaration",
            "src": "3241:43:2"
          },
          {
            "attributes": {
              "constant": true,
              "name": "MAX_NUM_OF_CHOICES",
              "scope": 2535,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 1014,
                "name": "ElementaryTypeName",
                "src": "3354:4:2"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "hexvalue": "3130",
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "subdenomination": null,
                  "token": "number",
                  "type": "int_const 10",
                  "value": "10"
                },
                "id": 1015,
                "name": "Literal",
                "src": "3396:2:2"
              }
            ],
            "id": 1016,
            "name": "VariableDeclaration",
            "src": "3354:44:2"
          },
          {
            "attributes": {
              "constant": false,
              "name": "proposalsCnt",
              "scope": 2535,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "value": null,
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint",
                  "type": "uint256"
                },
                "id": 1017,
                "name": "ElementaryTypeName",
                "src": "3404:4:2"
              }
            ],
            "id": 1018,
            "name": "VariableDeclaration",
            "src": "3404:17:2"
          },
          {
            "attributes": {
              "name": "onlyProposalOwner",
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 1034,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1019,
                        "name": "ElementaryTypeName",
                        "src": "3581:7:2"
                      }
                    ],
                    "id": 1020,
                    "name": "VariableDeclaration",
                    "src": "3581:19:2"
                  }
                ],
                "id": 1021,
                "name": "ParameterList",
                "src": "3580:21:2"
              },
              {
                "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 1022,
                            "name": "Identifier",
                            "src": "3612:7:2"
                          },
                          {
                            "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": 10867,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 1023,
                                    "name": "Identifier",
                                    "src": "3620:3:2"
                                  }
                                ],
                                "id": 1024,
                                "name": "MemberAccess",
                                "src": "3620:10:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "owner",
                                  "referencedDeclaration": 932,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct EmergentVoteScheme.Proposal storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1013,
                                          "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                          "value": "proposals"
                                        },
                                        "id": 1025,
                                        "name": "Identifier",
                                        "src": "3634:9:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1020,
                                          "type": "bytes32",
                                          "value": "_proposalId"
                                        },
                                        "id": 1026,
                                        "name": "Identifier",
                                        "src": "3644:11:2"
                                      }
                                    ],
                                    "id": 1027,
                                    "name": "IndexAccess",
                                    "src": "3634:22:2"
                                  }
                                ],
                                "id": 1028,
                                "name": "MemberAccess",
                                "src": "3634:28:2"
                              }
                            ],
                            "id": 1029,
                            "name": "BinaryOperation",
                            "src": "3620:42:2"
                          }
                        ],
                        "id": 1030,
                        "name": "FunctionCall",
                        "src": "3612:51:2"
                      }
                    ],
                    "id": 1031,
                    "name": "ExpressionStatement",
                    "src": "3612:51:2"
                  },
                  {
                    "id": 1032,
                    "name": "PlaceholderStatement",
                    "src": "3673:1:2"
                  }
                ],
                "id": 1033,
                "name": "Block",
                "src": "3602:79:2"
              }
            ],
            "id": 1034,
            "name": "ModifierDefinition",
            "src": "3554:127:2"
          },
          {
            "attributes": {
              "name": "votable",
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 1047,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1035,
                        "name": "ElementaryTypeName",
                        "src": "3795:7:2"
                      }
                    ],
                    "id": 1036,
                    "name": "VariableDeclaration",
                    "src": "3795:19:2"
                  }
                ],
                "id": 1037,
                "name": "ParameterList",
                "src": "3794:21:2"
              },
              {
                "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 1038,
                            "name": "Identifier",
                            "src": "3826:7:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "opened",
                              "referencedDeclaration": 952,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct EmergentVoteScheme.Proposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1013,
                                      "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                      "value": "proposals"
                                    },
                                    "id": 1039,
                                    "name": "Identifier",
                                    "src": "3834:9:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1036,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 1040,
                                    "name": "Identifier",
                                    "src": "3844:11:2"
                                  }
                                ],
                                "id": 1041,
                                "name": "IndexAccess",
                                "src": "3834:22:2"
                              }
                            ],
                            "id": 1042,
                            "name": "MemberAccess",
                            "src": "3834:29:2"
                          }
                        ],
                        "id": 1043,
                        "name": "FunctionCall",
                        "src": "3826:38:2"
                      }
                    ],
                    "id": 1044,
                    "name": "ExpressionStatement",
                    "src": "3826:38:2"
                  },
                  {
                    "id": 1045,
                    "name": "PlaceholderStatement",
                    "src": "3874:1:2"
                  }
                ],
                "id": 1046,
                "name": "Block",
                "src": "3816:66:2"
              }
            ],
            "id": 1047,
            "name": "ModifierDefinition",
            "src": "3778:104:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "EmergentVoteScheme",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1048,
                "name": "ParameterList",
                "src": "3915:2:2"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1049,
                "name": "ParameterList",
                "src": "3925:0:2"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 1050,
                "name": "Block",
                "src": "3925:2:2"
              }
            ],
            "id": 1051,
            "name": "FunctionDefinition",
            "src": "3888:39:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setOrgParameters",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_reputationSystem",
                      "scope": 1103,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Reputation",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Reputation",
                          "referencedDeclaration": 4544,
                          "type": "contract Reputation"
                        },
                        "id": 1052,
                        "name": "UserDefinedTypeName",
                        "src": "4065:10:2"
                      }
                    ],
                    "id": 1053,
                    "name": "VariableDeclaration",
                    "src": "4065:28:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_boostToken",
                      "scope": 1103,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract StandardToken",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "StandardToken",
                          "referencedDeclaration": 10855,
                          "type": "contract StandardToken"
                        },
                        "id": 1054,
                        "name": "UserDefinedTypeName",
                        "src": "4103:13:2"
                      }
                    ],
                    "id": 1055,
                    "name": "VariableDeclaration",
                    "src": "4103:25:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 1103,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 1056,
                        "name": "ElementaryTypeName",
                        "src": "4138:7:2"
                      }
                    ],
                    "id": 1057,
                    "name": "VariableDeclaration",
                    "src": "4138:20:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_attentionBandwidth",
                      "scope": 1103,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1058,
                        "name": "ElementaryTypeName",
                        "src": "4168:4:2"
                      }
                    ],
                    "id": 1059,
                    "name": "VariableDeclaration",
                    "src": "4168:24:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_minBoostTimeFrame",
                      "scope": 1103,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1060,
                        "name": "ElementaryTypeName",
                        "src": "4202:4:2"
                      }
                    ],
                    "id": 1061,
                    "name": "VariableDeclaration",
                    "src": "4202:23:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_maxBoostTimeFrame",
                      "scope": 1103,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1062,
                        "name": "ElementaryTypeName",
                        "src": "4235:4:2"
                      }
                    ],
                    "id": 1063,
                    "name": "VariableDeclaration",
                    "src": "4235:23:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_minBoost",
                      "scope": 1103,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1064,
                        "name": "ElementaryTypeName",
                        "src": "4268:4:2"
                      }
                    ],
                    "id": 1065,
                    "name": "VariableDeclaration",
                    "src": "4268:14:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_allowOwner",
                      "scope": 1103,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1066,
                        "name": "ElementaryTypeName",
                        "src": "4292:4:2"
                      }
                    ],
                    "id": 1067,
                    "name": "VariableDeclaration",
                    "src": "4292:16:2"
                  }
                ],
                "id": 1068,
                "name": "ParameterList",
                "src": "4055:259:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 1103,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1069,
                        "name": "ElementaryTypeName",
                        "src": "4330:7:2"
                      }
                    ],
                    "id": 1070,
                    "name": "VariableDeclaration",
                    "src": "4330:7:2"
                  }
                ],
                "id": 1071,
                "name": "ParameterList",
                "src": "4329:9:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        1073
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 1103,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1072,
                            "name": "ElementaryTypeName",
                            "src": "4353:7:2"
                          }
                        ],
                        "id": 1073,
                        "name": "VariableDeclaration",
                        "src": "4353:18:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Reputation_$4544",
                                  "typeString": "contract Reputation"
                                },
                                {
                                  "typeIdentifier": "t_contract$_StandardToken_$10855",
                                  "typeString": "contract StandardToken"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1140,
                              "type": "function (contract Reputation,contract StandardToken,address,uint256,uint256,uint256,uint256,bool) pure returns (bytes32)",
                              "value": "getOrgParametersHash"
                            },
                            "id": 1074,
                            "name": "Identifier",
                            "src": "4374:20:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1053,
                              "type": "contract Reputation",
                              "value": "_reputationSystem"
                            },
                            "id": 1075,
                            "name": "Identifier",
                            "src": "4408:17:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1055,
                              "type": "contract StandardToken",
                              "value": "_boostToken"
                            },
                            "id": 1076,
                            "name": "Identifier",
                            "src": "4439:11:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1057,
                              "type": "address",
                              "value": "_beneficiary"
                            },
                            "id": 1077,
                            "name": "Identifier",
                            "src": "4464:12:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1059,
                              "type": "uint256",
                              "value": "_attentionBandwidth"
                            },
                            "id": 1078,
                            "name": "Identifier",
                            "src": "4490:19:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1061,
                              "type": "uint256",
                              "value": "_minBoostTimeFrame"
                            },
                            "id": 1079,
                            "name": "Identifier",
                            "src": "4523:18:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1063,
                              "type": "uint256",
                              "value": "_maxBoostTimeFrame"
                            },
                            "id": 1080,
                            "name": "Identifier",
                            "src": "4555:18:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1065,
                              "type": "uint256",
                              "value": "_minBoost"
                            },
                            "id": 1081,
                            "name": "Identifier",
                            "src": "4587:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1067,
                              "type": "bool",
                              "value": "_allowOwner"
                            },
                            "id": 1082,
                            "name": "Identifier",
                            "src": "4610:11:2"
                          }
                        ],
                        "id": 1083,
                        "name": "FunctionCall",
                        "src": "4374:257:2"
                      }
                    ],
                    "id": 1084,
                    "name": "VariableDeclarationStatement",
                    "src": "4353:278:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct EmergentVoteScheme.OrgParameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct EmergentVoteScheme.OrgParameters storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1005,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)",
                                  "value": "organizationsParameters"
                                },
                                "id": 1085,
                                "name": "Identifier",
                                "src": "4641:23:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1073,
                                  "type": "bytes32",
                                  "value": "paramsHash"
                                },
                                "id": 1086,
                                "name": "Identifier",
                                "src": "4665:10:2"
                              }
                            ],
                            "id": 1087,
                            "name": "IndexAccess",
                            "src": "4641:35:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": true,
                              "lValueRequested": false,
                              "names": [
                                "reputationSystem",
                                "boostToken",
                                "beneficiary",
                                "attentionBandwidth",
                                "minBoostTimeFrame",
                                "maxBoostTimeFrame",
                                "minBoost",
                                "allowOwner"
                              ],
                              "type": "struct EmergentVoteScheme.OrgParameters memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 918,
                                  "type": "type(struct EmergentVoteScheme.OrgParameters storage pointer)",
                                  "value": "OrgParameters"
                                },
                                "id": 1088,
                                "name": "Identifier",
                                "src": "4679:13:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1053,
                                  "type": "contract Reputation",
                                  "value": "_reputationSystem"
                                },
                                "id": 1089,
                                "name": "Identifier",
                                "src": "4725:17:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1055,
                                  "type": "contract StandardToken",
                                  "value": "_boostToken"
                                },
                                "id": 1090,
                                "name": "Identifier",
                                "src": "4768:11:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1057,
                                  "type": "address",
                                  "value": "_beneficiary"
                                },
                                "id": 1091,
                                "name": "Identifier",
                                "src": "4806:12:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1059,
                                  "type": "uint256",
                                  "value": "_attentionBandwidth"
                                },
                                "id": 1092,
                                "name": "Identifier",
                                "src": "4852:19:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1061,
                                  "type": "uint256",
                                  "value": "_minBoostTimeFrame"
                                },
                                "id": 1093,
                                "name": "Identifier",
                                "src": "4904:18:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1063,
                                  "type": "uint256",
                                  "value": "_maxBoostTimeFrame"
                                },
                                "id": 1094,
                                "name": "Identifier",
                                "src": "4955:18:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1065,
                                  "type": "uint256",
                                  "value": "_minBoost"
                                },
                                "id": 1095,
                                "name": "Identifier",
                                "src": "4997:9:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1067,
                                  "type": "bool",
                                  "value": "_allowOwner"
                                },
                                "id": 1096,
                                "name": "Identifier",
                                "src": "5032:11:2"
                              }
                            ],
                            "id": 1097,
                            "name": "FunctionCall",
                            "src": "4679:375:2"
                          }
                        ],
                        "id": 1098,
                        "name": "Assignment",
                        "src": "4641:413:2"
                      }
                    ],
                    "id": 1099,
                    "name": "ExpressionStatement",
                    "src": "4641:413:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 1071
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 1073,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 1100,
                        "name": "Identifier",
                        "src": "5071:10:2"
                      }
                    ],
                    "id": 1101,
                    "name": "Return",
                    "src": "5064:17:2"
                  }
                ],
                "id": 1102,
                "name": "Block",
                "src": "4343:745:2"
              }
            ],
            "id": 1103,
            "name": "FunctionDefinition",
            "src": "4030:1058:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getOrgParametersHash",
              "payable": false,
              "scope": 2535,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_reputationSystem",
                      "scope": 1140,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Reputation",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Reputation",
                          "referencedDeclaration": 4544,
                          "type": "contract Reputation"
                        },
                        "id": 1104,
                        "name": "UserDefinedTypeName",
                        "src": "5133:10:2"
                      }
                    ],
                    "id": 1105,
                    "name": "VariableDeclaration",
                    "src": "5133:28:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_boostToken",
                      "scope": 1140,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract StandardToken",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "StandardToken",
                          "referencedDeclaration": 10855,
                          "type": "contract StandardToken"
                        },
                        "id": 1106,
                        "name": "UserDefinedTypeName",
                        "src": "5171:13:2"
                      }
                    ],
                    "id": 1107,
                    "name": "VariableDeclaration",
                    "src": "5171:25:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 1140,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 1108,
                        "name": "ElementaryTypeName",
                        "src": "5206:7:2"
                      }
                    ],
                    "id": 1109,
                    "name": "VariableDeclaration",
                    "src": "5206:20:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_attentionBandwidth",
                      "scope": 1140,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1110,
                        "name": "ElementaryTypeName",
                        "src": "5236:4:2"
                      }
                    ],
                    "id": 1111,
                    "name": "VariableDeclaration",
                    "src": "5236:24:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_minBoostTimeFrame",
                      "scope": 1140,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1112,
                        "name": "ElementaryTypeName",
                        "src": "5270:4:2"
                      }
                    ],
                    "id": 1113,
                    "name": "VariableDeclaration",
                    "src": "5270:23:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_maxBoostTimeFrame",
                      "scope": 1140,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1114,
                        "name": "ElementaryTypeName",
                        "src": "5303:4:2"
                      }
                    ],
                    "id": 1115,
                    "name": "VariableDeclaration",
                    "src": "5303:23:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_minBoost",
                      "scope": 1140,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1116,
                        "name": "ElementaryTypeName",
                        "src": "5336:4:2"
                      }
                    ],
                    "id": 1117,
                    "name": "VariableDeclaration",
                    "src": "5336:14:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_allowOwner",
                      "scope": 1140,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1118,
                        "name": "ElementaryTypeName",
                        "src": "5360:4:2"
                      }
                    ],
                    "id": 1119,
                    "name": "VariableDeclaration",
                    "src": "5360:16:2"
                  }
                ],
                "id": 1120,
                "name": "ParameterList",
                "src": "5123:259:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 1140,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1121,
                        "name": "ElementaryTypeName",
                        "src": "5403:7:2"
                      }
                    ],
                    "id": 1122,
                    "name": "VariableDeclaration",
                    "src": "5403:7:2"
                  }
                ],
                "id": 1123,
                "name": "ParameterList",
                "src": "5402:9:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        1125
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 1140,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1124,
                            "name": "ElementaryTypeName",
                            "src": "5426:7:2"
                          }
                        ],
                        "id": 1125,
                        "name": "VariableDeclaration",
                        "src": "5426:18:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Reputation_$4544",
                                  "typeString": "contract Reputation"
                                },
                                {
                                  "typeIdentifier": "t_contract$_StandardToken_$10855",
                                  "typeString": "contract StandardToken"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10861,
                              "type": "function () pure returns (bytes32)",
                              "value": "keccak256"
                            },
                            "id": 1126,
                            "name": "Identifier",
                            "src": "5447:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1105,
                              "type": "contract Reputation",
                              "value": "_reputationSystem"
                            },
                            "id": 1127,
                            "name": "Identifier",
                            "src": "5470:17:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1107,
                              "type": "contract StandardToken",
                              "value": "_boostToken"
                            },
                            "id": 1128,
                            "name": "Identifier",
                            "src": "5501:11:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1109,
                              "type": "address",
                              "value": "_beneficiary"
                            },
                            "id": 1129,
                            "name": "Identifier",
                            "src": "5526:12:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1111,
                              "type": "uint256",
                              "value": "_attentionBandwidth"
                            },
                            "id": 1130,
                            "name": "Identifier",
                            "src": "5552:19:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1113,
                              "type": "uint256",
                              "value": "_minBoostTimeFrame"
                            },
                            "id": 1131,
                            "name": "Identifier",
                            "src": "5585:18:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1115,
                              "type": "uint256",
                              "value": "_maxBoostTimeFrame"
                            },
                            "id": 1132,
                            "name": "Identifier",
                            "src": "5617:18:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1117,
                              "type": "uint256",
                              "value": "_minBoost"
                            },
                            "id": 1133,
                            "name": "Identifier",
                            "src": "5649:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1119,
                              "type": "bool",
                              "value": "_allowOwner"
                            },
                            "id": 1134,
                            "name": "Identifier",
                            "src": "5672:11:2"
                          }
                        ],
                        "id": 1135,
                        "name": "FunctionCall",
                        "src": "5447:246:2"
                      }
                    ],
                    "id": 1136,
                    "name": "VariableDeclarationStatement",
                    "src": "5426:267:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 1123
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 1125,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 1137,
                        "name": "Identifier",
                        "src": "5710:10:2"
                      }
                    ],
                    "id": 1138,
                    "name": "Return",
                    "src": "5703:17:2"
                  }
                ],
                "id": 1139,
                "name": "Block",
                "src": "5416:311:2"
              }
            ],
            "id": 1140,
            "name": "FunctionDefinition",
            "src": "5094:633:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setProposalParameters",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_precReq",
                      "scope": 1192,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1141,
                        "name": "ElementaryTypeName",
                        "src": "6197:4:2"
                      }
                    ],
                    "id": 1142,
                    "name": "VariableDeclaration",
                    "src": "6197:13:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_quorum",
                      "scope": 1192,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1143,
                        "name": "ElementaryTypeName",
                        "src": "6212:4:2"
                      }
                    ],
                    "id": 1144,
                    "name": "VariableDeclaration",
                    "src": "6212:12:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_boostTimeFrame",
                      "scope": 1192,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1145,
                        "name": "ElementaryTypeName",
                        "src": "6226:4:2"
                      }
                    ],
                    "id": 1146,
                    "name": "VariableDeclaration",
                    "src": "6226:20:2"
                  }
                ],
                "id": 1147,
                "name": "ParameterList",
                "src": "6196:51:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 1192,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1148,
                        "name": "ElementaryTypeName",
                        "src": "6263:7:2"
                      }
                    ],
                    "id": 1149,
                    "name": "VariableDeclaration",
                    "src": "6263:7:2"
                  }
                ],
                "id": 1150,
                "name": "ParameterList",
                "src": "6262:9:2"
              },
              {
                "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 1151,
                            "name": "Identifier",
                            "src": "6282:7:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "&&",
                              "type": "bool"
                            },
                            "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,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1142,
                                      "type": "uint256",
                                      "value": "_precReq"
                                    },
                                    "id": 1152,
                                    "name": "Identifier",
                                    "src": "6290:8:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "313030",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 100",
                                      "value": "100"
                                    },
                                    "id": 1153,
                                    "name": "Literal",
                                    "src": "6302:3:2"
                                  }
                                ],
                                "id": 1154,
                                "name": "BinaryOperation",
                                "src": "6290:15:2"
                              },
                              {
                                "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": 1142,
                                      "type": "uint256",
                                      "value": "_precReq"
                                    },
                                    "id": 1155,
                                    "name": "Identifier",
                                    "src": "6309:8:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 1156,
                                    "name": "Literal",
                                    "src": "6320:1:2"
                                  }
                                ],
                                "id": 1157,
                                "name": "BinaryOperation",
                                "src": "6309:12:2"
                              }
                            ],
                            "id": 1158,
                            "name": "BinaryOperation",
                            "src": "6290:31:2"
                          }
                        ],
                        "id": 1159,
                        "name": "FunctionCall",
                        "src": "6282:40:2"
                      }
                    ],
                    "id": 1160,
                    "name": "ExpressionStatement",
                    "src": "6282:40:2"
                  },
                  {
                    "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 1161,
                            "name": "Identifier",
                            "src": "6332:7:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "&&",
                              "type": "bool"
                            },
                            "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,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1144,
                                      "type": "uint256",
                                      "value": "_quorum"
                                    },
                                    "id": 1162,
                                    "name": "Identifier",
                                    "src": "6340:7:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "313030",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 100",
                                      "value": "100"
                                    },
                                    "id": 1163,
                                    "name": "Literal",
                                    "src": "6351:3:2"
                                  }
                                ],
                                "id": 1164,
                                "name": "BinaryOperation",
                                "src": "6340:14:2"
                              },
                              {
                                "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": 1144,
                                      "type": "uint256",
                                      "value": "_quorum"
                                    },
                                    "id": 1165,
                                    "name": "Identifier",
                                    "src": "6358:7:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 1166,
                                    "name": "Literal",
                                    "src": "6368:1:2"
                                  }
                                ],
                                "id": 1167,
                                "name": "BinaryOperation",
                                "src": "6358:11:2"
                              }
                            ],
                            "id": 1168,
                            "name": "BinaryOperation",
                            "src": "6340:29:2"
                          }
                        ],
                        "id": 1169,
                        "name": "FunctionCall",
                        "src": "6332:38:2"
                      }
                    ],
                    "id": 1170,
                    "name": "ExpressionStatement",
                    "src": "6332:38:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1172
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "hashedParameters",
                          "scope": 1192,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1171,
                            "name": "ElementaryTypeName",
                            "src": "6380:7:2"
                          }
                        ],
                        "id": 1172,
                        "name": "VariableDeclaration",
                        "src": "6380:24:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1210,
                              "type": "function (uint256,uint256,uint256) pure returns (bytes32)",
                              "value": "getProposalParametersHash"
                            },
                            "id": 1173,
                            "name": "Identifier",
                            "src": "6407:25:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1142,
                              "type": "uint256",
                              "value": "_precReq"
                            },
                            "id": 1174,
                            "name": "Identifier",
                            "src": "6433:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1144,
                              "type": "uint256",
                              "value": "_quorum"
                            },
                            "id": 1175,
                            "name": "Identifier",
                            "src": "6443:7:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1146,
                              "type": "uint256",
                              "value": "_boostTimeFrame"
                            },
                            "id": 1176,
                            "name": "Identifier",
                            "src": "6452:15:2"
                          }
                        ],
                        "id": 1177,
                        "name": "FunctionCall",
                        "src": "6407:61:2"
                      }
                    ],
                    "id": 1178,
                    "name": "VariableDeclarationStatement",
                    "src": "6380:88:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct EmergentVoteScheme.ProposalParameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct EmergentVoteScheme.ProposalParameters storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1009,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)",
                                  "value": "proposalsParameters"
                                },
                                "id": 1179,
                                "name": "Identifier",
                                "src": "6478:19:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1172,
                                  "type": "bytes32",
                                  "value": "hashedParameters"
                                },
                                "id": 1180,
                                "name": "Identifier",
                                "src": "6498:16:2"
                              }
                            ],
                            "id": 1181,
                            "name": "IndexAccess",
                            "src": "6478:37:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": true,
                              "lValueRequested": false,
                              "names": [
                                "precReq",
                                "quorum",
                                "boostTimeFrame"
                              ],
                              "type": "struct EmergentVoteScheme.ProposalParameters memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 925,
                                  "type": "type(struct EmergentVoteScheme.ProposalParameters storage pointer)",
                                  "value": "ProposalParameters"
                                },
                                "id": 1182,
                                "name": "Identifier",
                                "src": "6518:18:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1142,
                                  "type": "uint256",
                                  "value": "_precReq"
                                },
                                "id": 1183,
                                "name": "Identifier",
                                "src": "6560:8:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1144,
                                  "type": "uint256",
                                  "value": "_quorum"
                                },
                                "id": 1184,
                                "name": "Identifier",
                                "src": "6590:7:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1146,
                                  "type": "uint256",
                                  "value": "_boostTimeFrame"
                                },
                                "id": 1185,
                                "name": "Identifier",
                                "src": "6627:15:2"
                              }
                            ],
                            "id": 1186,
                            "name": "FunctionCall",
                            "src": "6518:135:2"
                          }
                        ],
                        "id": 1187,
                        "name": "Assignment",
                        "src": "6478:175:2"
                      }
                    ],
                    "id": 1188,
                    "name": "ExpressionStatement",
                    "src": "6478:175:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 1150
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 1172,
                          "type": "bytes32",
                          "value": "hashedParameters"
                        },
                        "id": 1189,
                        "name": "Identifier",
                        "src": "6670:16:2"
                      }
                    ],
                    "id": 1190,
                    "name": "Return",
                    "src": "6663:23:2"
                  }
                ],
                "id": 1191,
                "name": "Block",
                "src": "6272:421:2"
              }
            ],
            "id": 1192,
            "name": "FunctionDefinition",
            "src": "6166:527:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getProposalParametersHash",
              "payable": false,
              "scope": 2535,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_precReq",
                      "scope": 1210,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1193,
                        "name": "ElementaryTypeName",
                        "src": "6814:4:2"
                      }
                    ],
                    "id": 1194,
                    "name": "VariableDeclaration",
                    "src": "6814:13:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_quorum",
                      "scope": 1210,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1195,
                        "name": "ElementaryTypeName",
                        "src": "6829:4:2"
                      }
                    ],
                    "id": 1196,
                    "name": "VariableDeclaration",
                    "src": "6829:12:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_boostTimeFrame",
                      "scope": 1210,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1197,
                        "name": "ElementaryTypeName",
                        "src": "6843:4:2"
                      }
                    ],
                    "id": 1198,
                    "name": "VariableDeclaration",
                    "src": "6843:20:2"
                  }
                ],
                "id": 1199,
                "name": "ParameterList",
                "src": "6813:51:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 1210,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1200,
                        "name": "ElementaryTypeName",
                        "src": "6885:7:2"
                      }
                    ],
                    "id": 1201,
                    "name": "VariableDeclaration",
                    "src": "6885:7:2"
                  }
                ],
                "id": 1202,
                "name": "ParameterList",
                "src": "6884:9:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 1202
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10861,
                              "type": "function () pure returns (bytes32)",
                              "value": "keccak256"
                            },
                            "id": 1203,
                            "name": "Identifier",
                            "src": "6911:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1194,
                              "type": "uint256",
                              "value": "_precReq"
                            },
                            "id": 1204,
                            "name": "Identifier",
                            "src": "6921:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1196,
                              "type": "uint256",
                              "value": "_quorum"
                            },
                            "id": 1205,
                            "name": "Identifier",
                            "src": "6931:7:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1198,
                              "type": "uint256",
                              "value": "_boostTimeFrame"
                            },
                            "id": 1206,
                            "name": "Identifier",
                            "src": "6940:15:2"
                          }
                        ],
                        "id": 1207,
                        "name": "FunctionCall",
                        "src": "6911:45:2"
                      }
                    ],
                    "id": 1208,
                    "name": "Return",
                    "src": "6904:52:2"
                  }
                ],
                "id": 1209,
                "name": "Block",
                "src": "6894:69:2"
              }
            ],
            "id": 1210,
            "name": "FunctionDefinition",
            "src": "6779:184:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "propose",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": 2563,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_numOfChoices",
                      "scope": 1315,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1211,
                        "name": "ElementaryTypeName",
                        "src": "7560:4:2"
                      }
                    ],
                    "id": 1212,
                    "name": "VariableDeclaration",
                    "src": "7560:18:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_paramsHash",
                      "scope": 1315,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1213,
                        "name": "ElementaryTypeName",
                        "src": "7588:7:2"
                      }
                    ],
                    "id": 1214,
                    "name": "VariableDeclaration",
                    "src": "7588:19:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 1315,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 1215,
                        "name": "ElementaryTypeName",
                        "src": "7617:7:2"
                      }
                    ],
                    "id": 1216,
                    "name": "VariableDeclaration",
                    "src": "7617:15:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_executable",
                      "scope": 1315,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract ExecutableInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "ExecutableInterface",
                          "referencedDeclaration": 6617,
                          "type": "contract ExecutableInterface"
                        },
                        "id": 1217,
                        "name": "UserDefinedTypeName",
                        "src": "7642:19:2"
                      }
                    ],
                    "id": 1218,
                    "name": "VariableDeclaration",
                    "src": "7642:31:2"
                  }
                ],
                "id": 1219,
                "name": "ParameterList",
                "src": "7550:129:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 1315,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1220,
                        "name": "ElementaryTypeName",
                        "src": "7695:7:2"
                      }
                    ],
                    "id": 1221,
                    "name": "VariableDeclaration",
                    "src": "7695:7:2"
                  }
                ],
                "id": 1222,
                "name": "ParameterList",
                "src": "7694:9:2"
              },
              {
                "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 1223,
                            "name": "Identifier",
                            "src": "7760:7:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "&&",
                              "type": "bool"
                            },
                            "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,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1212,
                                      "type": "uint256",
                                      "value": "_numOfChoices"
                                    },
                                    "id": 1224,
                                    "name": "Identifier",
                                    "src": "7768:13:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 1225,
                                    "name": "Literal",
                                    "src": "7784:1:2"
                                  }
                                ],
                                "id": 1226,
                                "name": "BinaryOperation",
                                "src": "7768:17:2"
                              },
                              {
                                "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": 1212,
                                      "type": "uint256",
                                      "value": "_numOfChoices"
                                    },
                                    "id": 1227,
                                    "name": "Identifier",
                                    "src": "7789:13:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1016,
                                      "type": "uint256",
                                      "value": "MAX_NUM_OF_CHOICES"
                                    },
                                    "id": 1228,
                                    "name": "Identifier",
                                    "src": "7806:18:2"
                                  }
                                ],
                                "id": 1229,
                                "name": "BinaryOperation",
                                "src": "7789:35:2"
                              }
                            ],
                            "id": 1230,
                            "name": "BinaryOperation",
                            "src": "7768:56:2"
                          }
                        ],
                        "id": 1231,
                        "name": "FunctionCall",
                        "src": "7760:65:2"
                      }
                    ],
                    "id": 1232,
                    "name": "ExpressionStatement",
                    "src": "7760:65:2"
                  },
                  {
                    "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 1233,
                            "name": "Identifier",
                            "src": "7872:7:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "isRegistered",
                              "referencedDeclaration": 895,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct EmergentVoteScheme.Organization storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1001,
                                      "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)",
                                      "value": "organizations"
                                    },
                                    "id": 1234,
                                    "name": "Identifier",
                                    "src": "7880:13:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1216,
                                      "type": "address",
                                      "value": "_avatar"
                                    },
                                    "id": 1235,
                                    "name": "Identifier",
                                    "src": "7894:7:2"
                                  }
                                ],
                                "id": 1236,
                                "name": "IndexAccess",
                                "src": "7880:22:2"
                              }
                            ],
                            "id": 1237,
                            "name": "MemberAccess",
                            "src": "7880:35:2"
                          }
                        ],
                        "id": 1238,
                        "name": "FunctionCall",
                        "src": "7872:44:2"
                      }
                    ],
                    "id": 1239,
                    "name": "ExpressionStatement",
                    "src": "7872:44:2"
                  },
                  {
                    "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 1240,
                            "name": "Identifier",
                            "src": "7958:7:2"
                          },
                          {
                            "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": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "precReq",
                                  "referencedDeclaration": 920,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct EmergentVoteScheme.ProposalParameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1009,
                                          "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)",
                                          "value": "proposalsParameters"
                                        },
                                        "id": 1241,
                                        "name": "Identifier",
                                        "src": "7966:19:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1214,
                                          "type": "bytes32",
                                          "value": "_paramsHash"
                                        },
                                        "id": 1242,
                                        "name": "Identifier",
                                        "src": "7986:11:2"
                                      }
                                    ],
                                    "id": 1243,
                                    "name": "IndexAccess",
                                    "src": "7966:32:2"
                                  }
                                ],
                                "id": 1244,
                                "name": "MemberAccess",
                                "src": "7966:40:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 1245,
                                "name": "Literal",
                                "src": "8010:1:2"
                              }
                            ],
                            "id": 1246,
                            "name": "BinaryOperation",
                            "src": "7966:45:2"
                          }
                        ],
                        "id": 1247,
                        "name": "FunctionCall",
                        "src": "7958:54:2"
                      }
                    ],
                    "id": 1248,
                    "name": "ExpressionStatement",
                    "src": "7958:54:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1250
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposalId",
                          "scope": 1315,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1249,
                            "name": "ElementaryTypeName",
                            "src": "8056:7:2"
                          }
                        ],
                        "id": 1250,
                        "name": "VariableDeclaration",
                        "src": "8056:18:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_EmergentVoteScheme_$2535",
                                  "typeString": "contract EmergentVoteScheme"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10861,
                              "type": "function () pure returns (bytes32)",
                              "value": "keccak256"
                            },
                            "id": 1251,
                            "name": "Identifier",
                            "src": "8077:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10922,
                              "type": "contract EmergentVoteScheme",
                              "value": "this"
                            },
                            "id": 1252,
                            "name": "Identifier",
                            "src": "8087:4:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1018,
                              "type": "uint256",
                              "value": "proposalsCnt"
                            },
                            "id": 1253,
                            "name": "Identifier",
                            "src": "8093:12:2"
                          }
                        ],
                        "id": 1254,
                        "name": "FunctionCall",
                        "src": "8077:29:2"
                      }
                    ],
                    "id": 1255,
                    "name": "VariableDeclarationStatement",
                    "src": "8056:50:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "++",
                          "prefix": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1018,
                              "type": "uint256",
                              "value": "proposalsCnt"
                            },
                            "id": 1256,
                            "name": "Identifier",
                            "src": "8116:12:2"
                          }
                        ],
                        "id": 1257,
                        "name": "UnaryOperation",
                        "src": "8116:14:2"
                      }
                    ],
                    "id": 1258,
                    "name": "ExpressionStatement",
                    "src": "8116:14:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 1315,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct EmergentVoteScheme.Proposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 961,
                              "type": "struct EmergentVoteScheme.Proposal storage pointer"
                            },
                            "id": 1259,
                            "name": "UserDefinedTypeName",
                            "src": "8167:8:2"
                          }
                        ],
                        "id": 1260,
                        "name": "VariableDeclaration",
                        "src": "8167:24:2"
                      }
                    ],
                    "id": 1261,
                    "name": "VariableDeclarationStatement",
                    "src": "8167:24:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "paramsHash",
                              "referencedDeclaration": 940,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1260,
                                  "type": "struct EmergentVoteScheme.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 1262,
                                "name": "Identifier",
                                "src": "8201:8:2"
                              }
                            ],
                            "id": 1264,
                            "name": "MemberAccess",
                            "src": "8201:19:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1214,
                              "type": "bytes32",
                              "value": "_paramsHash"
                            },
                            "id": 1265,
                            "name": "Identifier",
                            "src": "8223:11:2"
                          }
                        ],
                        "id": 1266,
                        "name": "Assignment",
                        "src": "8201:33:2"
                      }
                    ],
                    "id": 1267,
                    "name": "ExpressionStatement",
                    "src": "8201:33:2"
                  },
                  {
                    "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,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 936,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1260,
                                  "type": "struct EmergentVoteScheme.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 1268,
                                "name": "Identifier",
                                "src": "8244:8:2"
                              }
                            ],
                            "id": 1270,
                            "name": "MemberAccess",
                            "src": "8244:21:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1212,
                              "type": "uint256",
                              "value": "_numOfChoices"
                            },
                            "id": 1271,
                            "name": "Identifier",
                            "src": "8268:13:2"
                          }
                        ],
                        "id": 1272,
                        "name": "Assignment",
                        "src": "8244:37:2"
                      }
                    ],
                    "id": 1273,
                    "name": "ExpressionStatement",
                    "src": "8244:37:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "avatar",
                              "referencedDeclaration": 934,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1260,
                                  "type": "struct EmergentVoteScheme.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 1274,
                                "name": "Identifier",
                                "src": "8291:8:2"
                              }
                            ],
                            "id": 1276,
                            "name": "MemberAccess",
                            "src": "8291:15:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1216,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 1277,
                            "name": "Identifier",
                            "src": "8309:7:2"
                          }
                        ],
                        "id": 1278,
                        "name": "Assignment",
                        "src": "8291:25:2"
                      }
                    ],
                    "id": 1279,
                    "name": "ExpressionStatement",
                    "src": "8291:25:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract ExecutableInterface"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "executable",
                              "referencedDeclaration": 938,
                              "type": "contract ExecutableInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1260,
                                  "type": "struct EmergentVoteScheme.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 1280,
                                "name": "Identifier",
                                "src": "8326:8:2"
                              }
                            ],
                            "id": 1282,
                            "name": "MemberAccess",
                            "src": "8326:19:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1218,
                              "type": "contract ExecutableInterface",
                              "value": "_executable"
                            },
                            "id": 1283,
                            "name": "Identifier",
                            "src": "8348:11:2"
                          }
                        ],
                        "id": 1284,
                        "name": "Assignment",
                        "src": "8326:33:2"
                      }
                    ],
                    "id": 1285,
                    "name": "ExpressionStatement",
                    "src": "8326:33:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "owner",
                              "referencedDeclaration": 932,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1260,
                                  "type": "struct EmergentVoteScheme.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 1286,
                                "name": "Identifier",
                                "src": "8369:8:2"
                              }
                            ],
                            "id": 1288,
                            "name": "MemberAccess",
                            "src": "8369:14:2"
                          },
                          {
                            "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": 10867,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 1289,
                                "name": "Identifier",
                                "src": "8386:3:2"
                              }
                            ],
                            "id": 1290,
                            "name": "MemberAccess",
                            "src": "8386:10:2"
                          }
                        ],
                        "id": 1291,
                        "name": "Assignment",
                        "src": "8369:27:2"
                      }
                    ],
                    "id": 1292,
                    "name": "ExpressionStatement",
                    "src": "8369:27:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "opened",
                              "referencedDeclaration": 952,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1260,
                                  "type": "struct EmergentVoteScheme.Proposal memory",
                                  "value": "proposal"
                                },
                                "id": 1293,
                                "name": "Identifier",
                                "src": "8406:8:2"
                              }
                            ],
                            "id": 1295,
                            "name": "MemberAccess",
                            "src": "8406:15:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "74727565",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "true"
                            },
                            "id": 1296,
                            "name": "Literal",
                            "src": "8424:4:2"
                          }
                        ],
                        "id": 1297,
                        "name": "Assignment",
                        "src": "8406:22:2"
                      }
                    ],
                    "id": 1298,
                    "name": "ExpressionStatement",
                    "src": "8406:22:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct EmergentVoteScheme.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct EmergentVoteScheme.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1013,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 1299,
                                "name": "Identifier",
                                "src": "8438:9:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1250,
                                  "type": "bytes32",
                                  "value": "proposalId"
                                },
                                "id": 1300,
                                "name": "Identifier",
                                "src": "8448:10:2"
                              }
                            ],
                            "id": 1301,
                            "name": "IndexAccess",
                            "src": "8438:21:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1260,
                              "type": "struct EmergentVoteScheme.Proposal memory",
                              "value": "proposal"
                            },
                            "id": 1302,
                            "name": "Identifier",
                            "src": "8462:8:2"
                          }
                        ],
                        "id": 1303,
                        "name": "Assignment",
                        "src": "8438:32:2"
                      }
                    ],
                    "id": 1304,
                    "name": "ExpressionStatement",
                    "src": "8438:32:2"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                969,
                                8432
                              ],
                              "referencedDeclaration": 969,
                              "type": "function (bytes32,address,bytes32)",
                              "value": "LogNewProposal"
                            },
                            "id": 1305,
                            "name": "Identifier",
                            "src": "8480:14:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1250,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 1306,
                            "name": "Identifier",
                            "src": "8495:10:2"
                          },
                          {
                            "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": 10867,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 1307,
                                "name": "Identifier",
                                "src": "8507:3:2"
                              }
                            ],
                            "id": 1308,
                            "name": "MemberAccess",
                            "src": "8507:10:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1214,
                              "type": "bytes32",
                              "value": "_paramsHash"
                            },
                            "id": 1309,
                            "name": "Identifier",
                            "src": "8519:11:2"
                          }
                        ],
                        "id": 1310,
                        "name": "FunctionCall",
                        "src": "8480:51:2"
                      }
                    ],
                    "id": 1311,
                    "name": "ExpressionStatement",
                    "src": "8480:51:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 1222
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 1250,
                          "type": "bytes32",
                          "value": "proposalId"
                        },
                        "id": 1312,
                        "name": "Identifier",
                        "src": "8548:10:2"
                      }
                    ],
                    "id": 1313,
                    "name": "Return",
                    "src": "8541:17:2"
                  }
                ],
                "id": 1314,
                "name": "Block",
                "src": "7708:857:2"
              }
            ],
            "id": 1315,
            "name": "FunctionDefinition",
            "src": "7534:1031:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "cancelProposal",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": 2576,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 1393,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1316,
                        "name": "ElementaryTypeName",
                        "src": "8831:7:2"
                      }
                    ],
                    "id": 1317,
                    "name": "VariableDeclaration",
                    "src": "8831:19:2"
                  }
                ],
                "id": 1318,
                "name": "ParameterList",
                "src": "8830:21:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 1393,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1325,
                        "name": "ElementaryTypeName",
                        "src": "8919:4:2"
                      }
                    ],
                    "id": 1326,
                    "name": "VariableDeclaration",
                    "src": "8919:4:2"
                  }
                ],
                "id": 1327,
                "name": "ParameterList",
                "src": "8918:6:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1034,
                      "type": "modifier (bytes32)",
                      "value": "onlyProposalOwner"
                    },
                    "id": 1319,
                    "name": "Identifier",
                    "src": "8859:17:2"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1317,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 1320,
                    "name": "Identifier",
                    "src": "8877:11:2"
                  }
                ],
                "id": 1321,
                "name": "ModifierInvocation",
                "src": "8859:30:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1047,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 1322,
                    "name": "Identifier",
                    "src": "8890:7:2"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1317,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 1323,
                    "name": "Identifier",
                    "src": "8898:11:2"
                  }
                ],
                "id": 1324,
                "name": "ModifierInvocation",
                "src": "8890:20:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        1329
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "avatar",
                          "scope": 1393,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "address",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 1328,
                            "name": "ElementaryTypeName",
                            "src": "8935:7:2"
                          }
                        ],
                        "id": 1329,
                        "name": "VariableDeclaration",
                        "src": "8935:14:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "avatar",
                          "referencedDeclaration": 934,
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct EmergentVoteScheme.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1013,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 1330,
                                "name": "Identifier",
                                "src": "8952:9:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1317,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 1331,
                                "name": "Identifier",
                                "src": "8962:11:2"
                              }
                            ],
                            "id": 1332,
                            "name": "IndexAccess",
                            "src": "8952:22:2"
                          }
                        ],
                        "id": 1333,
                        "name": "MemberAccess",
                        "src": "8952:29:2"
                      }
                    ],
                    "id": 1334,
                    "name": "VariableDeclarationStatement",
                    "src": "8935:46:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1336
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 1393,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1335,
                            "name": "ElementaryTypeName",
                            "src": "8991:7:2"
                          }
                        ],
                        "id": 1336,
                        "name": "VariableDeclaration",
                        "src": "8991:18:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                }
                              ],
                              "overloadedDeclarations": [
                                8464
                              ],
                              "referencedDeclaration": 8464,
                              "type": "function (contract Avatar) view returns (bytes32)",
                              "value": "getParametersFromController"
                            },
                            "id": 1337,
                            "name": "Identifier",
                            "src": "9012:27:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract Avatar",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3065,
                                  "type": "type(contract Avatar)",
                                  "value": "Avatar"
                                },
                                "id": 1338,
                                "name": "Identifier",
                                "src": "9040:6:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1329,
                                  "type": "address",
                                  "value": "avatar"
                                },
                                "id": 1339,
                                "name": "Identifier",
                                "src": "9047:6:2"
                              }
                            ],
                            "id": 1340,
                            "name": "FunctionCall",
                            "src": "9040:14:2"
                          }
                        ],
                        "id": 1341,
                        "name": "FunctionCall",
                        "src": "9012:43:2"
                      }
                    ],
                    "id": 1342,
                    "name": "VariableDeclarationStatement",
                    "src": "8991:64:2"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "!",
                          "prefix": true,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "allowOwner",
                              "referencedDeclaration": 917,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct EmergentVoteScheme.OrgParameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1005,
                                      "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)",
                                      "value": "organizationsParameters"
                                    },
                                    "id": 1343,
                                    "name": "Identifier",
                                    "src": "9071:23:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1336,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 1344,
                                    "name": "Identifier",
                                    "src": "9095:10:2"
                                  }
                                ],
                                "id": 1345,
                                "name": "IndexAccess",
                                "src": "9071:35:2"
                              }
                            ],
                            "id": 1346,
                            "name": "MemberAccess",
                            "src": "9071:46:2"
                          }
                        ],
                        "id": 1347,
                        "name": "UnaryOperation",
                        "src": "9069:48:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 1327
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "66616c7365",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "bool",
                                  "type": "bool",
                                  "value": "false"
                                },
                                "id": 1348,
                                "name": "Literal",
                                "src": "9140:5:2"
                              }
                            ],
                            "id": 1349,
                            "name": "Return",
                            "src": "9133:12:2"
                          }
                        ],
                        "id": 1350,
                        "name": "Block",
                        "src": "9119:37:2"
                      }
                    ],
                    "id": 1351,
                    "name": "IfStatement",
                    "src": "9065:91:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "isFound",
                          "scope": 1393,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bool",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bool",
                              "type": "bool"
                            },
                            "id": 1352,
                            "name": "ElementaryTypeName",
                            "src": "9226:4:2"
                          }
                        ],
                        "id": 1353,
                        "name": "VariableDeclaration",
                        "src": "9226:12:2"
                      }
                    ],
                    "id": 1354,
                    "name": "VariableDeclarationStatement",
                    "src": "9226:12:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "index",
                          "scope": 1393,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 1355,
                            "name": "ElementaryTypeName",
                            "src": "9248:4:2"
                          }
                        ],
                        "id": 1356,
                        "name": "VariableDeclaration",
                        "src": "9248:10:2"
                      }
                    ],
                    "id": 1357,
                    "name": "VariableDeclarationStatement",
                    "src": "9248:10:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "tuple(bool,uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1353,
                                  "type": "bool",
                                  "value": "isFound"
                                },
                                "id": 1358,
                                "name": "Identifier",
                                "src": "9269:7:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1356,
                                  "type": "uint256",
                                  "value": "index"
                                },
                                "id": 1359,
                                "name": "Identifier",
                                "src": "9278:5:2"
                              }
                            ],
                            "id": 1360,
                            "name": "TupleExpression",
                            "src": "9268:16:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "tuple(bool,uint256)",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                      "typeString": "bytes32[] storage ref"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1542,
                                  "type": "function (bytes32[] memory,bytes32) pure returns (bool,uint256)",
                                  "value": "findInArray"
                                },
                                "id": 1361,
                                "name": "Identifier",
                                "src": "9287:11:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "awaitingBoostProposals",
                                  "referencedDeclaration": 900,
                                  "type": "bytes32[] storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct EmergentVoteScheme.Organization storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1001,
                                          "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)",
                                          "value": "organizations"
                                        },
                                        "id": 1362,
                                        "name": "Identifier",
                                        "src": "9299:13:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1329,
                                          "type": "address",
                                          "value": "avatar"
                                        },
                                        "id": 1363,
                                        "name": "Identifier",
                                        "src": "9313:6:2"
                                      }
                                    ],
                                    "id": 1364,
                                    "name": "IndexAccess",
                                    "src": "9299:21:2"
                                  }
                                ],
                                "id": 1365,
                                "name": "MemberAccess",
                                "src": "9299:44:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1317,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 1366,
                                "name": "Identifier",
                                "src": "9345:11:2"
                              }
                            ],
                            "id": 1367,
                            "name": "FunctionCall",
                            "src": "9287:70:2"
                          }
                        ],
                        "id": 1368,
                        "name": "Assignment",
                        "src": "9268:89:2"
                      }
                    ],
                    "id": 1369,
                    "name": "ExpressionStatement",
                    "src": "9268:89:2"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 1353,
                          "type": "bool",
                          "value": "isFound"
                        },
                        "id": 1370,
                        "name": "Identifier",
                        "src": "9371:7:2"
                      },
                      {
                        "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_array$_t_bytes32_$dyn_storage",
                                          "typeString": "bytes32[] storage ref"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2377,
                                      "type": "function (bytes32[] storage pointer,uint256)",
                                      "value": "deleteFromArray"
                                    },
                                    "id": 1371,
                                    "name": "Identifier",
                                    "src": "9394:15:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "awaitingBoostProposals",
                                      "referencedDeclaration": 900,
                                      "type": "bytes32[] storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct EmergentVoteScheme.Organization storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1001,
                                              "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)",
                                              "value": "organizations"
                                            },
                                            "id": 1372,
                                            "name": "Identifier",
                                            "src": "9410:13:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1329,
                                              "type": "address",
                                              "value": "avatar"
                                            },
                                            "id": 1373,
                                            "name": "Identifier",
                                            "src": "9424:6:2"
                                          }
                                        ],
                                        "id": 1374,
                                        "name": "IndexAccess",
                                        "src": "9410:21:2"
                                      }
                                    ],
                                    "id": 1375,
                                    "name": "MemberAccess",
                                    "src": "9410:44:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1356,
                                      "type": "uint256",
                                      "value": "index"
                                    },
                                    "id": 1376,
                                    "name": "Identifier",
                                    "src": "9456:5:2"
                                  }
                                ],
                                "id": 1377,
                                "name": "FunctionCall",
                                "src": "9394:68:2"
                              }
                            ],
                            "id": 1378,
                            "name": "ExpressionStatement",
                            "src": "9394:68:2"
                          }
                        ],
                        "id": 1379,
                        "name": "Block",
                        "src": "9380:93:2"
                      }
                    ],
                    "id": 1380,
                    "name": "IfStatement",
                    "src": "9367:106:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "delete",
                          "prefix": true,
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct EmergentVoteScheme.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1013,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 1381,
                                "name": "Identifier",
                                "src": "9490:9:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1317,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 1382,
                                "name": "Identifier",
                                "src": "9500:11:2"
                              }
                            ],
                            "id": 1383,
                            "name": "IndexAccess",
                            "src": "9490:22:2"
                          }
                        ],
                        "id": 1384,
                        "name": "UnaryOperation",
                        "src": "9483:29:2"
                      }
                    ],
                    "id": 1385,
                    "name": "ExpressionStatement",
                    "src": "9483:29:2"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 973,
                              "type": "function (bytes32)",
                              "value": "LogCancelProposal"
                            },
                            "id": 1386,
                            "name": "Identifier",
                            "src": "9522:17:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1317,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 1387,
                            "name": "Identifier",
                            "src": "9540:11:2"
                          }
                        ],
                        "id": 1388,
                        "name": "FunctionCall",
                        "src": "9522:30:2"
                      }
                    ],
                    "id": 1389,
                    "name": "ExpressionStatement",
                    "src": "9522:30:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 1327
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 1390,
                        "name": "Literal",
                        "src": "9569:4:2"
                      }
                    ],
                    "id": 1391,
                    "name": "Return",
                    "src": "9562:11:2"
                  }
                ],
                "id": 1392,
                "name": "Block",
                "src": "8925:655:2"
              }
            ],
            "id": 1393,
            "name": "FunctionDefinition",
            "src": "8807:773:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "proposalScore",
              "payable": false,
              "scope": 2535,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 1415,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1394,
                        "name": "ElementaryTypeName",
                        "src": "9846:7:2"
                      }
                    ],
                    "id": 1395,
                    "name": "VariableDeclaration",
                    "src": "9846:19:2"
                  }
                ],
                "id": 1396,
                "name": "ParameterList",
                "src": "9845:21:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 1415,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1397,
                        "name": "ElementaryTypeName",
                        "src": "9891:4:2"
                      }
                    ],
                    "id": 1398,
                    "name": "VariableDeclaration",
                    "src": "9891:4:2"
                  }
                ],
                "id": 1399,
                "name": "ParameterList",
                "src": "9890:6:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        1401
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 1415,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct EmergentVoteScheme.Proposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 961,
                              "type": "struct EmergentVoteScheme.Proposal storage pointer"
                            },
                            "id": 1400,
                            "name": "UserDefinedTypeName",
                            "src": "9907:8:2"
                          }
                        ],
                        "id": 1401,
                        "name": "VariableDeclaration",
                        "src": "9907:24:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1013,
                              "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 1402,
                            "name": "Identifier",
                            "src": "9934:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1395,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 1403,
                            "name": "Identifier",
                            "src": "9944:11:2"
                          }
                        ],
                        "id": 1404,
                        "name": "IndexAccess",
                        "src": "9934:22:2"
                      }
                    ],
                    "id": 1405,
                    "name": "VariableDeclarationStatement",
                    "src": "9907:49:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 1399
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "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": "mul",
                                  "referencedDeclaration": 10158,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "boostedFunds",
                                      "referencedDeclaration": 960,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1401,
                                          "type": "struct EmergentVoteScheme.Proposal memory",
                                          "value": "proposal"
                                        },
                                        "id": 1406,
                                        "name": "Identifier",
                                        "src": "9974:8:2"
                                      }
                                    ],
                                    "id": 1407,
                                    "name": "MemberAccess",
                                    "src": "9974:21:2"
                                  }
                                ],
                                "id": 1408,
                                "name": "MemberAccess",
                                "src": "9974:25:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "totalVotes",
                                  "referencedDeclaration": 942,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1401,
                                      "type": "struct EmergentVoteScheme.Proposal memory",
                                      "value": "proposal"
                                    },
                                    "id": 1409,
                                    "name": "Identifier",
                                    "src": "10000:8:2"
                                  }
                                ],
                                "id": 1410,
                                "name": "MemberAccess",
                                "src": "10000:19:2"
                              }
                            ],
                            "id": 1411,
                            "name": "FunctionCall",
                            "src": "9974:46:2"
                          }
                        ],
                        "id": 1412,
                        "name": "TupleExpression",
                        "src": "9973:48:2"
                      }
                    ],
                    "id": 1413,
                    "name": "Return",
                    "src": "9966:55:2"
                  }
                ],
                "id": 1414,
                "name": "Block",
                "src": "9897:131:2"
              }
            ],
            "id": 1415,
            "name": "FunctionDefinition",
            "src": "9823:205:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "findMinScore",
              "payable": false,
              "scope": 2535,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_idsArray",
                      "scope": 1460,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "bytes32[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1416,
                            "name": "ElementaryTypeName",
                            "src": "10340:7:2"
                          }
                        ],
                        "id": 1417,
                        "name": "ArrayTypeName",
                        "src": "10340:9:2"
                      }
                    ],
                    "id": 1418,
                    "name": "VariableDeclaration",
                    "src": "10340:19:2"
                  }
                ],
                "id": 1419,
                "name": "ParameterList",
                "src": "10339:21:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "index",
                      "scope": 1460,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1420,
                        "name": "ElementaryTypeName",
                        "src": "10385:4:2"
                      }
                    ],
                    "id": 1421,
                    "name": "VariableDeclaration",
                    "src": "10385:10:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "min",
                      "scope": 1460,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1422,
                        "name": "ElementaryTypeName",
                        "src": "10397:4:2"
                      }
                    ],
                    "id": 1423,
                    "name": "VariableDeclaration",
                    "src": "10397:8:2"
                  }
                ],
                "id": 1424,
                "name": "ParameterList",
                "src": "10384:22:2"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            1426
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt",
                              "scope": 1460,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 1425,
                                "name": "ElementaryTypeName",
                                "src": "10422:4:2"
                              }
                            ],
                            "id": 1426,
                            "name": "VariableDeclaration",
                            "src": "10422:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 1427,
                            "name": "Literal",
                            "src": "10433:1:2"
                          }
                        ],
                        "id": 1428,
                        "name": "VariableDeclarationStatement",
                        "src": "10422:12:2"
                      },
                      {
                        "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": 1426,
                              "type": "uint256",
                              "value": "cnt"
                            },
                            "id": 1429,
                            "name": "Identifier",
                            "src": "10436:3:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "length",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1418,
                                  "type": "bytes32[] memory",
                                  "value": "_idsArray"
                                },
                                "id": 1430,
                                "name": "Identifier",
                                "src": "10440:9:2"
                              }
                            ],
                            "id": 1431,
                            "name": "MemberAccess",
                            "src": "10440:16:2"
                          }
                        ],
                        "id": 1432,
                        "name": "BinaryOperation",
                        "src": "10436:20:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1426,
                                  "type": "uint256",
                                  "value": "cnt"
                                },
                                "id": 1433,
                                "name": "Identifier",
                                "src": "10458:3:2"
                              }
                            ],
                            "id": 1434,
                            "name": "UnaryOperation",
                            "src": "10458:5:2"
                          }
                        ],
                        "id": 1435,
                        "name": "ExpressionStatement",
                        "src": "10458:5:2"
                      },
                      {
                        "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,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "uint256",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          ],
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1415,
                                          "type": "function (bytes32) view returns (uint256)",
                                          "value": "proposalScore"
                                        },
                                        "id": 1436,
                                        "name": "Identifier",
                                        "src": "10483:13:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "bytes32"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1418,
                                              "type": "bytes32[] memory",
                                              "value": "_idsArray"
                                            },
                                            "id": 1437,
                                            "name": "Identifier",
                                            "src": "10497:9:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1426,
                                              "type": "uint256",
                                              "value": "cnt"
                                            },
                                            "id": 1438,
                                            "name": "Identifier",
                                            "src": "10507:3:2"
                                          }
                                        ],
                                        "id": 1439,
                                        "name": "IndexAccess",
                                        "src": "10497:14:2"
                                      }
                                    ],
                                    "id": 1440,
                                    "name": "FunctionCall",
                                    "src": "10483:29:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1423,
                                      "type": "uint256",
                                      "value": "min"
                                    },
                                    "id": 1441,
                                    "name": "Identifier",
                                    "src": "10515:3:2"
                                  }
                                ],
                                "id": 1442,
                                "name": "BinaryOperation",
                                "src": "10483:35:2"
                              },
                              {
                                "children": [
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "=",
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1421,
                                              "type": "uint256",
                                              "value": "index"
                                            },
                                            "id": 1443,
                                            "name": "Identifier",
                                            "src": "10538:5:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1426,
                                              "type": "uint256",
                                              "value": "cnt"
                                            },
                                            "id": 1444,
                                            "name": "Identifier",
                                            "src": "10546:3:2"
                                          }
                                        ],
                                        "id": 1445,
                                        "name": "Assignment",
                                        "src": "10538:11:2"
                                      }
                                    ],
                                    "id": 1446,
                                    "name": "ExpressionStatement",
                                    "src": "10538:11:2"
                                  },
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "=",
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1423,
                                              "type": "uint256",
                                              "value": "min"
                                            },
                                            "id": 1447,
                                            "name": "Identifier",
                                            "src": "10567:3:2"
                                          },
                                          {
                                            "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_bytes32",
                                                      "typeString": "bytes32"
                                                    }
                                                  ],
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1415,
                                                  "type": "function (bytes32) view returns (uint256)",
                                                  "value": "proposalScore"
                                                },
                                                "id": 1448,
                                                "name": "Identifier",
                                                "src": "10573:13:2"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "type": "bytes32"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 1418,
                                                      "type": "bytes32[] memory",
                                                      "value": "_idsArray"
                                                    },
                                                    "id": 1449,
                                                    "name": "Identifier",
                                                    "src": "10587:9:2"
                                                  },
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 1426,
                                                      "type": "uint256",
                                                      "value": "cnt"
                                                    },
                                                    "id": 1450,
                                                    "name": "Identifier",
                                                    "src": "10597:3:2"
                                                  }
                                                ],
                                                "id": 1451,
                                                "name": "IndexAccess",
                                                "src": "10587:14:2"
                                              }
                                            ],
                                            "id": 1452,
                                            "name": "FunctionCall",
                                            "src": "10573:29:2"
                                          }
                                        ],
                                        "id": 1453,
                                        "name": "Assignment",
                                        "src": "10567:35:2"
                                      }
                                    ],
                                    "id": 1454,
                                    "name": "ExpressionStatement",
                                    "src": "10567:35:2"
                                  }
                                ],
                                "id": 1455,
                                "name": "Block",
                                "src": "10520:97:2"
                              }
                            ],
                            "id": 1456,
                            "name": "IfStatement",
                            "src": "10479:138:2"
                          }
                        ],
                        "id": 1457,
                        "name": "Block",
                        "src": "10465:162:2"
                      }
                    ],
                    "id": 1458,
                    "name": "ForStatement",
                    "src": "10417:210:2"
                  }
                ],
                "id": 1459,
                "name": "Block",
                "src": "10407:226:2"
              }
            ],
            "id": 1460,
            "name": "FunctionDefinition",
            "src": "10318:315:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "findMaxScore",
              "payable": false,
              "scope": 2535,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_idsArray",
                      "scope": 1505,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "bytes32[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1461,
                            "name": "ElementaryTypeName",
                            "src": "10944:7:2"
                          }
                        ],
                        "id": 1462,
                        "name": "ArrayTypeName",
                        "src": "10944:9:2"
                      }
                    ],
                    "id": 1463,
                    "name": "VariableDeclaration",
                    "src": "10944:19:2"
                  }
                ],
                "id": 1464,
                "name": "ParameterList",
                "src": "10943:21:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "index",
                      "scope": 1505,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1465,
                        "name": "ElementaryTypeName",
                        "src": "10989:4:2"
                      }
                    ],
                    "id": 1466,
                    "name": "VariableDeclaration",
                    "src": "10989:10:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "max",
                      "scope": 1505,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1467,
                        "name": "ElementaryTypeName",
                        "src": "11001:4:2"
                      }
                    ],
                    "id": 1468,
                    "name": "VariableDeclaration",
                    "src": "11001:8:2"
                  }
                ],
                "id": 1469,
                "name": "ParameterList",
                "src": "10988:22:2"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            1471
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt",
                              "scope": 1505,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 1470,
                                "name": "ElementaryTypeName",
                                "src": "11026:4:2"
                              }
                            ],
                            "id": 1471,
                            "name": "VariableDeclaration",
                            "src": "11026:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 1472,
                            "name": "Literal",
                            "src": "11037:1:2"
                          }
                        ],
                        "id": 1473,
                        "name": "VariableDeclarationStatement",
                        "src": "11026:12:2"
                      },
                      {
                        "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": 1471,
                              "type": "uint256",
                              "value": "cnt"
                            },
                            "id": 1474,
                            "name": "Identifier",
                            "src": "11040:3:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "length",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1463,
                                  "type": "bytes32[] memory",
                                  "value": "_idsArray"
                                },
                                "id": 1475,
                                "name": "Identifier",
                                "src": "11044:9:2"
                              }
                            ],
                            "id": 1476,
                            "name": "MemberAccess",
                            "src": "11044:16:2"
                          }
                        ],
                        "id": 1477,
                        "name": "BinaryOperation",
                        "src": "11040:20:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1471,
                                  "type": "uint256",
                                  "value": "cnt"
                                },
                                "id": 1478,
                                "name": "Identifier",
                                "src": "11062:3:2"
                              }
                            ],
                            "id": 1479,
                            "name": "UnaryOperation",
                            "src": "11062:5:2"
                          }
                        ],
                        "id": 1480,
                        "name": "ExpressionStatement",
                        "src": "11062:5:2"
                      },
                      {
                        "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,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "uint256",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          ],
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1415,
                                          "type": "function (bytes32) view returns (uint256)",
                                          "value": "proposalScore"
                                        },
                                        "id": 1481,
                                        "name": "Identifier",
                                        "src": "11087:13:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "bytes32"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1463,
                                              "type": "bytes32[] memory",
                                              "value": "_idsArray"
                                            },
                                            "id": 1482,
                                            "name": "Identifier",
                                            "src": "11101:9:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1471,
                                              "type": "uint256",
                                              "value": "cnt"
                                            },
                                            "id": 1483,
                                            "name": "Identifier",
                                            "src": "11111:3:2"
                                          }
                                        ],
                                        "id": 1484,
                                        "name": "IndexAccess",
                                        "src": "11101:14:2"
                                      }
                                    ],
                                    "id": 1485,
                                    "name": "FunctionCall",
                                    "src": "11087:29:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1468,
                                      "type": "uint256",
                                      "value": "max"
                                    },
                                    "id": 1486,
                                    "name": "Identifier",
                                    "src": "11119:3:2"
                                  }
                                ],
                                "id": 1487,
                                "name": "BinaryOperation",
                                "src": "11087:35:2"
                              },
                              {
                                "children": [
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "=",
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1466,
                                              "type": "uint256",
                                              "value": "index"
                                            },
                                            "id": 1488,
                                            "name": "Identifier",
                                            "src": "11142:5:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1471,
                                              "type": "uint256",
                                              "value": "cnt"
                                            },
                                            "id": 1489,
                                            "name": "Identifier",
                                            "src": "11150:3:2"
                                          }
                                        ],
                                        "id": 1490,
                                        "name": "Assignment",
                                        "src": "11142:11:2"
                                      }
                                    ],
                                    "id": 1491,
                                    "name": "ExpressionStatement",
                                    "src": "11142:11:2"
                                  },
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "=",
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1468,
                                              "type": "uint256",
                                              "value": "max"
                                            },
                                            "id": 1492,
                                            "name": "Identifier",
                                            "src": "11171:3:2"
                                          },
                                          {
                                            "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_bytes32",
                                                      "typeString": "bytes32"
                                                    }
                                                  ],
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1415,
                                                  "type": "function (bytes32) view returns (uint256)",
                                                  "value": "proposalScore"
                                                },
                                                "id": 1493,
                                                "name": "Identifier",
                                                "src": "11177:13:2"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "type": "bytes32"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 1463,
                                                      "type": "bytes32[] memory",
                                                      "value": "_idsArray"
                                                    },
                                                    "id": 1494,
                                                    "name": "Identifier",
                                                    "src": "11191:9:2"
                                                  },
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 1471,
                                                      "type": "uint256",
                                                      "value": "cnt"
                                                    },
                                                    "id": 1495,
                                                    "name": "Identifier",
                                                    "src": "11201:3:2"
                                                  }
                                                ],
                                                "id": 1496,
                                                "name": "IndexAccess",
                                                "src": "11191:14:2"
                                              }
                                            ],
                                            "id": 1497,
                                            "name": "FunctionCall",
                                            "src": "11177:29:2"
                                          }
                                        ],
                                        "id": 1498,
                                        "name": "Assignment",
                                        "src": "11171:35:2"
                                      }
                                    ],
                                    "id": 1499,
                                    "name": "ExpressionStatement",
                                    "src": "11171:35:2"
                                  }
                                ],
                                "id": 1500,
                                "name": "Block",
                                "src": "11124:97:2"
                              }
                            ],
                            "id": 1501,
                            "name": "IfStatement",
                            "src": "11083:138:2"
                          }
                        ],
                        "id": 1502,
                        "name": "Block",
                        "src": "11069:162:2"
                      }
                    ],
                    "id": 1503,
                    "name": "ForStatement",
                    "src": "11021:210:2"
                  }
                ],
                "id": 1504,
                "name": "Block",
                "src": "11011:226:2"
              }
            ],
            "id": 1505,
            "name": "FunctionDefinition",
            "src": "10922:315:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "findInArray",
              "payable": false,
              "scope": 2535,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_idsArray",
                      "scope": 1542,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "bytes32[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1506,
                            "name": "ElementaryTypeName",
                            "src": "11568:7:2"
                          }
                        ],
                        "id": 1507,
                        "name": "ArrayTypeName",
                        "src": "11568:9:2"
                      }
                    ],
                    "id": 1508,
                    "name": "VariableDeclaration",
                    "src": "11568:19:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_id",
                      "scope": 1542,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1509,
                        "name": "ElementaryTypeName",
                        "src": "11589:7:2"
                      }
                    ],
                    "id": 1510,
                    "name": "VariableDeclaration",
                    "src": "11589:11:2"
                  }
                ],
                "id": 1511,
                "name": "ParameterList",
                "src": "11567:34:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "isFound",
                      "scope": 1542,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1512,
                        "name": "ElementaryTypeName",
                        "src": "11622:4:2"
                      }
                    ],
                    "id": 1513,
                    "name": "VariableDeclaration",
                    "src": "11622:12:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "index",
                      "scope": 1542,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1514,
                        "name": "ElementaryTypeName",
                        "src": "11636:4:2"
                      }
                    ],
                    "id": 1515,
                    "name": "VariableDeclaration",
                    "src": "11636:10:2"
                  }
                ],
                "id": 1516,
                "name": "ParameterList",
                "src": "11621:26:2"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            1518
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt",
                              "scope": 1542,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 1517,
                                "name": "ElementaryTypeName",
                                "src": "11663:4:2"
                              }
                            ],
                            "id": 1518,
                            "name": "VariableDeclaration",
                            "src": "11663:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 1519,
                            "name": "Literal",
                            "src": "11674:1:2"
                          }
                        ],
                        "id": 1520,
                        "name": "VariableDeclarationStatement",
                        "src": "11663:12:2"
                      },
                      {
                        "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": 1518,
                              "type": "uint256",
                              "value": "cnt"
                            },
                            "id": 1521,
                            "name": "Identifier",
                            "src": "11677:3:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "length",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1508,
                                  "type": "bytes32[] memory",
                                  "value": "_idsArray"
                                },
                                "id": 1522,
                                "name": "Identifier",
                                "src": "11681:9:2"
                              }
                            ],
                            "id": 1523,
                            "name": "MemberAccess",
                            "src": "11681:16:2"
                          }
                        ],
                        "id": 1524,
                        "name": "BinaryOperation",
                        "src": "11677:20:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1518,
                                  "type": "uint256",
                                  "value": "cnt"
                                },
                                "id": 1525,
                                "name": "Identifier",
                                "src": "11699:3:2"
                              }
                            ],
                            "id": 1526,
                            "name": "UnaryOperation",
                            "src": "11699:5:2"
                          }
                        ],
                        "id": 1527,
                        "name": "ExpressionStatement",
                        "src": "11699:5:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "falseBody": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "==",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1508,
                                          "type": "bytes32[] memory",
                                          "value": "_idsArray"
                                        },
                                        "id": 1528,
                                        "name": "Identifier",
                                        "src": "11724:9:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1518,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 1529,
                                        "name": "Identifier",
                                        "src": "11734:3:2"
                                      }
                                    ],
                                    "id": 1530,
                                    "name": "IndexAccess",
                                    "src": "11724:14:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1510,
                                      "type": "bytes32",
                                      "value": "_id"
                                    },
                                    "id": 1531,
                                    "name": "Identifier",
                                    "src": "11742:3:2"
                                  }
                                ],
                                "id": 1532,
                                "name": "BinaryOperation",
                                "src": "11724:21:2"
                              },
                              {
                                "children": [
                                  {
                                    "attributes": {
                                      "functionReturnParameters": 1516
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isInlineArray": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "tuple(bool,uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "74727565",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "bool",
                                              "type": "bool",
                                              "value": "true"
                                            },
                                            "id": 1533,
                                            "name": "Literal",
                                            "src": "11772:4:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1518,
                                              "type": "uint256",
                                              "value": "cnt"
                                            },
                                            "id": 1534,
                                            "name": "Identifier",
                                            "src": "11778:3:2"
                                          }
                                        ],
                                        "id": 1535,
                                        "name": "TupleExpression",
                                        "src": "11771:11:2"
                                      }
                                    ],
                                    "id": 1536,
                                    "name": "Return",
                                    "src": "11765:17:2"
                                  }
                                ],
                                "id": 1537,
                                "name": "Block",
                                "src": "11747:50:2"
                              }
                            ],
                            "id": 1538,
                            "name": "IfStatement",
                            "src": "11720:77:2"
                          }
                        ],
                        "id": 1539,
                        "name": "Block",
                        "src": "11706:101:2"
                      }
                    ],
                    "id": 1540,
                    "name": "ForStatement",
                    "src": "11658:149:2"
                  }
                ],
                "id": 1541,
                "name": "Block",
                "src": "11648:165:2"
              }
            ],
            "id": 1542,
            "name": "FunctionDefinition",
            "src": "11547:266:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "boostProposal",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 1628,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1543,
                        "name": "ElementaryTypeName",
                        "src": "12069:7:2"
                      }
                    ],
                    "id": 1544,
                    "name": "VariableDeclaration",
                    "src": "12069:19:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_boostValue",
                      "scope": 1628,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1545,
                        "name": "ElementaryTypeName",
                        "src": "12090:4:2"
                      }
                    ],
                    "id": 1546,
                    "name": "VariableDeclaration",
                    "src": "12090:16:2"
                  }
                ],
                "id": 1547,
                "name": "ParameterList",
                "src": "12068:39:2"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1548,
                "name": "ParameterList",
                "src": "12115:0:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "isBoostModeActive",
                          "referencedDeclaration": 954,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct EmergentVoteScheme.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1013,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 1549,
                                "name": "Identifier",
                                "src": "12186:9:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1544,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 1550,
                                "name": "Identifier",
                                "src": "12196:11:2"
                              }
                            ],
                            "id": 1551,
                            "name": "IndexAccess",
                            "src": "12186:22:2"
                          }
                        ],
                        "id": 1552,
                        "name": "MemberAccess",
                        "src": "12186:40:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "expression": null,
                              "functionReturnParameters": 1548
                            },
                            "id": 1553,
                            "name": "Return",
                            "src": "12242:7:2"
                          }
                        ],
                        "id": 1554,
                        "name": "Block",
                        "src": "12228:31:2"
                      }
                    ],
                    "id": 1555,
                    "name": "IfStatement",
                    "src": "12182:77:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1557
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "avatar",
                          "scope": 1628,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "address",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 1556,
                            "name": "ElementaryTypeName",
                            "src": "12314:7:2"
                          }
                        ],
                        "id": 1557,
                        "name": "VariableDeclaration",
                        "src": "12314:14:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "avatar",
                          "referencedDeclaration": 934,
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct EmergentVoteScheme.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1013,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 1558,
                                "name": "Identifier",
                                "src": "12331:9:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1544,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 1559,
                                "name": "Identifier",
                                "src": "12341:11:2"
                              }
                            ],
                            "id": 1560,
                            "name": "IndexAccess",
                            "src": "12331:22:2"
                          }
                        ],
                        "id": 1561,
                        "name": "MemberAccess",
                        "src": "12331:29:2"
                      }
                    ],
                    "id": 1562,
                    "name": "VariableDeclarationStatement",
                    "src": "12314:46:2"
                  },
                  {
                    "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 1563,
                            "name": "Identifier",
                            "src": "12370:7:2"
                          },
                          {
                            "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": 1557,
                                  "type": "address",
                                  "value": "avatar"
                                },
                                "id": 1564,
                                "name": "Identifier",
                                "src": "12378:6:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 1565,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "12388:7:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 1566,
                                    "name": "Literal",
                                    "src": "12396:1:2"
                                  }
                                ],
                                "id": 1567,
                                "name": "FunctionCall",
                                "src": "12388:10:2"
                              }
                            ],
                            "id": 1568,
                            "name": "BinaryOperation",
                            "src": "12378:20:2"
                          }
                        ],
                        "id": 1569,
                        "name": "FunctionCall",
                        "src": "12370:29:2"
                      }
                    ],
                    "id": 1570,
                    "name": "ExpressionStatement",
                    "src": "12370:29:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1572
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "orgParamsHash",
                          "scope": 1628,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1571,
                            "name": "ElementaryTypeName",
                            "src": "12433:7:2"
                          }
                        ],
                        "id": 1572,
                        "name": "VariableDeclaration",
                        "src": "12433:21:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                }
                              ],
                              "overloadedDeclarations": [
                                8464
                              ],
                              "referencedDeclaration": 8464,
                              "type": "function (contract Avatar) view returns (bytes32)",
                              "value": "getParametersFromController"
                            },
                            "id": 1573,
                            "name": "Identifier",
                            "src": "12457:27:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract Avatar",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3065,
                                  "type": "type(contract Avatar)",
                                  "value": "Avatar"
                                },
                                "id": 1574,
                                "name": "Identifier",
                                "src": "12485:6:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1557,
                                  "type": "address",
                                  "value": "avatar"
                                },
                                "id": 1575,
                                "name": "Identifier",
                                "src": "12492:6:2"
                              }
                            ],
                            "id": 1576,
                            "name": "FunctionCall",
                            "src": "12485:14:2"
                          }
                        ],
                        "id": 1577,
                        "name": "FunctionCall",
                        "src": "12457:43:2"
                      }
                    ],
                    "id": 1578,
                    "name": "VariableDeclarationStatement",
                    "src": "12433:67:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1580
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "orgParams",
                          "scope": 1628,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct EmergentVoteScheme.OrgParameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "OrgParameters",
                              "referencedDeclaration": 918,
                              "type": "struct EmergentVoteScheme.OrgParameters storage pointer"
                            },
                            "id": 1579,
                            "name": "UserDefinedTypeName",
                            "src": "12510:13:2"
                          }
                        ],
                        "id": 1580,
                        "name": "VariableDeclaration",
                        "src": "12510:30:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.OrgParameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1005,
                              "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)",
                              "value": "organizationsParameters"
                            },
                            "id": 1581,
                            "name": "Identifier",
                            "src": "12543:23:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1572,
                              "type": "bytes32",
                              "value": "orgParamsHash"
                            },
                            "id": 1582,
                            "name": "Identifier",
                            "src": "12567:13:2"
                          }
                        ],
                        "id": 1583,
                        "name": "IndexAccess",
                        "src": "12543:38:2"
                      }
                    ],
                    "id": 1584,
                    "name": "VariableDeclarationStatement",
                    "src": "12510:71:2"
                  },
                  {
                    "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": 10858,
                              "type": "function (bool) pure",
                              "value": "assert"
                            },
                            "id": 1585,
                            "name": "Identifier",
                            "src": "12656:6:2"
                          },
                          {
                            "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": 1546,
                                  "type": "uint256",
                                  "value": "_boostValue"
                                },
                                "id": 1586,
                                "name": "Identifier",
                                "src": "12663:11:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "minBoost",
                                  "referencedDeclaration": 915,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1580,
                                      "type": "struct EmergentVoteScheme.OrgParameters memory",
                                      "value": "orgParams"
                                    },
                                    "id": 1587,
                                    "name": "Identifier",
                                    "src": "12677:9:2"
                                  }
                                ],
                                "id": 1588,
                                "name": "MemberAccess",
                                "src": "12677:18:2"
                              }
                            ],
                            "id": 1589,
                            "name": "BinaryOperation",
                            "src": "12663:32:2"
                          }
                        ],
                        "id": 1590,
                        "name": "FunctionCall",
                        "src": "12656:40:2"
                      }
                    ],
                    "id": 1591,
                    "name": "ExpressionStatement",
                    "src": "12656:40:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "transferFrom",
                              "referencedDeclaration": 10709,
                              "type": "function (address,address,uint256) external returns (bool)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "boostToken",
                                  "referencedDeclaration": 905,
                                  "type": "contract StandardToken"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1580,
                                      "type": "struct EmergentVoteScheme.OrgParameters memory",
                                      "value": "orgParams"
                                    },
                                    "id": 1592,
                                    "name": "Identifier",
                                    "src": "12706:9:2"
                                  }
                                ],
                                "id": 1595,
                                "name": "MemberAccess",
                                "src": "12706:20:2"
                              }
                            ],
                            "id": 1596,
                            "name": "MemberAccess",
                            "src": "12706:33:2"
                          },
                          {
                            "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": 10867,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 1597,
                                "name": "Identifier",
                                "src": "12740:3:2"
                              }
                            ],
                            "id": 1598,
                            "name": "MemberAccess",
                            "src": "12740:10:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "beneficiary",
                              "referencedDeclaration": 907,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1580,
                                  "type": "struct EmergentVoteScheme.OrgParameters memory",
                                  "value": "orgParams"
                                },
                                "id": 1599,
                                "name": "Identifier",
                                "src": "12752:9:2"
                              }
                            ],
                            "id": 1600,
                            "name": "MemberAccess",
                            "src": "12752:21:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1546,
                              "type": "uint256",
                              "value": "_boostValue"
                            },
                            "id": 1601,
                            "name": "Identifier",
                            "src": "12775:11:2"
                          }
                        ],
                        "id": 1602,
                        "name": "FunctionCall",
                        "src": "12706:81:2"
                      }
                    ],
                    "id": 1603,
                    "name": "ExpressionStatement",
                    "src": "12706:81:2"
                  },
                  {
                    "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,
                              "member_name": "boostedFunds",
                              "referencedDeclaration": 960,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct EmergentVoteScheme.Proposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1013,
                                      "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                      "value": "proposals"
                                    },
                                    "id": 1604,
                                    "name": "Identifier",
                                    "src": "12819:9:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1544,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 1605,
                                    "name": "Identifier",
                                    "src": "12829:11:2"
                                  }
                                ],
                                "id": 1606,
                                "name": "IndexAccess",
                                "src": "12819:22:2"
                              }
                            ],
                            "id": 1607,
                            "name": "MemberAccess",
                            "src": "12819:35:2"
                          },
                          {
                            "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": 10220,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "boostedFunds",
                                      "referencedDeclaration": 960,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct EmergentVoteScheme.Proposal storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1013,
                                              "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                              "value": "proposals"
                                            },
                                            "id": 1608,
                                            "name": "Identifier",
                                            "src": "12857:9:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1544,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 1609,
                                            "name": "Identifier",
                                            "src": "12867:11:2"
                                          }
                                        ],
                                        "id": 1610,
                                        "name": "IndexAccess",
                                        "src": "12857:22:2"
                                      }
                                    ],
                                    "id": 1611,
                                    "name": "MemberAccess",
                                    "src": "12857:35:2"
                                  }
                                ],
                                "id": 1612,
                                "name": "MemberAccess",
                                "src": "12857:39:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1546,
                                  "type": "uint256",
                                  "value": "_boostValue"
                                },
                                "id": 1613,
                                "name": "Identifier",
                                "src": "12897:11:2"
                              }
                            ],
                            "id": 1614,
                            "name": "FunctionCall",
                            "src": "12857:52:2"
                          }
                        ],
                        "id": 1615,
                        "name": "Assignment",
                        "src": "12819:90:2"
                      }
                    ],
                    "id": 1616,
                    "name": "ExpressionStatement",
                    "src": "12819:90:2"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "isAwaitingBoost",
                          "referencedDeclaration": 956,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct EmergentVoteScheme.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1013,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 1617,
                                "name": "Identifier",
                                "src": "12984:9:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1544,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 1618,
                                "name": "Identifier",
                                "src": "12994:11:2"
                              }
                            ],
                            "id": 1619,
                            "name": "IndexAccess",
                            "src": "12984:22:2"
                          }
                        ],
                        "id": 1620,
                        "name": "MemberAccess",
                        "src": "12984:38:2"
                      },
                      {
                        "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_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2269,
                                      "type": "function (bytes32)",
                                      "value": "tryAwaitingBoostProposals"
                                    },
                                    "id": 1621,
                                    "name": "Identifier",
                                    "src": "13038:25:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1544,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 1622,
                                    "name": "Identifier",
                                    "src": "13064:11:2"
                                  }
                                ],
                                "id": 1623,
                                "name": "FunctionCall",
                                "src": "13038:38:2"
                              }
                            ],
                            "id": 1624,
                            "name": "ExpressionStatement",
                            "src": "13038:38:2"
                          }
                        ],
                        "id": 1625,
                        "name": "Block",
                        "src": "13024:63:2"
                      }
                    ],
                    "id": 1626,
                    "name": "IfStatement",
                    "src": "12980:107:2"
                  }
                ],
                "id": 1627,
                "name": "Block",
                "src": "12115:978:2"
              }
            ],
            "id": 1628,
            "name": "FunctionDefinition",
            "src": "12046:1047:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "moveTopAwaitingBoostMode",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 1739,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 1629,
                        "name": "ElementaryTypeName",
                        "src": "13296:7:2"
                      }
                    ],
                    "id": 1630,
                    "name": "VariableDeclaration",
                    "src": "13296:15:2"
                  }
                ],
                "id": 1631,
                "name": "ParameterList",
                "src": "13295:17:2"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1632,
                "name": "ParameterList",
                "src": "13320:0:2"
              },
              {
                "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 1633,
                            "name": "Identifier",
                            "src": "13375:7:2"
                          },
                          {
                            "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": 1630,
                                  "type": "address",
                                  "value": "_avatar"
                                },
                                "id": 1634,
                                "name": "Identifier",
                                "src": "13383:7:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 1635,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "13394:7:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 1636,
                                    "name": "Literal",
                                    "src": "13402:1:2"
                                  }
                                ],
                                "id": 1637,
                                "name": "FunctionCall",
                                "src": "13394:10:2"
                              }
                            ],
                            "id": 1638,
                            "name": "BinaryOperation",
                            "src": "13383:21:2"
                          }
                        ],
                        "id": 1639,
                        "name": "FunctionCall",
                        "src": "13375:30:2"
                      }
                    ],
                    "id": 1640,
                    "name": "ExpressionStatement",
                    "src": "13375:30:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1642
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "orgParamsHash",
                          "scope": 1739,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1641,
                            "name": "ElementaryTypeName",
                            "src": "13439:7:2"
                          }
                        ],
                        "id": 1642,
                        "name": "VariableDeclaration",
                        "src": "13439:21:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                }
                              ],
                              "overloadedDeclarations": [
                                8464
                              ],
                              "referencedDeclaration": 8464,
                              "type": "function (contract Avatar) view returns (bytes32)",
                              "value": "getParametersFromController"
                            },
                            "id": 1643,
                            "name": "Identifier",
                            "src": "13463:27:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract Avatar",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3065,
                                  "type": "type(contract Avatar)",
                                  "value": "Avatar"
                                },
                                "id": 1644,
                                "name": "Identifier",
                                "src": "13491:6:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1630,
                                  "type": "address",
                                  "value": "_avatar"
                                },
                                "id": 1645,
                                "name": "Identifier",
                                "src": "13498:7:2"
                              }
                            ],
                            "id": 1646,
                            "name": "FunctionCall",
                            "src": "13491:15:2"
                          }
                        ],
                        "id": 1647,
                        "name": "FunctionCall",
                        "src": "13463:44:2"
                      }
                    ],
                    "id": 1648,
                    "name": "VariableDeclarationStatement",
                    "src": "13439:68:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1650
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "orgParams",
                          "scope": 1739,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct EmergentVoteScheme.OrgParameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "OrgParameters",
                              "referencedDeclaration": 918,
                              "type": "struct EmergentVoteScheme.OrgParameters storage pointer"
                            },
                            "id": 1649,
                            "name": "UserDefinedTypeName",
                            "src": "13517:13:2"
                          }
                        ],
                        "id": 1650,
                        "name": "VariableDeclaration",
                        "src": "13517:30:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.OrgParameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1005,
                              "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)",
                              "value": "organizationsParameters"
                            },
                            "id": 1651,
                            "name": "Identifier",
                            "src": "13550:23:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1642,
                              "type": "bytes32",
                              "value": "orgParamsHash"
                            },
                            "id": 1652,
                            "name": "Identifier",
                            "src": "13574:13:2"
                          }
                        ],
                        "id": 1653,
                        "name": "IndexAccess",
                        "src": "13550:38:2"
                      }
                    ],
                    "id": 1654,
                    "name": "VariableDeclarationStatement",
                    "src": "13517:71:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1656
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "org",
                          "scope": 1739,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct EmergentVoteScheme.Organization storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Organization",
                              "referencedDeclaration": 901,
                              "type": "struct EmergentVoteScheme.Organization storage pointer"
                            },
                            "id": 1655,
                            "name": "UserDefinedTypeName",
                            "src": "13598:12:2"
                          }
                        ],
                        "id": 1656,
                        "name": "VariableDeclaration",
                        "src": "13598:24:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.Organization storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1001,
                              "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)",
                              "value": "organizations"
                            },
                            "id": 1657,
                            "name": "Identifier",
                            "src": "13625:13:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1630,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 1658,
                            "name": "Identifier",
                            "src": "13639:7:2"
                          }
                        ],
                        "id": 1659,
                        "name": "IndexAccess",
                        "src": "13625:22:2"
                      }
                    ],
                    "id": 1660,
                    "name": "VariableDeclarationStatement",
                    "src": "13598:49:2"
                  },
                  {
                    "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": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "boostedProposals",
                              "referencedDeclaration": 897,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1656,
                                  "type": "struct EmergentVoteScheme.Organization storage pointer",
                                  "value": "org"
                                },
                                "id": 1661,
                                "name": "Identifier",
                                "src": "13703:3:2"
                              }
                            ],
                            "id": 1662,
                            "name": "MemberAccess",
                            "src": "13703:20:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "attentionBandwidth",
                              "referencedDeclaration": 909,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1650,
                                  "type": "struct EmergentVoteScheme.OrgParameters memory",
                                  "value": "orgParams"
                                },
                                "id": 1663,
                                "name": "Identifier",
                                "src": "13727:9:2"
                              }
                            ],
                            "id": 1664,
                            "name": "MemberAccess",
                            "src": "13727:28:2"
                          }
                        ],
                        "id": 1665,
                        "name": "BinaryOperation",
                        "src": "13703:52:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "expression": null,
                              "functionReturnParameters": 1632
                            },
                            "id": 1666,
                            "name": "Return",
                            "src": "13771:7:2"
                          }
                        ],
                        "id": 1667,
                        "name": "Block",
                        "src": "13757:31:2"
                      }
                    ],
                    "id": 1668,
                    "name": "IfStatement",
                    "src": "13699:89:2"
                  },
                  {
                    "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": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "length",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "awaitingBoostProposals",
                                  "referencedDeclaration": 900,
                                  "type": "bytes32[] storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1656,
                                      "type": "struct EmergentVoteScheme.Organization storage pointer",
                                      "value": "org"
                                    },
                                    "id": 1669,
                                    "name": "Identifier",
                                    "src": "13847:3:2"
                                  }
                                ],
                                "id": 1670,
                                "name": "MemberAccess",
                                "src": "13847:26:2"
                              }
                            ],
                            "id": 1671,
                            "name": "MemberAccess",
                            "src": "13847:33:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 1672,
                            "name": "Literal",
                            "src": "13884:1:2"
                          }
                        ],
                        "id": 1673,
                        "name": "BinaryOperation",
                        "src": "13847:38:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "expression": null,
                              "functionReturnParameters": 1632
                            },
                            "id": 1674,
                            "name": "Return",
                            "src": "13901:7:2"
                          }
                        ],
                        "id": 1675,
                        "name": "Block",
                        "src": "13887:31:2"
                      }
                    ],
                    "id": 1676,
                    "name": "IfStatement",
                    "src": "13843:75:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "++",
                          "prefix": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "boostedProposals",
                              "referencedDeclaration": 897,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1656,
                                  "type": "struct EmergentVoteScheme.Organization storage pointer",
                                  "value": "org"
                                },
                                "id": 1677,
                                "name": "Identifier",
                                "src": "13964:3:2"
                              }
                            ],
                            "id": 1679,
                            "name": "MemberAccess",
                            "src": "13964:20:2"
                          }
                        ],
                        "id": 1680,
                        "name": "UnaryOperation",
                        "src": "13964:22:2"
                      }
                    ],
                    "id": 1681,
                    "name": "ExpressionStatement",
                    "src": "13964:22:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "maxIndex",
                          "scope": 1739,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 1682,
                            "name": "ElementaryTypeName",
                            "src": "13996:4:2"
                          }
                        ],
                        "id": 1683,
                        "name": "VariableDeclaration",
                        "src": "13996:13:2"
                      }
                    ],
                    "id": 1684,
                    "name": "VariableDeclarationStatement",
                    "src": "13996:13:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "tuple(uint256,)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1683,
                                  "type": "uint256",
                                  "value": "maxIndex"
                                },
                                "id": 1685,
                                "name": "Identifier",
                                "src": "14020:8:2"
                              }
                            ],
                            "id": 1686,
                            "name": "TupleExpression",
                            "src": "14019:12:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "tuple(uint256,uint256)",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                      "typeString": "bytes32[] storage ref"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1505,
                                  "type": "function (bytes32[] memory) view returns (uint256,uint256)",
                                  "value": "findMaxScore"
                                },
                                "id": 1687,
                                "name": "Identifier",
                                "src": "14034:12:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "awaitingBoostProposals",
                                  "referencedDeclaration": 900,
                                  "type": "bytes32[] storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1656,
                                      "type": "struct EmergentVoteScheme.Organization storage pointer",
                                      "value": "org"
                                    },
                                    "id": 1688,
                                    "name": "Identifier",
                                    "src": "14047:3:2"
                                  }
                                ],
                                "id": 1689,
                                "name": "MemberAccess",
                                "src": "14047:26:2"
                              }
                            ],
                            "id": 1690,
                            "name": "FunctionCall",
                            "src": "14034:40:2"
                          }
                        ],
                        "id": 1691,
                        "name": "Assignment",
                        "src": "14019:55:2"
                      }
                    ],
                    "id": 1692,
                    "name": "ExpressionStatement",
                    "src": "14019:55:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1694
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 1739,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct EmergentVoteScheme.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 961,
                              "type": "struct EmergentVoteScheme.Proposal storage pointer"
                            },
                            "id": 1693,
                            "name": "UserDefinedTypeName",
                            "src": "14084:8:2"
                          }
                        ],
                        "id": 1694,
                        "name": "VariableDeclaration",
                        "src": "14084:25:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1013,
                              "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 1695,
                            "name": "Identifier",
                            "src": "14112:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "awaitingBoostProposals",
                                  "referencedDeclaration": 900,
                                  "type": "bytes32[] storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1656,
                                      "type": "struct EmergentVoteScheme.Organization storage pointer",
                                      "value": "org"
                                    },
                                    "id": 1696,
                                    "name": "Identifier",
                                    "src": "14122:3:2"
                                  }
                                ],
                                "id": 1697,
                                "name": "MemberAccess",
                                "src": "14122:26:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1683,
                                  "type": "uint256",
                                  "value": "maxIndex"
                                },
                                "id": 1698,
                                "name": "Identifier",
                                "src": "14149:8:2"
                              }
                            ],
                            "id": 1699,
                            "name": "IndexAccess",
                            "src": "14122:36:2"
                          }
                        ],
                        "id": 1700,
                        "name": "IndexAccess",
                        "src": "14112:47:2"
                      }
                    ],
                    "id": 1701,
                    "name": "VariableDeclarationStatement",
                    "src": "14084:75:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "isBoostModeActive",
                              "referencedDeclaration": 954,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1694,
                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 1702,
                                "name": "Identifier",
                                "src": "14169:8:2"
                              }
                            ],
                            "id": 1704,
                            "name": "MemberAccess",
                            "src": "14169:26:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "74727565",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "true"
                            },
                            "id": 1705,
                            "name": "Literal",
                            "src": "14198:4:2"
                          }
                        ],
                        "id": 1706,
                        "name": "Assignment",
                        "src": "14169:33:2"
                      }
                    ],
                    "id": 1707,
                    "name": "ExpressionStatement",
                    "src": "14169:33:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "isAwaitingBoost",
                              "referencedDeclaration": 956,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1694,
                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 1708,
                                "name": "Identifier",
                                "src": "14212:8:2"
                              }
                            ],
                            "id": 1710,
                            "name": "MemberAccess",
                            "src": "14212:24:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "66616c7365",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "false"
                            },
                            "id": 1711,
                            "name": "Literal",
                            "src": "14239:5:2"
                          }
                        ],
                        "id": 1712,
                        "name": "Assignment",
                        "src": "14212:32:2"
                      }
                    ],
                    "id": 1713,
                    "name": "ExpressionStatement",
                    "src": "14212:32:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1715
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "timeFrame",
                          "scope": 1739,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 1714,
                            "name": "ElementaryTypeName",
                            "src": "14254:4:2"
                          }
                        ],
                        "id": 1715,
                        "name": "VariableDeclaration",
                        "src": "14254:14:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "boostTimeFrame",
                          "referencedDeclaration": 924,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct EmergentVoteScheme.ProposalParameters storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1009,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)",
                                  "value": "proposalsParameters"
                                },
                                "id": 1716,
                                "name": "Identifier",
                                "src": "14271:19:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "paramsHash",
                                  "referencedDeclaration": 940,
                                  "type": "bytes32"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1694,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 1717,
                                    "name": "Identifier",
                                    "src": "14291:8:2"
                                  }
                                ],
                                "id": 1718,
                                "name": "MemberAccess",
                                "src": "14291:19:2"
                              }
                            ],
                            "id": 1719,
                            "name": "IndexAccess",
                            "src": "14271:40:2"
                          }
                        ],
                        "id": 1720,
                        "name": "MemberAccess",
                        "src": "14271:55:2"
                      }
                    ],
                    "id": 1721,
                    "name": "VariableDeclarationStatement",
                    "src": "14254:72:2"
                  },
                  {
                    "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,
                              "member_name": "closingTime",
                              "referencedDeclaration": 958,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1694,
                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 1722,
                                "name": "Identifier",
                                "src": "14336:8:2"
                              }
                            ],
                            "id": 1724,
                            "name": "MemberAccess",
                            "src": "14336:20:2"
                          },
                          {
                            "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": 10220,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "number",
                                      "referencedDeclaration": null,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 10859,
                                          "type": "block",
                                          "value": "block"
                                        },
                                        "id": 1725,
                                        "name": "Identifier",
                                        "src": "14359:5:2"
                                      }
                                    ],
                                    "id": 1726,
                                    "name": "MemberAccess",
                                    "src": "14359:12:2"
                                  }
                                ],
                                "id": 1727,
                                "name": "MemberAccess",
                                "src": "14359:16:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1715,
                                  "type": "uint256",
                                  "value": "timeFrame"
                                },
                                "id": 1728,
                                "name": "Identifier",
                                "src": "14376:9:2"
                              }
                            ],
                            "id": 1729,
                            "name": "FunctionCall",
                            "src": "14359:27:2"
                          }
                        ],
                        "id": 1730,
                        "name": "Assignment",
                        "src": "14336:50:2"
                      }
                    ],
                    "id": 1731,
                    "name": "ExpressionStatement",
                    "src": "14336:50:2"
                  },
                  {
                    "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_array$_t_bytes32_$dyn_storage",
                                  "typeString": "bytes32[] storage ref"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2377,
                              "type": "function (bytes32[] storage pointer,uint256)",
                              "value": "deleteFromArray"
                            },
                            "id": 1732,
                            "name": "Identifier",
                            "src": "14421:15:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "awaitingBoostProposals",
                              "referencedDeclaration": 900,
                              "type": "bytes32[] storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1656,
                                  "type": "struct EmergentVoteScheme.Organization storage pointer",
                                  "value": "org"
                                },
                                "id": 1733,
                                "name": "Identifier",
                                "src": "14437:3:2"
                              }
                            ],
                            "id": 1734,
                            "name": "MemberAccess",
                            "src": "14437:26:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1683,
                              "type": "uint256",
                              "value": "maxIndex"
                            },
                            "id": 1735,
                            "name": "Identifier",
                            "src": "14465:8:2"
                          }
                        ],
                        "id": 1736,
                        "name": "FunctionCall",
                        "src": "14421:53:2"
                      }
                    ],
                    "id": 1737,
                    "name": "ExpressionStatement",
                    "src": "14421:53:2"
                  }
                ],
                "id": 1738,
                "name": "Block",
                "src": "13320:1161:2"
              }
            ],
            "id": 1739,
            "name": "FunctionDefinition",
            "src": "13262:1219:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "vote",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": 2602,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 1760,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1740,
                        "name": "ElementaryTypeName",
                        "src": "14638:7:2"
                      }
                    ],
                    "id": 1741,
                    "name": "VariableDeclaration",
                    "src": "14638:19:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 1760,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1742,
                        "name": "ElementaryTypeName",
                        "src": "14659:4:2"
                      }
                    ],
                    "id": 1743,
                    "name": "VariableDeclaration",
                    "src": "14659:10:2"
                  }
                ],
                "id": 1744,
                "name": "ParameterList",
                "src": "14637:33:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 1760,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1748,
                        "name": "ElementaryTypeName",
                        "src": "14707:4:2"
                      }
                    ],
                    "id": 1749,
                    "name": "VariableDeclaration",
                    "src": "14707:4:2"
                  }
                ],
                "id": 1750,
                "name": "ParameterList",
                "src": "14706:6:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1047,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 1745,
                    "name": "Identifier",
                    "src": "14678:7:2"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1741,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 1746,
                    "name": "Identifier",
                    "src": "14686:11:2"
                  }
                ],
                "id": 1747,
                "name": "ModifierInvocation",
                "src": "14678:20:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 1750
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2534,
                              "type": "function (bytes32,uint256,address,uint256) returns (bool)",
                              "value": "internalVote"
                            },
                            "id": 1751,
                            "name": "Identifier",
                            "src": "14730:12:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1741,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 1752,
                            "name": "Identifier",
                            "src": "14743:11:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1743,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 1753,
                            "name": "Identifier",
                            "src": "14756:5:2"
                          },
                          {
                            "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": 10867,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 1754,
                                "name": "Identifier",
                                "src": "14763:3:2"
                              }
                            ],
                            "id": 1755,
                            "name": "MemberAccess",
                            "src": "14763:10:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 1756,
                            "name": "Literal",
                            "src": "14775:1:2"
                          }
                        ],
                        "id": 1757,
                        "name": "FunctionCall",
                        "src": "14730:47:2"
                      }
                    ],
                    "id": 1758,
                    "name": "Return",
                    "src": "14723:54:2"
                  }
                ],
                "id": 1759,
                "name": "Block",
                "src": "14713:71:2"
              }
            ],
            "id": 1760,
            "name": "FunctionDefinition",
            "src": "14624:160:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "voteWithSpecifiedAmounts",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": 2618,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 1785,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1761,
                        "name": "ElementaryTypeName",
                        "src": "14824:7:2"
                      }
                    ],
                    "id": 1762,
                    "name": "VariableDeclaration",
                    "src": "14824:19:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 1785,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1763,
                        "name": "ElementaryTypeName",
                        "src": "14845:4:2"
                      }
                    ],
                    "id": 1764,
                    "name": "VariableDeclaration",
                    "src": "14845:10:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_rep",
                      "scope": 1785,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1765,
                        "name": "ElementaryTypeName",
                        "src": "14857:4:2"
                      }
                    ],
                    "id": 1766,
                    "name": "VariableDeclaration",
                    "src": "14857:9:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 1785,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1767,
                        "name": "ElementaryTypeName",
                        "src": "14868:4:2"
                      }
                    ],
                    "id": 1768,
                    "name": "VariableDeclaration",
                    "src": "14868:4:2"
                  }
                ],
                "id": 1769,
                "name": "ParameterList",
                "src": "14823:50:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 1785,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1773,
                        "name": "ElementaryTypeName",
                        "src": "14910:4:2"
                      }
                    ],
                    "id": 1774,
                    "name": "VariableDeclaration",
                    "src": "14910:4:2"
                  }
                ],
                "id": 1775,
                "name": "ParameterList",
                "src": "14909:6:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1047,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 1770,
                    "name": "Identifier",
                    "src": "14881:7:2"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1762,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 1771,
                    "name": "Identifier",
                    "src": "14889:11:2"
                  }
                ],
                "id": 1772,
                "name": "ModifierInvocation",
                "src": "14881:20:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 1775
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2534,
                              "type": "function (bytes32,uint256,address,uint256) returns (bool)",
                              "value": "internalVote"
                            },
                            "id": 1776,
                            "name": "Identifier",
                            "src": "14933:12:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1762,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 1777,
                            "name": "Identifier",
                            "src": "14946:11:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1764,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 1778,
                            "name": "Identifier",
                            "src": "14959:5:2"
                          },
                          {
                            "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": 10867,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 1779,
                                "name": "Identifier",
                                "src": "14966:3:2"
                              }
                            ],
                            "id": 1780,
                            "name": "MemberAccess",
                            "src": "14966:10:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1766,
                              "type": "uint256",
                              "value": "_rep"
                            },
                            "id": 1781,
                            "name": "Identifier",
                            "src": "14978:4:2"
                          }
                        ],
                        "id": 1782,
                        "name": "FunctionCall",
                        "src": "14933:50:2"
                      }
                    ],
                    "id": 1783,
                    "name": "Return",
                    "src": "14926:57:2"
                  }
                ],
                "id": 1784,
                "name": "Block",
                "src": "14916:74:2"
              }
            ],
            "id": 1785,
            "name": "FunctionDefinition",
            "src": "14790:200:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "ownerVote",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": 2590,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 1829,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1786,
                        "name": "ElementaryTypeName",
                        "src": "15274:7:2"
                      }
                    ],
                    "id": 1787,
                    "name": "VariableDeclaration",
                    "src": "15274:19:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 1829,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1788,
                        "name": "ElementaryTypeName",
                        "src": "15295:4:2"
                      }
                    ],
                    "id": 1789,
                    "name": "VariableDeclaration",
                    "src": "15295:10:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 1829,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 1790,
                        "name": "ElementaryTypeName",
                        "src": "15307:7:2"
                      }
                    ],
                    "id": 1791,
                    "name": "VariableDeclaration",
                    "src": "15307:14:2"
                  }
                ],
                "id": 1792,
                "name": "ParameterList",
                "src": "15273:49:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 1829,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1799,
                        "name": "ElementaryTypeName",
                        "src": "15390:4:2"
                      }
                    ],
                    "id": 1800,
                    "name": "VariableDeclaration",
                    "src": "15390:4:2"
                  }
                ],
                "id": 1801,
                "name": "ParameterList",
                "src": "15389:6:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1034,
                      "type": "modifier (bytes32)",
                      "value": "onlyProposalOwner"
                    },
                    "id": 1793,
                    "name": "Identifier",
                    "src": "15330:17:2"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1787,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 1794,
                    "name": "Identifier",
                    "src": "15348:11:2"
                  }
                ],
                "id": 1795,
                "name": "ModifierInvocation",
                "src": "15330:30:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1047,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 1796,
                    "name": "Identifier",
                    "src": "15361:7:2"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1787,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 1797,
                    "name": "Identifier",
                    "src": "15369:11:2"
                  }
                ],
                "id": 1798,
                "name": "ModifierInvocation",
                "src": "15361:20:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        1803
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 1829,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1802,
                            "name": "ElementaryTypeName",
                            "src": "15406:7:2"
                          }
                        ],
                        "id": 1803,
                        "name": "VariableDeclaration",
                        "src": "15406:18:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                }
                              ],
                              "overloadedDeclarations": [
                                8464
                              ],
                              "referencedDeclaration": 8464,
                              "type": "function (contract Avatar) view returns (bytes32)",
                              "value": "getParametersFromController"
                            },
                            "id": 1804,
                            "name": "Identifier",
                            "src": "15427:27:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract Avatar",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3065,
                                  "type": "type(contract Avatar)",
                                  "value": "Avatar"
                                },
                                "id": 1805,
                                "name": "Identifier",
                                "src": "15455:6:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "avatar",
                                  "referencedDeclaration": 934,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct EmergentVoteScheme.Proposal storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1013,
                                          "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                          "value": "proposals"
                                        },
                                        "id": 1806,
                                        "name": "Identifier",
                                        "src": "15462:9:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1787,
                                          "type": "bytes32",
                                          "value": "_proposalId"
                                        },
                                        "id": 1807,
                                        "name": "Identifier",
                                        "src": "15472:11:2"
                                      }
                                    ],
                                    "id": 1808,
                                    "name": "IndexAccess",
                                    "src": "15462:22:2"
                                  }
                                ],
                                "id": 1809,
                                "name": "MemberAccess",
                                "src": "15462:29:2"
                              }
                            ],
                            "id": 1810,
                            "name": "FunctionCall",
                            "src": "15455:37:2"
                          }
                        ],
                        "id": 1811,
                        "name": "FunctionCall",
                        "src": "15427:66:2"
                      }
                    ],
                    "id": 1812,
                    "name": "VariableDeclarationStatement",
                    "src": "15406:87:2"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "!",
                          "prefix": true,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "allowOwner",
                              "referencedDeclaration": 917,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct EmergentVoteScheme.OrgParameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1005,
                                      "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)",
                                      "value": "organizationsParameters"
                                    },
                                    "id": 1813,
                                    "name": "Identifier",
                                    "src": "15509:23:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1803,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 1814,
                                    "name": "Identifier",
                                    "src": "15533:10:2"
                                  }
                                ],
                                "id": 1815,
                                "name": "IndexAccess",
                                "src": "15509:35:2"
                              }
                            ],
                            "id": 1816,
                            "name": "MemberAccess",
                            "src": "15509:46:2"
                          }
                        ],
                        "id": 1817,
                        "name": "UnaryOperation",
                        "src": "15507:48:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "expression": null,
                              "functionReturnParameters": 1801
                            },
                            "id": 1818,
                            "name": "Return",
                            "src": "15571:7:2"
                          }
                        ],
                        "id": 1819,
                        "name": "Block",
                        "src": "15557:31:2"
                      }
                    ],
                    "id": 1820,
                    "name": "IfStatement",
                    "src": "15503:85:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 1801
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2534,
                              "type": "function (bytes32,uint256,address,uint256) returns (bool)",
                              "value": "internalVote"
                            },
                            "id": 1821,
                            "name": "Identifier",
                            "src": "15605:12:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1787,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 1822,
                            "name": "Identifier",
                            "src": "15618:11:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1789,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 1823,
                            "name": "Identifier",
                            "src": "15631:5:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1791,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 1824,
                            "name": "Identifier",
                            "src": "15638:6:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 1825,
                            "name": "Literal",
                            "src": "15646:1:2"
                          }
                        ],
                        "id": 1826,
                        "name": "FunctionCall",
                        "src": "15605:43:2"
                      }
                    ],
                    "id": 1827,
                    "name": "Return",
                    "src": "15598:50:2"
                  }
                ],
                "id": 1828,
                "name": "Block",
                "src": "15396:259:2"
              }
            ],
            "id": 1829,
            "name": "FunctionDefinition",
            "src": "15255:400:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "cancelVote",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": 2626,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 1844,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1830,
                        "name": "ElementaryTypeName",
                        "src": "15884:7:2"
                      }
                    ],
                    "id": 1831,
                    "name": "VariableDeclaration",
                    "src": "15884:19:2"
                  }
                ],
                "id": 1832,
                "name": "ParameterList",
                "src": "15883:21:2"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1836,
                "name": "ParameterList",
                "src": "15933:0:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1047,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 1833,
                    "name": "Identifier",
                    "src": "15912:7:2"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1831,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 1834,
                    "name": "Identifier",
                    "src": "15920:11:2"
                  }
                ],
                "id": 1835,
                "name": "ModifierInvocation",
                "src": "15912:20:2"
              },
              {
                "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2331,
                              "type": "function (bytes32,address)",
                              "value": "cancelVoteInternal"
                            },
                            "id": 1837,
                            "name": "Identifier",
                            "src": "15943:18:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1831,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 1838,
                            "name": "Identifier",
                            "src": "15962:11:2"
                          },
                          {
                            "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": 10867,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 1839,
                                "name": "Identifier",
                                "src": "15975:3:2"
                              }
                            ],
                            "id": 1840,
                            "name": "MemberAccess",
                            "src": "15975:10:2"
                          }
                        ],
                        "id": 1841,
                        "name": "FunctionCall",
                        "src": "15943:43:2"
                      }
                    ],
                    "id": 1842,
                    "name": "ExpressionStatement",
                    "src": "15943:43:2"
                  }
                ],
                "id": 1843,
                "name": "Block",
                "src": "15933:60:2"
              }
            ],
            "id": 1844,
            "name": "FunctionDefinition",
            "src": "15864:129:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "name": "execute",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": 2636,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 2030,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1845,
                        "name": "ElementaryTypeName",
                        "src": "16360:7:2"
                      }
                    ],
                    "id": 1846,
                    "name": "VariableDeclaration",
                    "src": "16360:19:2"
                  }
                ],
                "id": 1847,
                "name": "ParameterList",
                "src": "16359:21:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 2030,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1851,
                        "name": "ElementaryTypeName",
                        "src": "16417:4:2"
                      }
                    ],
                    "id": 1852,
                    "name": "VariableDeclaration",
                    "src": "16417:4:2"
                  }
                ],
                "id": 1853,
                "name": "ParameterList",
                "src": "16416:6:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1047,
                      "type": "modifier (bytes32)",
                      "value": "votable"
                    },
                    "id": 1848,
                    "name": "Identifier",
                    "src": "16388:7:2"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "overloadedDeclarations": [
                        null
                      ],
                      "referencedDeclaration": 1846,
                      "type": "bytes32",
                      "value": "_proposalId"
                    },
                    "id": 1849,
                    "name": "Identifier",
                    "src": "16396:11:2"
                  }
                ],
                "id": 1850,
                "name": "ModifierInvocation",
                "src": "16388:20:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        1855
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 2030,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct EmergentVoteScheme.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 961,
                              "type": "struct EmergentVoteScheme.Proposal storage pointer"
                            },
                            "id": 1854,
                            "name": "UserDefinedTypeName",
                            "src": "16433:8:2"
                          }
                        ],
                        "id": 1855,
                        "name": "VariableDeclaration",
                        "src": "16433:25:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1013,
                              "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 1856,
                            "name": "Identifier",
                            "src": "16461:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1846,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 1857,
                            "name": "Identifier",
                            "src": "16471:11:2"
                          }
                        ],
                        "id": 1858,
                        "name": "IndexAccess",
                        "src": "16461:22:2"
                      }
                    ],
                    "id": 1859,
                    "name": "VariableDeclarationStatement",
                    "src": "16433:50:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1861
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "orgParamsHash",
                          "scope": 2030,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 1860,
                            "name": "ElementaryTypeName",
                            "src": "16494:7:2"
                          }
                        ],
                        "id": 1861,
                        "name": "VariableDeclaration",
                        "src": "16494:21:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                }
                              ],
                              "overloadedDeclarations": [
                                8464
                              ],
                              "referencedDeclaration": 8464,
                              "type": "function (contract Avatar) view returns (bytes32)",
                              "value": "getParametersFromController"
                            },
                            "id": 1862,
                            "name": "Identifier",
                            "src": "16518:27:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract Avatar",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3065,
                                  "type": "type(contract Avatar)",
                                  "value": "Avatar"
                                },
                                "id": 1863,
                                "name": "Identifier",
                                "src": "16546:6:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "avatar",
                                  "referencedDeclaration": 934,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1855,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 1864,
                                    "name": "Identifier",
                                    "src": "16553:8:2"
                                  }
                                ],
                                "id": 1865,
                                "name": "MemberAccess",
                                "src": "16553:15:2"
                              }
                            ],
                            "id": 1866,
                            "name": "FunctionCall",
                            "src": "16546:23:2"
                          }
                        ],
                        "id": 1867,
                        "name": "FunctionCall",
                        "src": "16518:52:2"
                      }
                    ],
                    "id": 1868,
                    "name": "VariableDeclarationStatement",
                    "src": "16494:76:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1870
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "totalReputation",
                          "scope": 2030,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 1869,
                            "name": "ElementaryTypeName",
                            "src": "16580:4:2"
                          }
                        ],
                        "id": 1870,
                        "name": "VariableDeclaration",
                        "src": "16580:20:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "arguments": [
                            null
                          ],
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "uint256",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                null
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "totalSupply",
                              "referencedDeclaration": 4410,
                              "type": "function () view external returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputationSystem",
                                  "referencedDeclaration": 903,
                                  "type": "contract Reputation"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct EmergentVoteScheme.OrgParameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1005,
                                          "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)",
                                          "value": "organizationsParameters"
                                        },
                                        "id": 1871,
                                        "name": "Identifier",
                                        "src": "16603:23:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1861,
                                          "type": "bytes32",
                                          "value": "orgParamsHash"
                                        },
                                        "id": 1872,
                                        "name": "Identifier",
                                        "src": "16627:13:2"
                                      }
                                    ],
                                    "id": 1873,
                                    "name": "IndexAccess",
                                    "src": "16603:38:2"
                                  }
                                ],
                                "id": 1874,
                                "name": "MemberAccess",
                                "src": "16603:55:2"
                              }
                            ],
                            "id": 1875,
                            "name": "MemberAccess",
                            "src": "16603:67:2"
                          }
                        ],
                        "id": 1876,
                        "name": "FunctionCall",
                        "src": "16603:69:2"
                      }
                    ],
                    "id": 1877,
                    "name": "VariableDeclarationStatement",
                    "src": "16580:92:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1879
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "precReq",
                          "scope": 2030,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 1878,
                            "name": "ElementaryTypeName",
                            "src": "16682:4:2"
                          }
                        ],
                        "id": 1879,
                        "name": "VariableDeclaration",
                        "src": "16682:12:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "precReq",
                          "referencedDeclaration": 920,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct EmergentVoteScheme.ProposalParameters storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1009,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)",
                                  "value": "proposalsParameters"
                                },
                                "id": 1880,
                                "name": "Identifier",
                                "src": "16697:19:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "paramsHash",
                                  "referencedDeclaration": 940,
                                  "type": "bytes32"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1855,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 1881,
                                    "name": "Identifier",
                                    "src": "16717:8:2"
                                  }
                                ],
                                "id": 1882,
                                "name": "MemberAccess",
                                "src": "16717:19:2"
                              }
                            ],
                            "id": 1883,
                            "name": "IndexAccess",
                            "src": "16697:40:2"
                          }
                        ],
                        "id": 1884,
                        "name": "MemberAccess",
                        "src": "16697:48:2"
                      }
                    ],
                    "id": 1885,
                    "name": "VariableDeclarationStatement",
                    "src": "16682:63:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        1887
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "tmpProposal",
                          "scope": 2030,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct EmergentVoteScheme.Proposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 961,
                              "type": "struct EmergentVoteScheme.Proposal storage pointer"
                            },
                            "id": 1886,
                            "name": "UserDefinedTypeName",
                            "src": "16755:8:2"
                          }
                        ],
                        "id": 1887,
                        "name": "VariableDeclaration",
                        "src": "16755:27:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 1855,
                          "type": "struct EmergentVoteScheme.Proposal storage pointer",
                          "value": "proposal"
                        },
                        "id": 1888,
                        "name": "Identifier",
                        "src": "16785:8:2"
                      }
                    ],
                    "id": 1889,
                    "name": "VariableDeclarationStatement",
                    "src": "16755:38:2"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "&&",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "isBoostModeActive",
                              "referencedDeclaration": 954,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1855,
                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 1890,
                                "name": "Identifier",
                                "src": "16843:8:2"
                              }
                            ],
                            "id": 1891,
                            "name": "MemberAccess",
                            "src": "16843:26:2"
                          },
                          {
                            "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": "number",
                                  "referencedDeclaration": null,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10859,
                                      "type": "block",
                                      "value": "block"
                                    },
                                    "id": 1892,
                                    "name": "Identifier",
                                    "src": "16873:5:2"
                                  }
                                ],
                                "id": 1893,
                                "name": "MemberAccess",
                                "src": "16873:12:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "closingTime",
                                  "referencedDeclaration": 958,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1855,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 1894,
                                    "name": "Identifier",
                                    "src": "16889:8:2"
                                  }
                                ],
                                "id": 1895,
                                "name": "MemberAccess",
                                "src": "16889:20:2"
                              }
                            ],
                            "id": 1896,
                            "name": "BinaryOperation",
                            "src": "16873:36:2"
                          }
                        ],
                        "id": 1897,
                        "name": "BinaryOperation",
                        "src": "16843:66:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                1899
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "quorum",
                                  "scope": 2030,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "uint256",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "uint",
                                      "type": "uint256"
                                    },
                                    "id": 1898,
                                    "name": "ElementaryTypeName",
                                    "src": "16925:4:2"
                                  }
                                ],
                                "id": 1899,
                                "name": "VariableDeclaration",
                                "src": "16925:11:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "quorum",
                                  "referencedDeclaration": 922,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct EmergentVoteScheme.ProposalParameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1009,
                                          "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)",
                                          "value": "proposalsParameters"
                                        },
                                        "id": 1900,
                                        "name": "Identifier",
                                        "src": "16939:19:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "paramsHash",
                                          "referencedDeclaration": 940,
                                          "type": "bytes32"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1855,
                                              "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 1901,
                                            "name": "Identifier",
                                            "src": "16959:8:2"
                                          }
                                        ],
                                        "id": 1902,
                                        "name": "MemberAccess",
                                        "src": "16959:19:2"
                                      }
                                    ],
                                    "id": 1903,
                                    "name": "IndexAccess",
                                    "src": "16939:40:2"
                                  }
                                ],
                                "id": 1904,
                                "name": "MemberAccess",
                                "src": "16939:47:2"
                              }
                            ],
                            "id": 1905,
                            "name": "VariableDeclarationStatement",
                            "src": "16925:61:2"
                          },
                          {
                            "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,
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "operator": "/",
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "totalVotes",
                                          "referencedDeclaration": 942,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1855,
                                              "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 1906,
                                            "name": "Identifier",
                                            "src": "17053:8:2"
                                          }
                                        ],
                                        "id": 1907,
                                        "name": "MemberAccess",
                                        "src": "17053:19:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1870,
                                          "type": "uint256",
                                          "value": "totalReputation"
                                        },
                                        "id": 1908,
                                        "name": "Identifier",
                                        "src": "17073:15:2"
                                      }
                                    ],
                                    "id": 1909,
                                    "name": "BinaryOperation",
                                    "src": "17053:35:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1899,
                                      "type": "uint256",
                                      "value": "quorum"
                                    },
                                    "id": 1910,
                                    "name": "Identifier",
                                    "src": "17092:6:2"
                                  }
                                ],
                                "id": 1911,
                                "name": "BinaryOperation",
                                "src": "17053:45:2"
                              },
                              {
                                "children": [
                                  {
                                    "attributes": {
                                      "assignments": [
                                        null
                                      ],
                                      "initialValue": null
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "constant": false,
                                          "name": "max",
                                          "scope": 2030,
                                          "stateVariable": false,
                                          "storageLocation": "default",
                                          "type": "uint256",
                                          "value": null,
                                          "visibility": "internal"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "name": "uint",
                                              "type": "uint256"
                                            },
                                            "id": 1912,
                                            "name": "ElementaryTypeName",
                                            "src": "17118:4:2"
                                          }
                                        ],
                                        "id": 1913,
                                        "name": "VariableDeclaration",
                                        "src": "17118:8:2"
                                      }
                                    ],
                                    "id": 1914,
                                    "name": "VariableDeclarationStatement",
                                    "src": "17118:8:2"
                                  },
                                  {
                                    "attributes": {
                                      "assignments": [
                                        null
                                      ],
                                      "initialValue": null
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "constant": false,
                                          "name": "maxInd",
                                          "scope": 2030,
                                          "stateVariable": false,
                                          "storageLocation": "default",
                                          "type": "uint256",
                                          "value": null,
                                          "visibility": "internal"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "name": "uint",
                                              "type": "uint256"
                                            },
                                            "id": 1915,
                                            "name": "ElementaryTypeName",
                                            "src": "17144:4:2"
                                          }
                                        ],
                                        "id": 1916,
                                        "name": "VariableDeclaration",
                                        "src": "17144:11:2"
                                      }
                                    ],
                                    "id": 1917,
                                    "name": "VariableDeclarationStatement",
                                    "src": "17144:11:2"
                                  },
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "assignments": [
                                            1919
                                          ]
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "constant": false,
                                              "name": "cnt",
                                              "scope": 2030,
                                              "stateVariable": false,
                                              "storageLocation": "default",
                                              "type": "uint256",
                                              "value": null,
                                              "visibility": "internal"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "name": "uint",
                                                  "type": "uint256"
                                                },
                                                "id": 1918,
                                                "name": "ElementaryTypeName",
                                                "src": "17239:4:2"
                                              }
                                            ],
                                            "id": 1919,
                                            "name": "VariableDeclaration",
                                            "src": "17239:8:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "31",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "number",
                                              "type": "int_const 1",
                                              "value": "1"
                                            },
                                            "id": 1920,
                                            "name": "Literal",
                                            "src": "17250:1:2"
                                          }
                                        ],
                                        "id": 1921,
                                        "name": "VariableDeclarationStatement",
                                        "src": "17239:12:2"
                                      },
                                      {
                                        "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": 1919,
                                              "type": "uint256",
                                              "value": "cnt"
                                            },
                                            "id": 1922,
                                            "name": "Identifier",
                                            "src": "17253:3:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "numOfChoices",
                                              "referencedDeclaration": 936,
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1855,
                                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                                  "value": "proposal"
                                                },
                                                "id": 1923,
                                                "name": "Identifier",
                                                "src": "17258:8:2"
                                              }
                                            ],
                                            "id": 1924,
                                            "name": "MemberAccess",
                                            "src": "17258:21:2"
                                          }
                                        ],
                                        "id": 1925,
                                        "name": "BinaryOperation",
                                        "src": "17253:26:2"
                                      },
                                      {
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "operator": "++",
                                              "prefix": false,
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1919,
                                                  "type": "uint256",
                                                  "value": "cnt"
                                                },
                                                "id": 1926,
                                                "name": "Identifier",
                                                "src": "17281:3:2"
                                              }
                                            ],
                                            "id": 1927,
                                            "name": "UnaryOperation",
                                            "src": "17281:5:2"
                                          }
                                        ],
                                        "id": 1928,
                                        "name": "ExpressionStatement",
                                        "src": "17281:5:2"
                                      },
                                      {
                                        "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": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "type": "uint256"
                                                    },
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": true,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "votes",
                                                          "referencedDeclaration": 946,
                                                          "type": "mapping(uint256 => uint256)"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 1855,
                                                              "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                                              "value": "proposal"
                                                            },
                                                            "id": 1929,
                                                            "name": "Identifier",
                                                            "src": "17314:8:2"
                                                          }
                                                        ],
                                                        "id": 1930,
                                                        "name": "MemberAccess",
                                                        "src": "17314:14:2"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 1919,
                                                          "type": "uint256",
                                                          "value": "cnt"
                                                        },
                                                        "id": 1931,
                                                        "name": "Identifier",
                                                        "src": "17329:3:2"
                                                      }
                                                    ],
                                                    "id": 1932,
                                                    "name": "IndexAccess",
                                                    "src": "17314:19:2"
                                                  },
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 1913,
                                                      "type": "uint256",
                                                      "value": "max"
                                                    },
                                                    "id": 1933,
                                                    "name": "Identifier",
                                                    "src": "17336:3:2"
                                                  }
                                                ],
                                                "id": 1934,
                                                "name": "BinaryOperation",
                                                "src": "17314:25:2"
                                              },
                                              {
                                                "children": [
                                                  {
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "operator": "=",
                                                          "type": "uint256"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 1913,
                                                              "type": "uint256",
                                                              "value": "max"
                                                            },
                                                            "id": 1935,
                                                            "name": "Identifier",
                                                            "src": "17367:3:2"
                                                          },
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "isConstant": false,
                                                              "isLValue": true,
                                                              "isPure": false,
                                                              "lValueRequested": false,
                                                              "type": "uint256"
                                                            },
                                                            "children": [
                                                              {
                                                                "attributes": {
                                                                  "argumentTypes": null,
                                                                  "isConstant": false,
                                                                  "isLValue": true,
                                                                  "isPure": false,
                                                                  "lValueRequested": false,
                                                                  "member_name": "votes",
                                                                  "referencedDeclaration": 946,
                                                                  "type": "mapping(uint256 => uint256)"
                                                                },
                                                                "children": [
                                                                  {
                                                                    "attributes": {
                                                                      "argumentTypes": null,
                                                                      "overloadedDeclarations": [
                                                                        null
                                                                      ],
                                                                      "referencedDeclaration": 1855,
                                                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                                                      "value": "proposal"
                                                                    },
                                                                    "id": 1936,
                                                                    "name": "Identifier",
                                                                    "src": "17373:8:2"
                                                                  }
                                                                ],
                                                                "id": 1937,
                                                                "name": "MemberAccess",
                                                                "src": "17373:14:2"
                                                              },
                                                              {
                                                                "attributes": {
                                                                  "argumentTypes": null,
                                                                  "overloadedDeclarations": [
                                                                    null
                                                                  ],
                                                                  "referencedDeclaration": 1919,
                                                                  "type": "uint256",
                                                                  "value": "cnt"
                                                                },
                                                                "id": 1938,
                                                                "name": "Identifier",
                                                                "src": "17388:3:2"
                                                              }
                                                            ],
                                                            "id": 1939,
                                                            "name": "IndexAccess",
                                                            "src": "17373:19:2"
                                                          }
                                                        ],
                                                        "id": 1940,
                                                        "name": "Assignment",
                                                        "src": "17367:25:2"
                                                      }
                                                    ],
                                                    "id": 1941,
                                                    "name": "ExpressionStatement",
                                                    "src": "17367:25:2"
                                                  },
                                                  {
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "operator": "=",
                                                          "type": "uint256"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 1916,
                                                              "type": "uint256",
                                                              "value": "maxInd"
                                                            },
                                                            "id": 1942,
                                                            "name": "Identifier",
                                                            "src": "17418:6:2"
                                                          },
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 1919,
                                                              "type": "uint256",
                                                              "value": "cnt"
                                                            },
                                                            "id": 1943,
                                                            "name": "Identifier",
                                                            "src": "17427:3:2"
                                                          }
                                                        ],
                                                        "id": 1944,
                                                        "name": "Assignment",
                                                        "src": "17418:12:2"
                                                      }
                                                    ],
                                                    "id": 1945,
                                                    "name": "ExpressionStatement",
                                                    "src": "17418:12:2"
                                                  }
                                                ],
                                                "id": 1946,
                                                "name": "Block",
                                                "src": "17341:112:2"
                                              }
                                            ],
                                            "id": 1947,
                                            "name": "IfStatement",
                                            "src": "17310:143:2"
                                          }
                                        ],
                                        "id": 1948,
                                        "name": "Block",
                                        "src": "17288:183:2"
                                      }
                                    ],
                                    "id": 1949,
                                    "name": "ForStatement",
                                    "src": "17234:237:2"
                                  },
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "delete",
                                          "prefix": true,
                                          "type": "tuple()"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": true,
                                              "type": "struct EmergentVoteScheme.Proposal storage ref"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1013,
                                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                                  "value": "proposals"
                                                },
                                                "id": 1950,
                                                "name": "Identifier",
                                                "src": "17495:9:2"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1846,
                                                  "type": "bytes32",
                                                  "value": "_proposalId"
                                                },
                                                "id": 1951,
                                                "name": "Identifier",
                                                "src": "17505:11:2"
                                              }
                                            ],
                                            "id": 1952,
                                            "name": "IndexAccess",
                                            "src": "17495:22:2"
                                          }
                                        ],
                                        "id": 1953,
                                        "name": "UnaryOperation",
                                        "src": "17488:29:2"
                                      }
                                    ],
                                    "id": 1954,
                                    "name": "ExpressionStatement",
                                    "src": "17488:29:2"
                                  },
                                  {
                                    "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_bytes32",
                                                  "typeString": "bytes32"
                                                },
                                                {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 979,
                                              "type": "function (bytes32,uint256)",
                                              "value": "LogExecuteProposal"
                                            },
                                            "id": 1955,
                                            "name": "Identifier",
                                            "src": "17535:18:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1846,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 1956,
                                            "name": "Identifier",
                                            "src": "17554:11:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1916,
                                              "type": "uint256",
                                              "value": "maxInd"
                                            },
                                            "id": 1957,
                                            "name": "Identifier",
                                            "src": "17567:6:2"
                                          }
                                        ],
                                        "id": 1958,
                                        "name": "FunctionCall",
                                        "src": "17535:39:2"
                                      }
                                    ],
                                    "id": 1959,
                                    "name": "ExpressionStatement",
                                    "src": "17535:39:2"
                                  },
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "bool",
                                          "type_conversion": false
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_bytes32",
                                                  "typeString": "bytes32"
                                                },
                                                {
                                                  "typeIdentifier": "t_address",
                                                  "typeString": "address"
                                                },
                                                {
                                                  "typeIdentifier": "t_int256",
                                                  "typeString": "int256"
                                                }
                                              ],
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "execute",
                                              "referencedDeclaration": 6616,
                                              "type": "function (bytes32,address,int256) external returns (bool)"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "type": "contract ExecutableInterface"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "member_name": "executable",
                                                      "referencedDeclaration": 938,
                                                      "type": "contract ExecutableInterface"
                                                    },
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 1887,
                                                          "type": "struct EmergentVoteScheme.Proposal memory",
                                                          "value": "tmpProposal"
                                                        },
                                                        "id": 1960,
                                                        "name": "Identifier",
                                                        "src": "17593:11:2"
                                                      }
                                                    ],
                                                    "id": 1961,
                                                    "name": "MemberAccess",
                                                    "src": "17593:22:2"
                                                  }
                                                ],
                                                "id": 1962,
                                                "name": "TupleExpression",
                                                "src": "17592:24:2"
                                              }
                                            ],
                                            "id": 1963,
                                            "name": "MemberAccess",
                                            "src": "17592:32:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1846,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 1964,
                                            "name": "Identifier",
                                            "src": "17625:11:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "avatar",
                                              "referencedDeclaration": 934,
                                              "type": "address"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1887,
                                                  "type": "struct EmergentVoteScheme.Proposal memory",
                                                  "value": "tmpProposal"
                                                },
                                                "id": 1965,
                                                "name": "Identifier",
                                                "src": "17638:11:2"
                                              }
                                            ],
                                            "id": 1966,
                                            "name": "MemberAccess",
                                            "src": "17638:18:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "int256",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_uint256",
                                                      "typeString": "uint256"
                                                    }
                                                  ],
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "type": "type(int256)",
                                                  "value": "int"
                                                },
                                                "id": 1967,
                                                "name": "ElementaryTypeNameExpression",
                                                "src": "17658:3:2"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1916,
                                                  "type": "uint256",
                                                  "value": "maxInd"
                                                },
                                                "id": 1968,
                                                "name": "Identifier",
                                                "src": "17662:6:2"
                                              }
                                            ],
                                            "id": 1969,
                                            "name": "FunctionCall",
                                            "src": "17658:11:2"
                                          }
                                        ],
                                        "id": 1970,
                                        "name": "FunctionCall",
                                        "src": "17592:78:2"
                                      }
                                    ],
                                    "id": 1971,
                                    "name": "ExpressionStatement",
                                    "src": "17592:78:2"
                                  },
                                  {
                                    "attributes": {
                                      "functionReturnParameters": 1853
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "74727565",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "bool",
                                          "type": "bool",
                                          "value": "true"
                                        },
                                        "id": 1972,
                                        "name": "Literal",
                                        "src": "17695:4:2"
                                      }
                                    ],
                                    "id": 1973,
                                    "name": "Return",
                                    "src": "17688:11:2"
                                  }
                                ],
                                "id": 1974,
                                "name": "Block",
                                "src": "17100:614:2"
                              }
                            ],
                            "id": 1975,
                            "name": "IfStatement",
                            "src": "17049:665:2"
                          }
                        ],
                        "id": 1976,
                        "name": "Block",
                        "src": "16911:813:2"
                      }
                    ],
                    "id": 1977,
                    "name": "IfStatement",
                    "src": "16839:885:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            1979
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt2",
                              "scope": 2030,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 1978,
                                "name": "ElementaryTypeName",
                                "src": "17784:4:2"
                              }
                            ],
                            "id": 1979,
                            "name": "VariableDeclaration",
                            "src": "17784:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 1980,
                            "name": "Literal",
                            "src": "17796:1:2"
                          }
                        ],
                        "id": 1981,
                        "name": "VariableDeclarationStatement",
                        "src": "17784:13:2"
                      },
                      {
                        "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": 1979,
                              "type": "uint256",
                              "value": "cnt2"
                            },
                            "id": 1982,
                            "name": "Identifier",
                            "src": "17799:4:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 936,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1855,
                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 1983,
                                "name": "Identifier",
                                "src": "17805:8:2"
                              }
                            ],
                            "id": 1984,
                            "name": "MemberAccess",
                            "src": "17805:21:2"
                          }
                        ],
                        "id": 1985,
                        "name": "BinaryOperation",
                        "src": "17799:27:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1979,
                                  "type": "uint256",
                                  "value": "cnt2"
                                },
                                "id": 1986,
                                "name": "Identifier",
                                "src": "17828:4:2"
                              }
                            ],
                            "id": 1987,
                            "name": "UnaryOperation",
                            "src": "17828:6:2"
                          }
                        ],
                        "id": 1988,
                        "name": "ExpressionStatement",
                        "src": "17828:6:2"
                      },
                      {
                        "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": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "votes",
                                          "referencedDeclaration": 946,
                                          "type": "mapping(uint256 => uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1855,
                                              "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 1989,
                                            "name": "Identifier",
                                            "src": "17854:8:2"
                                          }
                                        ],
                                        "id": 1990,
                                        "name": "MemberAccess",
                                        "src": "17854:14:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 1979,
                                          "type": "uint256",
                                          "value": "cnt2"
                                        },
                                        "id": 1991,
                                        "name": "Identifier",
                                        "src": "17869:4:2"
                                      }
                                    ],
                                    "id": 1992,
                                    "name": "IndexAccess",
                                    "src": "17854:20:2"
                                  },
                                  {
                                    "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": 1870,
                                              "type": "uint256",
                                              "value": "totalReputation"
                                            },
                                            "id": 1993,
                                            "name": "Identifier",
                                            "src": "17877:15:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1879,
                                              "type": "uint256",
                                              "value": "precReq"
                                            },
                                            "id": 1994,
                                            "name": "Identifier",
                                            "src": "17893:7:2"
                                          }
                                        ],
                                        "id": 1995,
                                        "name": "BinaryOperation",
                                        "src": "17877:23:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "313030",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 100",
                                          "value": "100"
                                        },
                                        "id": 1996,
                                        "name": "Literal",
                                        "src": "17901:3:2"
                                      }
                                    ],
                                    "id": 1997,
                                    "name": "BinaryOperation",
                                    "src": "17877:27:2"
                                  }
                                ],
                                "id": 1998,
                                "name": "BinaryOperation",
                                "src": "17854:50:2"
                              },
                              {
                                "children": [
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "delete",
                                          "prefix": true,
                                          "type": "tuple()"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": true,
                                              "type": "struct EmergentVoteScheme.Proposal storage ref"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1013,
                                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                                  "value": "proposals"
                                                },
                                                "id": 1999,
                                                "name": "Identifier",
                                                "src": "17931:9:2"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1846,
                                                  "type": "bytes32",
                                                  "value": "_proposalId"
                                                },
                                                "id": 2000,
                                                "name": "Identifier",
                                                "src": "17941:11:2"
                                              }
                                            ],
                                            "id": 2001,
                                            "name": "IndexAccess",
                                            "src": "17931:22:2"
                                          }
                                        ],
                                        "id": 2002,
                                        "name": "UnaryOperation",
                                        "src": "17924:29:2"
                                      }
                                    ],
                                    "id": 2003,
                                    "name": "ExpressionStatement",
                                    "src": "17924:29:2"
                                  },
                                  {
                                    "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_bytes32",
                                                  "typeString": "bytes32"
                                                },
                                                {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 979,
                                              "type": "function (bytes32,uint256)",
                                              "value": "LogExecuteProposal"
                                            },
                                            "id": 2004,
                                            "name": "Identifier",
                                            "src": "17971:18:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1846,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 2005,
                                            "name": "Identifier",
                                            "src": "17990:11:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1919,
                                              "type": "uint256",
                                              "value": "cnt"
                                            },
                                            "id": 2006,
                                            "name": "Identifier",
                                            "src": "18003:3:2"
                                          }
                                        ],
                                        "id": 2007,
                                        "name": "FunctionCall",
                                        "src": "17971:36:2"
                                      }
                                    ],
                                    "id": 2008,
                                    "name": "ExpressionStatement",
                                    "src": "17971:36:2"
                                  },
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "bool",
                                          "type_conversion": false
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_bytes32",
                                                  "typeString": "bytes32"
                                                },
                                                {
                                                  "typeIdentifier": "t_address",
                                                  "typeString": "address"
                                                },
                                                {
                                                  "typeIdentifier": "t_int256",
                                                  "typeString": "int256"
                                                }
                                              ],
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "execute",
                                              "referencedDeclaration": 6616,
                                              "type": "function (bytes32,address,int256) external returns (bool)"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "type": "contract ExecutableInterface"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "member_name": "executable",
                                                      "referencedDeclaration": 938,
                                                      "type": "contract ExecutableInterface"
                                                    },
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 1887,
                                                          "type": "struct EmergentVoteScheme.Proposal memory",
                                                          "value": "tmpProposal"
                                                        },
                                                        "id": 2009,
                                                        "name": "Identifier",
                                                        "src": "18026:11:2"
                                                      }
                                                    ],
                                                    "id": 2010,
                                                    "name": "MemberAccess",
                                                    "src": "18026:22:2"
                                                  }
                                                ],
                                                "id": 2011,
                                                "name": "TupleExpression",
                                                "src": "18025:24:2"
                                              }
                                            ],
                                            "id": 2012,
                                            "name": "MemberAccess",
                                            "src": "18025:32:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1846,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 2013,
                                            "name": "Identifier",
                                            "src": "18058:11:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "avatar",
                                              "referencedDeclaration": 934,
                                              "type": "address"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1887,
                                                  "type": "struct EmergentVoteScheme.Proposal memory",
                                                  "value": "tmpProposal"
                                                },
                                                "id": 2014,
                                                "name": "Identifier",
                                                "src": "18071:11:2"
                                              }
                                            ],
                                            "id": 2015,
                                            "name": "MemberAccess",
                                            "src": "18071:18:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "int256",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_uint256",
                                                      "typeString": "uint256"
                                                    }
                                                  ],
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "type": "type(int256)",
                                                  "value": "int"
                                                },
                                                "id": 2016,
                                                "name": "ElementaryTypeNameExpression",
                                                "src": "18091:3:2"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 1979,
                                                  "type": "uint256",
                                                  "value": "cnt2"
                                                },
                                                "id": 2017,
                                                "name": "Identifier",
                                                "src": "18095:4:2"
                                              }
                                            ],
                                            "id": 2018,
                                            "name": "FunctionCall",
                                            "src": "18091:9:2"
                                          }
                                        ],
                                        "id": 2019,
                                        "name": "FunctionCall",
                                        "src": "18025:76:2"
                                      }
                                    ],
                                    "id": 2020,
                                    "name": "ExpressionStatement",
                                    "src": "18025:76:2"
                                  },
                                  {
                                    "attributes": {
                                      "functionReturnParameters": 1853
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "74727565",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "bool",
                                          "type": "bool",
                                          "value": "true"
                                        },
                                        "id": 2021,
                                        "name": "Literal",
                                        "src": "18126:4:2"
                                      }
                                    ],
                                    "id": 2022,
                                    "name": "Return",
                                    "src": "18119:11:2"
                                  }
                                ],
                                "id": 2023,
                                "name": "Block",
                                "src": "17906:239:2"
                              }
                            ],
                            "id": 2024,
                            "name": "IfStatement",
                            "src": "17850:295:2"
                          }
                        ],
                        "id": 2025,
                        "name": "Block",
                        "src": "17836:319:2"
                      }
                    ],
                    "id": 2026,
                    "name": "ForStatement",
                    "src": "17779:376:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 1853
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "66616c7365",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "false"
                        },
                        "id": 2027,
                        "name": "Literal",
                        "src": "18171:5:2"
                      }
                    ],
                    "id": 2028,
                    "name": "Return",
                    "src": "18164:12:2"
                  }
                ],
                "id": 2029,
                "name": "Block",
                "src": "16423:1760:2"
              }
            ],
            "id": 2030,
            "name": "FunctionDefinition",
            "src": "16343:1840:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getNumberOfChoices",
              "payable": false,
              "scope": 2535,
              "stateMutability": "view",
              "superFunction": 2643,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 2044,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 2031,
                        "name": "ElementaryTypeName",
                        "src": "18217:7:2"
                      }
                    ],
                    "id": 2032,
                    "name": "VariableDeclaration",
                    "src": "18217:19:2"
                  }
                ],
                "id": 2033,
                "name": "ParameterList",
                "src": "18216:21:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 2044,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2034,
                        "name": "ElementaryTypeName",
                        "src": "18262:4:2"
                      }
                    ],
                    "id": 2035,
                    "name": "VariableDeclaration",
                    "src": "18262:4:2"
                  }
                ],
                "id": 2036,
                "name": "ParameterList",
                "src": "18261:6:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 2036
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 936,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct EmergentVoteScheme.Proposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1013,
                                      "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                      "value": "proposals"
                                    },
                                    "id": 2037,
                                    "name": "Identifier",
                                    "src": "18286:9:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2032,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 2038,
                                    "name": "Identifier",
                                    "src": "18296:11:2"
                                  }
                                ],
                                "id": 2039,
                                "name": "IndexAccess",
                                "src": "18286:22:2"
                              }
                            ],
                            "id": 2040,
                            "name": "MemberAccess",
                            "src": "18286:35:2"
                          }
                        ],
                        "id": 2041,
                        "name": "TupleExpression",
                        "src": "18285:37:2"
                      }
                    ],
                    "id": 2042,
                    "name": "Return",
                    "src": "18278:44:2"
                  }
                ],
                "id": 2043,
                "name": "Block",
                "src": "18268:61:2"
              }
            ],
            "id": 2044,
            "name": "FunctionDefinition",
            "src": "18189:140:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "voteInfo",
              "payable": false,
              "scope": 2535,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 2071,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 2045,
                        "name": "ElementaryTypeName",
                        "src": "18718:7:2"
                      }
                    ],
                    "id": 2046,
                    "name": "VariableDeclaration",
                    "src": "18718:19:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 2071,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 2047,
                        "name": "ElementaryTypeName",
                        "src": "18739:7:2"
                      }
                    ],
                    "id": 2048,
                    "name": "VariableDeclaration",
                    "src": "18739:14:2"
                  }
                ],
                "id": 2049,
                "name": "ParameterList",
                "src": "18717:37:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 2071,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[2] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "type": "uint256[2] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 2050,
                            "name": "ElementaryTypeName",
                            "src": "18779:4:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 2051,
                            "name": "Literal",
                            "src": "18784:1:2"
                          }
                        ],
                        "id": 2052,
                        "name": "ArrayTypeName",
                        "src": "18779:7:2"
                      }
                    ],
                    "id": 2053,
                    "name": "VariableDeclaration",
                    "src": "18779:7:2"
                  }
                ],
                "id": 2054,
                "name": "ParameterList",
                "src": "18778:9:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        2056
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "voter",
                          "scope": 2071,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct EmergentVoteScheme.Voter memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Voter",
                              "referencedDeclaration": 930,
                              "type": "struct EmergentVoteScheme.Voter storage pointer"
                            },
                            "id": 2055,
                            "name": "UserDefinedTypeName",
                            "src": "18798:5:2"
                          }
                        ],
                        "id": 2056,
                        "name": "VariableDeclaration",
                        "src": "18798:18:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.Voter storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voters",
                              "referencedDeclaration": 950,
                              "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct EmergentVoteScheme.Proposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 1013,
                                      "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                      "value": "proposals"
                                    },
                                    "id": 2057,
                                    "name": "Identifier",
                                    "src": "18819:9:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2046,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 2058,
                                    "name": "Identifier",
                                    "src": "18829:11:2"
                                  }
                                ],
                                "id": 2059,
                                "name": "IndexAccess",
                                "src": "18819:22:2"
                              }
                            ],
                            "id": 2060,
                            "name": "MemberAccess",
                            "src": "18819:29:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2048,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 2061,
                            "name": "Identifier",
                            "src": "18849:6:2"
                          }
                        ],
                        "id": 2062,
                        "name": "IndexAccess",
                        "src": "18819:37:2"
                      }
                    ],
                    "id": 2063,
                    "name": "VariableDeclarationStatement",
                    "src": "18798:58:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 2054
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isInlineArray": true,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "uint256[2] memory"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "vote",
                              "referencedDeclaration": 927,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2056,
                                  "type": "struct EmergentVoteScheme.Voter memory",
                                  "value": "voter"
                                },
                                "id": 2064,
                                "name": "Identifier",
                                "src": "18874:5:2"
                              }
                            ],
                            "id": 2065,
                            "name": "MemberAccess",
                            "src": "18874:10:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "reputation",
                              "referencedDeclaration": 929,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2056,
                                  "type": "struct EmergentVoteScheme.Voter memory",
                                  "value": "voter"
                                },
                                "id": 2066,
                                "name": "Identifier",
                                "src": "18886:5:2"
                              }
                            ],
                            "id": 2067,
                            "name": "MemberAccess",
                            "src": "18886:16:2"
                          }
                        ],
                        "id": 2068,
                        "name": "TupleExpression",
                        "src": "18873:30:2"
                      }
                    ],
                    "id": 2069,
                    "name": "Return",
                    "src": "18866:37:2"
                  }
                ],
                "id": 2070,
                "name": "Block",
                "src": "18788:122:2"
              }
            ],
            "id": 2071,
            "name": "FunctionDefinition",
            "src": "18700:210:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "proposalStatus",
              "payable": false,
              "scope": 2535,
              "stateMutability": "view",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 2131,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 2072,
                        "name": "ElementaryTypeName",
                        "src": "19270:7:2"
                      }
                    ],
                    "id": 2073,
                    "name": "VariableDeclaration",
                    "src": "19270:19:2"
                  }
                ],
                "id": 2074,
                "name": "ParameterList",
                "src": "19269:21:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 2131,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[13] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "type": "uint256[13] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 2075,
                            "name": "ElementaryTypeName",
                            "src": "19315:4:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "3133",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 13",
                              "value": "13"
                            },
                            "id": 2076,
                            "name": "Literal",
                            "src": "19320:2:2"
                          }
                        ],
                        "id": 2077,
                        "name": "ArrayTypeName",
                        "src": "19315:8:2"
                      }
                    ],
                    "id": 2078,
                    "name": "VariableDeclaration",
                    "src": "19315:8:2"
                  }
                ],
                "id": 2079,
                "name": "ParameterList",
                "src": "19314:10:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        2081
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 2131,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct EmergentVoteScheme.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 961,
                              "type": "struct EmergentVoteScheme.Proposal storage pointer"
                            },
                            "id": 2080,
                            "name": "UserDefinedTypeName",
                            "src": "19335:8:2"
                          }
                        ],
                        "id": 2081,
                        "name": "VariableDeclaration",
                        "src": "19335:25:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1013,
                              "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 2082,
                            "name": "Identifier",
                            "src": "19363:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2073,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 2083,
                            "name": "Identifier",
                            "src": "19373:11:2"
                          }
                        ],
                        "id": 2084,
                        "name": "IndexAccess",
                        "src": "19363:22:2"
                      }
                    ],
                    "id": 2085,
                    "name": "VariableDeclarationStatement",
                    "src": "19335:50:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        2087
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "opened",
                          "scope": 2131,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 2086,
                            "name": "ElementaryTypeName",
                            "src": "19395:4:2"
                          }
                        ],
                        "id": 2087,
                        "name": "VariableDeclaration",
                        "src": "19395:11:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "uint8"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "opened",
                              "referencedDeclaration": 952,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2081,
                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 2088,
                                "name": "Identifier",
                                "src": "19409:8:2"
                              }
                            ],
                            "id": 2089,
                            "name": "MemberAccess",
                            "src": "19409:15:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 2090,
                            "name": "Literal",
                            "src": "19427:1:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 2091,
                            "name": "Literal",
                            "src": "19431:1:2"
                          }
                        ],
                        "id": 2092,
                        "name": "Conditional",
                        "src": "19409:23:2"
                      }
                    ],
                    "id": 2093,
                    "name": "VariableDeclarationStatement",
                    "src": "19395:37:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "returnedArray",
                          "scope": 2131,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "uint256[13] memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "type": "uint256[13] storage pointer"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 2096,
                                "name": "ElementaryTypeName",
                                "src": "19442:4:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "3133",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 13",
                                  "value": "13"
                                },
                                "id": 2095,
                                "name": "Literal",
                                "src": "19447:2:2"
                              }
                            ],
                            "id": 2097,
                            "name": "ArrayTypeName",
                            "src": "19442:8:2"
                          }
                        ],
                        "id": 2098,
                        "name": "VariableDeclaration",
                        "src": "19442:29:2"
                      }
                    ],
                    "id": 2099,
                    "name": "VariableDeclarationStatement",
                    "src": "19442:29:2"
                  },
                  {
                    "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": 2098,
                                  "type": "uint256[13] memory",
                                  "value": "returnedArray"
                                },
                                "id": 2100,
                                "name": "Identifier",
                                "src": "19481:13:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "3132",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 12",
                                  "value": "12"
                                },
                                "id": 2101,
                                "name": "Literal",
                                "src": "19495:2:2"
                              }
                            ],
                            "id": 2102,
                            "name": "IndexAccess",
                            "src": "19481:17:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2087,
                              "type": "uint256",
                              "value": "opened"
                            },
                            "id": 2103,
                            "name": "Identifier",
                            "src": "19501:6:2"
                          }
                        ],
                        "id": 2104,
                        "name": "Assignment",
                        "src": "19481:26:2"
                      }
                    ],
                    "id": 2105,
                    "name": "ExpressionStatement",
                    "src": "19481:26:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            2107
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt",
                              "scope": 2131,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 2106,
                                "name": "ElementaryTypeName",
                                "src": "19522:4:2"
                              }
                            ],
                            "id": 2107,
                            "name": "VariableDeclaration",
                            "src": "19522:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 2108,
                            "name": "Literal",
                            "src": "19533:1:2"
                          }
                        ],
                        "id": 2109,
                        "name": "VariableDeclarationStatement",
                        "src": "19522:12:2"
                      },
                      {
                        "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": 2107,
                              "type": "uint256",
                              "value": "cnt"
                            },
                            "id": 2110,
                            "name": "Identifier",
                            "src": "19536:3:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "numOfChoices",
                              "referencedDeclaration": 936,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2081,
                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 2111,
                                "name": "Identifier",
                                "src": "19541:8:2"
                              }
                            ],
                            "id": 2112,
                            "name": "MemberAccess",
                            "src": "19541:21:2"
                          }
                        ],
                        "id": 2113,
                        "name": "BinaryOperation",
                        "src": "19536:26:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2107,
                                  "type": "uint256",
                                  "value": "cnt"
                                },
                                "id": 2114,
                                "name": "Identifier",
                                "src": "19564:3:2"
                              }
                            ],
                            "id": 2115,
                            "name": "UnaryOperation",
                            "src": "19564:5:2"
                          }
                        ],
                        "id": 2116,
                        "name": "ExpressionStatement",
                        "src": "19564:5:2"
                      },
                      {
                        "children": [
                          {
                            "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": 2098,
                                          "type": "uint256[13] memory",
                                          "value": "returnedArray"
                                        },
                                        "id": 2117,
                                        "name": "Identifier",
                                        "src": "19585:13:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 2107,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 2118,
                                        "name": "Identifier",
                                        "src": "19599:3:2"
                                      }
                                    ],
                                    "id": 2119,
                                    "name": "IndexAccess",
                                    "src": "19585:18:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "votes",
                                          "referencedDeclaration": 946,
                                          "type": "mapping(uint256 => uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 2081,
                                              "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 2120,
                                            "name": "Identifier",
                                            "src": "19606:8:2"
                                          }
                                        ],
                                        "id": 2121,
                                        "name": "MemberAccess",
                                        "src": "19606:14:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 2107,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 2122,
                                        "name": "Identifier",
                                        "src": "19621:3:2"
                                      }
                                    ],
                                    "id": 2123,
                                    "name": "IndexAccess",
                                    "src": "19606:19:2"
                                  }
                                ],
                                "id": 2124,
                                "name": "Assignment",
                                "src": "19585:40:2"
                              }
                            ],
                            "id": 2125,
                            "name": "ExpressionStatement",
                            "src": "19585:40:2"
                          }
                        ],
                        "id": 2126,
                        "name": "Block",
                        "src": "19571:65:2"
                      }
                    ],
                    "id": 2127,
                    "name": "ForStatement",
                    "src": "19517:119:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 2079
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 2098,
                          "type": "uint256[13] memory",
                          "value": "returnedArray"
                        },
                        "id": 2128,
                        "name": "Identifier",
                        "src": "19652:13:2"
                      }
                    ],
                    "id": 2129,
                    "name": "Return",
                    "src": "19645:20:2"
                  }
                ],
                "id": 2130,
                "name": "Block",
                "src": "19325:347:2"
              }
            ],
            "id": 2131,
            "name": "FunctionDefinition",
            "src": "19246:426:2"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "isVotable",
              "payable": false,
              "scope": 2535,
              "stateMutability": "view",
              "superFunction": 2650,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 2144,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 2132,
                        "name": "ElementaryTypeName",
                        "src": "19844:7:2"
                      }
                    ],
                    "id": 2133,
                    "name": "VariableDeclaration",
                    "src": "19844:19:2"
                  }
                ],
                "id": 2134,
                "name": "ParameterList",
                "src": "19843:21:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 2144,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 2135,
                        "name": "ElementaryTypeName",
                        "src": "19889:4:2"
                      }
                    ],
                    "id": 2136,
                    "name": "VariableDeclaration",
                    "src": "19889:4:2"
                  }
                ],
                "id": 2137,
                "name": "ParameterList",
                "src": "19888:6:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 2137
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "opened",
                          "referencedDeclaration": 952,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct EmergentVoteScheme.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1013,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 2138,
                                "name": "Identifier",
                                "src": "19912:9:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2133,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 2139,
                                "name": "Identifier",
                                "src": "19922:11:2"
                              }
                            ],
                            "id": 2140,
                            "name": "IndexAccess",
                            "src": "19912:22:2"
                          }
                        ],
                        "id": 2141,
                        "name": "MemberAccess",
                        "src": "19912:29:2"
                      }
                    ],
                    "id": 2142,
                    "name": "Return",
                    "src": "19905:36:2"
                  }
                ],
                "id": 2143,
                "name": "Block",
                "src": "19895:53:2"
              }
            ],
            "id": 2144,
            "name": "FunctionDefinition",
            "src": "19825:123:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "tryAwaitingBoostProposals",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 2269,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 2145,
                        "name": "ElementaryTypeName",
                        "src": "20263:7:2"
                      }
                    ],
                    "id": 2146,
                    "name": "VariableDeclaration",
                    "src": "20263:19:2"
                  }
                ],
                "id": 2147,
                "name": "ParameterList",
                "src": "20262:21:2"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2148,
                "name": "ParameterList",
                "src": "20293:0:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        2150
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "avatar",
                          "scope": 2269,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "address",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 2149,
                            "name": "ElementaryTypeName",
                            "src": "20349:7:2"
                          }
                        ],
                        "id": 2150,
                        "name": "VariableDeclaration",
                        "src": "20349:14:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "avatar",
                          "referencedDeclaration": 934,
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct EmergentVoteScheme.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1013,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 2151,
                                "name": "Identifier",
                                "src": "20366:9:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2146,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 2152,
                                "name": "Identifier",
                                "src": "20376:11:2"
                              }
                            ],
                            "id": 2153,
                            "name": "IndexAccess",
                            "src": "20366:22:2"
                          }
                        ],
                        "id": 2154,
                        "name": "MemberAccess",
                        "src": "20366:29:2"
                      }
                    ],
                    "id": 2155,
                    "name": "VariableDeclarationStatement",
                    "src": "20349:46:2"
                  },
                  {
                    "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 2156,
                            "name": "Identifier",
                            "src": "20405:7:2"
                          },
                          {
                            "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": 2150,
                                  "type": "address",
                                  "value": "avatar"
                                },
                                "id": 2157,
                                "name": "Identifier",
                                "src": "20413:6:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 2158,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "20423:7:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 2159,
                                    "name": "Literal",
                                    "src": "20431:1:2"
                                  }
                                ],
                                "id": 2160,
                                "name": "FunctionCall",
                                "src": "20423:10:2"
                              }
                            ],
                            "id": 2161,
                            "name": "BinaryOperation",
                            "src": "20413:20:2"
                          }
                        ],
                        "id": 2162,
                        "name": "FunctionCall",
                        "src": "20405:29:2"
                      }
                    ],
                    "id": 2163,
                    "name": "ExpressionStatement",
                    "src": "20405:29:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        2165
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "orgParamsHash",
                          "scope": 2269,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 2164,
                            "name": "ElementaryTypeName",
                            "src": "20468:7:2"
                          }
                        ],
                        "id": 2165,
                        "name": "VariableDeclaration",
                        "src": "20468:21:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                }
                              ],
                              "overloadedDeclarations": [
                                8464
                              ],
                              "referencedDeclaration": 8464,
                              "type": "function (contract Avatar) view returns (bytes32)",
                              "value": "getParametersFromController"
                            },
                            "id": 2166,
                            "name": "Identifier",
                            "src": "20492:27:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract Avatar",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3065,
                                  "type": "type(contract Avatar)",
                                  "value": "Avatar"
                                },
                                "id": 2167,
                                "name": "Identifier",
                                "src": "20520:6:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2150,
                                  "type": "address",
                                  "value": "avatar"
                                },
                                "id": 2168,
                                "name": "Identifier",
                                "src": "20527:6:2"
                              }
                            ],
                            "id": 2169,
                            "name": "FunctionCall",
                            "src": "20520:14:2"
                          }
                        ],
                        "id": 2170,
                        "name": "FunctionCall",
                        "src": "20492:43:2"
                      }
                    ],
                    "id": 2171,
                    "name": "VariableDeclarationStatement",
                    "src": "20468:67:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        2173
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "orgParams",
                          "scope": 2269,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct EmergentVoteScheme.OrgParameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "OrgParameters",
                              "referencedDeclaration": 918,
                              "type": "struct EmergentVoteScheme.OrgParameters storage pointer"
                            },
                            "id": 2172,
                            "name": "UserDefinedTypeName",
                            "src": "20545:13:2"
                          }
                        ],
                        "id": 2173,
                        "name": "VariableDeclaration",
                        "src": "20545:30:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.OrgParameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1005,
                              "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)",
                              "value": "organizationsParameters"
                            },
                            "id": 2174,
                            "name": "Identifier",
                            "src": "20578:23:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2165,
                              "type": "bytes32",
                              "value": "orgParamsHash"
                            },
                            "id": 2175,
                            "name": "Identifier",
                            "src": "20602:13:2"
                          }
                        ],
                        "id": 2176,
                        "name": "IndexAccess",
                        "src": "20578:38:2"
                      }
                    ],
                    "id": 2177,
                    "name": "VariableDeclarationStatement",
                    "src": "20545:71:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        2179
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "org",
                          "scope": 2269,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct EmergentVoteScheme.Organization storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Organization",
                              "referencedDeclaration": 901,
                              "type": "struct EmergentVoteScheme.Organization storage pointer"
                            },
                            "id": 2178,
                            "name": "UserDefinedTypeName",
                            "src": "20626:12:2"
                          }
                        ],
                        "id": 2179,
                        "name": "VariableDeclaration",
                        "src": "20626:24:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.Organization storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1001,
                              "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)",
                              "value": "organizations"
                            },
                            "id": 2180,
                            "name": "Identifier",
                            "src": "20653:13:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2150,
                              "type": "address",
                              "value": "avatar"
                            },
                            "id": 2181,
                            "name": "Identifier",
                            "src": "20667:6:2"
                          }
                        ],
                        "id": 2182,
                        "name": "IndexAccess",
                        "src": "20653:21:2"
                      }
                    ],
                    "id": 2183,
                    "name": "VariableDeclarationStatement",
                    "src": "20626:48:2"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "isAwaitingBoost",
                          "referencedDeclaration": 956,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "struct EmergentVoteScheme.Proposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1013,
                                  "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                  "value": "proposals"
                                },
                                "id": 2184,
                                "name": "Identifier",
                                "src": "20738:9:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2146,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 2185,
                                "name": "Identifier",
                                "src": "20748:11:2"
                              }
                            ],
                            "id": 2186,
                            "name": "IndexAccess",
                            "src": "20738:22:2"
                          }
                        ],
                        "id": 2187,
                        "name": "MemberAccess",
                        "src": "20738:38:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "expression": null,
                              "functionReturnParameters": 2148
                            },
                            "id": 2188,
                            "name": "Return",
                            "src": "20792:7:2"
                          }
                        ],
                        "id": 2189,
                        "name": "Block",
                        "src": "20778:31:2"
                      }
                    ],
                    "id": 2190,
                    "name": "IfStatement",
                    "src": "20734:75:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        2192
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "maxAwaitingList",
                          "scope": 2269,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 2191,
                            "name": "ElementaryTypeName",
                            "src": "20926:4:2"
                          }
                        ],
                        "id": 2192,
                        "name": "VariableDeclaration",
                        "src": "20926:20:2"
                      },
                      {
                        "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": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 2193,
                            "name": "Literal",
                            "src": "20949:1:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "attentionBandwidth",
                              "referencedDeclaration": 909,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2173,
                                  "type": "struct EmergentVoteScheme.OrgParameters memory",
                                  "value": "orgParams"
                                },
                                "id": 2194,
                                "name": "Identifier",
                                "src": "20951:9:2"
                              }
                            ],
                            "id": 2195,
                            "name": "MemberAccess",
                            "src": "20951:28:2"
                          }
                        ],
                        "id": 2196,
                        "name": "BinaryOperation",
                        "src": "20949:30:2"
                      }
                    ],
                    "id": 2197,
                    "name": "VariableDeclarationStatement",
                    "src": "20926:53:2"
                  },
                  {
                    "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": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "length",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "awaitingBoostProposals",
                                  "referencedDeclaration": 900,
                                  "type": "bytes32[] storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2179,
                                      "type": "struct EmergentVoteScheme.Organization storage pointer",
                                      "value": "org"
                                    },
                                    "id": 2198,
                                    "name": "Identifier",
                                    "src": "20993:3:2"
                                  }
                                ],
                                "id": 2199,
                                "name": "MemberAccess",
                                "src": "20993:26:2"
                              }
                            ],
                            "id": 2200,
                            "name": "MemberAccess",
                            "src": "20993:33:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2192,
                              "type": "uint256",
                              "value": "maxAwaitingList"
                            },
                            "id": 2201,
                            "name": "Identifier",
                            "src": "21029:15:2"
                          }
                        ],
                        "id": 2202,
                        "name": "BinaryOperation",
                        "src": "20993:51:2"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "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_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "push",
                                      "referencedDeclaration": null,
                                      "type": "function (bytes32) returns (uint256)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "awaitingBoostProposals",
                                          "referencedDeclaration": 900,
                                          "type": "bytes32[] storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 2179,
                                              "type": "struct EmergentVoteScheme.Organization storage pointer",
                                              "value": "org"
                                            },
                                            "id": 2203,
                                            "name": "Identifier",
                                            "src": "21060:3:2"
                                          }
                                        ],
                                        "id": 2206,
                                        "name": "MemberAccess",
                                        "src": "21060:26:2"
                                      }
                                    ],
                                    "id": 2207,
                                    "name": "MemberAccess",
                                    "src": "21060:31:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2146,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 2208,
                                    "name": "Identifier",
                                    "src": "21092:11:2"
                                  }
                                ],
                                "id": 2209,
                                "name": "FunctionCall",
                                "src": "21060:44:2"
                              }
                            ],
                            "id": 2210,
                            "name": "ExpressionStatement",
                            "src": "21060:44:2"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "member_name": "isAwaitingBoost",
                                      "referencedDeclaration": 956,
                                      "type": "bool"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct EmergentVoteScheme.Proposal storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1013,
                                              "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                              "value": "proposals"
                                            },
                                            "id": 2211,
                                            "name": "Identifier",
                                            "src": "21118:9:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 2146,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 2212,
                                            "name": "Identifier",
                                            "src": "21128:11:2"
                                          }
                                        ],
                                        "id": 2213,
                                        "name": "IndexAccess",
                                        "src": "21118:22:2"
                                      }
                                    ],
                                    "id": 2214,
                                    "name": "MemberAccess",
                                    "src": "21118:38:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "74727565",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "bool",
                                      "type": "bool",
                                      "value": "true"
                                    },
                                    "id": 2215,
                                    "name": "Literal",
                                    "src": "21159:4:2"
                                  }
                                ],
                                "id": 2216,
                                "name": "Assignment",
                                "src": "21118:45:2"
                              }
                            ],
                            "id": 2217,
                            "name": "ExpressionStatement",
                            "src": "21118:45:2"
                          },
                          {
                            "attributes": {
                              "expression": null,
                              "functionReturnParameters": 2148
                            },
                            "id": 2218,
                            "name": "Return",
                            "src": "21177:7:2"
                          }
                        ],
                        "id": 2219,
                        "name": "Block",
                        "src": "21046:148:2"
                      }
                    ],
                    "id": 2220,
                    "name": "IfStatement",
                    "src": "20989:205:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "minIndex",
                          "scope": 2269,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 2221,
                            "name": "ElementaryTypeName",
                            "src": "21261:4:2"
                          }
                        ],
                        "id": 2222,
                        "name": "VariableDeclaration",
                        "src": "21261:13:2"
                      }
                    ],
                    "id": 2223,
                    "name": "VariableDeclarationStatement",
                    "src": "21261:13:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "minScore",
                          "scope": 2269,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 2224,
                            "name": "ElementaryTypeName",
                            "src": "21284:4:2"
                          }
                        ],
                        "id": 2225,
                        "name": "VariableDeclaration",
                        "src": "21284:13:2"
                      }
                    ],
                    "id": 2226,
                    "name": "VariableDeclarationStatement",
                    "src": "21284:13:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "tuple(uint256,uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2222,
                                  "type": "uint256",
                                  "value": "minIndex"
                                },
                                "id": 2227,
                                "name": "Identifier",
                                "src": "21308:8:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2225,
                                  "type": "uint256",
                                  "value": "minScore"
                                },
                                "id": 2228,
                                "name": "Identifier",
                                "src": "21318:8:2"
                              }
                            ],
                            "id": 2229,
                            "name": "TupleExpression",
                            "src": "21307:20:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "tuple(uint256,uint256)",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                      "typeString": "bytes32[] storage ref"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1460,
                                  "type": "function (bytes32[] memory) view returns (uint256,uint256)",
                                  "value": "findMinScore"
                                },
                                "id": 2230,
                                "name": "Identifier",
                                "src": "21330:12:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "awaitingBoostProposals",
                                  "referencedDeclaration": 900,
                                  "type": "bytes32[] storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2179,
                                      "type": "struct EmergentVoteScheme.Organization storage pointer",
                                      "value": "org"
                                    },
                                    "id": 2231,
                                    "name": "Identifier",
                                    "src": "21343:3:2"
                                  }
                                ],
                                "id": 2232,
                                "name": "MemberAccess",
                                "src": "21343:26:2"
                              }
                            ],
                            "id": 2233,
                            "name": "FunctionCall",
                            "src": "21330:40:2"
                          }
                        ],
                        "id": 2234,
                        "name": "Assignment",
                        "src": "21307:63:2"
                      }
                    ],
                    "id": 2235,
                    "name": "ExpressionStatement",
                    "src": "21307:63:2"
                  },
                  {
                    "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,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "uint256",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 1415,
                                  "type": "function (bytes32) view returns (uint256)",
                                  "value": "proposalScore"
                                },
                                "id": 2236,
                                "name": "Identifier",
                                "src": "21384:13:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2146,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 2237,
                                "name": "Identifier",
                                "src": "21398:11:2"
                              }
                            ],
                            "id": 2238,
                            "name": "FunctionCall",
                            "src": "21384:26:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2222,
                              "type": "uint256",
                              "value": "minIndex"
                            },
                            "id": 2239,
                            "name": "Identifier",
                            "src": "21413:8:2"
                          }
                        ],
                        "id": 2240,
                        "name": "BinaryOperation",
                        "src": "21384:37:2"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "member_name": "isAwaitingBoost",
                                      "referencedDeclaration": 956,
                                      "type": "bool"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct EmergentVoteScheme.Proposal storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1013,
                                              "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                              "value": "proposals"
                                            },
                                            "id": 2241,
                                            "name": "Identifier",
                                            "src": "21437:9:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "type": "bytes32"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "awaitingBoostProposals",
                                                  "referencedDeclaration": 900,
                                                  "type": "bytes32[] storage ref"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 2179,
                                                      "type": "struct EmergentVoteScheme.Organization storage pointer",
                                                      "value": "org"
                                                    },
                                                    "id": 2242,
                                                    "name": "Identifier",
                                                    "src": "21447:3:2"
                                                  }
                                                ],
                                                "id": 2243,
                                                "name": "MemberAccess",
                                                "src": "21447:26:2"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 2222,
                                                  "type": "uint256",
                                                  "value": "minIndex"
                                                },
                                                "id": 2244,
                                                "name": "Identifier",
                                                "src": "21474:8:2"
                                              }
                                            ],
                                            "id": 2245,
                                            "name": "IndexAccess",
                                            "src": "21447:36:2"
                                          }
                                        ],
                                        "id": 2246,
                                        "name": "IndexAccess",
                                        "src": "21437:47:2"
                                      }
                                    ],
                                    "id": 2247,
                                    "name": "MemberAccess",
                                    "src": "21437:63:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "66616c7365",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "bool",
                                      "type": "bool",
                                      "value": "false"
                                    },
                                    "id": 2248,
                                    "name": "Literal",
                                    "src": "21503:5:2"
                                  }
                                ],
                                "id": 2249,
                                "name": "Assignment",
                                "src": "21437:71:2"
                              }
                            ],
                            "id": 2250,
                            "name": "ExpressionStatement",
                            "src": "21437:71:2"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "member_name": "isAwaitingBoost",
                                      "referencedDeclaration": 956,
                                      "type": "bool"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct EmergentVoteScheme.Proposal storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 1013,
                                              "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                                              "value": "proposals"
                                            },
                                            "id": 2251,
                                            "name": "Identifier",
                                            "src": "21522:9:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 2146,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 2252,
                                            "name": "Identifier",
                                            "src": "21532:11:2"
                                          }
                                        ],
                                        "id": 2253,
                                        "name": "IndexAccess",
                                        "src": "21522:22:2"
                                      }
                                    ],
                                    "id": 2254,
                                    "name": "MemberAccess",
                                    "src": "21522:38:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "74727565",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "bool",
                                      "type": "bool",
                                      "value": "true"
                                    },
                                    "id": 2255,
                                    "name": "Literal",
                                    "src": "21563:4:2"
                                  }
                                ],
                                "id": 2256,
                                "name": "Assignment",
                                "src": "21522:45:2"
                              }
                            ],
                            "id": 2257,
                            "name": "ExpressionStatement",
                            "src": "21522:45:2"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "bytes32"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "awaitingBoostProposals",
                                          "referencedDeclaration": 900,
                                          "type": "bytes32[] storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 2179,
                                              "type": "struct EmergentVoteScheme.Organization storage pointer",
                                              "value": "org"
                                            },
                                            "id": 2258,
                                            "name": "Identifier",
                                            "src": "21581:3:2"
                                          }
                                        ],
                                        "id": 2261,
                                        "name": "MemberAccess",
                                        "src": "21581:26:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 2222,
                                          "type": "uint256",
                                          "value": "minIndex"
                                        },
                                        "id": 2260,
                                        "name": "Identifier",
                                        "src": "21608:8:2"
                                      }
                                    ],
                                    "id": 2262,
                                    "name": "IndexAccess",
                                    "src": "21581:36:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2146,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 2263,
                                    "name": "Identifier",
                                    "src": "21620:11:2"
                                  }
                                ],
                                "id": 2264,
                                "name": "Assignment",
                                "src": "21581:50:2"
                              }
                            ],
                            "id": 2265,
                            "name": "ExpressionStatement",
                            "src": "21581:50:2"
                          }
                        ],
                        "id": 2266,
                        "name": "Block",
                        "src": "21423:219:2"
                      }
                    ],
                    "id": 2267,
                    "name": "IfStatement",
                    "src": "21380:262:2"
                  }
                ],
                "id": 2268,
                "name": "Block",
                "src": "20293:1355:2"
              }
            ],
            "id": 2269,
            "name": "FunctionDefinition",
            "src": "20228:1420:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "cancelVoteInternal",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 2331,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 2270,
                        "name": "ElementaryTypeName",
                        "src": "21899:7:2"
                      }
                    ],
                    "id": 2271,
                    "name": "VariableDeclaration",
                    "src": "21899:19:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 2331,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 2272,
                        "name": "ElementaryTypeName",
                        "src": "21920:7:2"
                      }
                    ],
                    "id": 2273,
                    "name": "VariableDeclaration",
                    "src": "21920:14:2"
                  }
                ],
                "id": 2274,
                "name": "ParameterList",
                "src": "21898:37:2"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2275,
                "name": "ParameterList",
                "src": "21945:0:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        2277
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 2331,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct EmergentVoteScheme.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 961,
                              "type": "struct EmergentVoteScheme.Proposal storage pointer"
                            },
                            "id": 2276,
                            "name": "UserDefinedTypeName",
                            "src": "21955:8:2"
                          }
                        ],
                        "id": 2277,
                        "name": "VariableDeclaration",
                        "src": "21955:25:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1013,
                              "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 2278,
                            "name": "Identifier",
                            "src": "21983:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2271,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 2279,
                            "name": "Identifier",
                            "src": "21993:11:2"
                          }
                        ],
                        "id": 2280,
                        "name": "IndexAccess",
                        "src": "21983:22:2"
                      }
                    ],
                    "id": 2281,
                    "name": "VariableDeclarationStatement",
                    "src": "21955:50:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        2283
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "voter",
                          "scope": 2331,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct EmergentVoteScheme.Voter memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Voter",
                              "referencedDeclaration": 930,
                              "type": "struct EmergentVoteScheme.Voter storage pointer"
                            },
                            "id": 2282,
                            "name": "UserDefinedTypeName",
                            "src": "22015:5:2"
                          }
                        ],
                        "id": 2283,
                        "name": "VariableDeclaration",
                        "src": "22015:18:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.Voter storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voters",
                              "referencedDeclaration": 950,
                              "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2277,
                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 2284,
                                "name": "Identifier",
                                "src": "22036:8:2"
                              }
                            ],
                            "id": 2285,
                            "name": "MemberAccess",
                            "src": "22036:15:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2273,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 2286,
                            "name": "Identifier",
                            "src": "22052:6:2"
                          }
                        ],
                        "id": 2287,
                        "name": "IndexAccess",
                        "src": "22036:23:2"
                      }
                    ],
                    "id": 2288,
                    "name": "VariableDeclarationStatement",
                    "src": "22015:44:2"
                  },
                  {
                    "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,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "votes",
                                  "referencedDeclaration": 946,
                                  "type": "mapping(uint256 => uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2277,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 2289,
                                    "name": "Identifier",
                                    "src": "22070:8:2"
                                  }
                                ],
                                "id": 2293,
                                "name": "MemberAccess",
                                "src": "22070:14:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "vote",
                                  "referencedDeclaration": 927,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2283,
                                      "type": "struct EmergentVoteScheme.Voter memory",
                                      "value": "voter"
                                    },
                                    "id": 2291,
                                    "name": "Identifier",
                                    "src": "22085:5:2"
                                  }
                                ],
                                "id": 2292,
                                "name": "MemberAccess",
                                "src": "22085:10:2"
                              }
                            ],
                            "id": 2294,
                            "name": "IndexAccess",
                            "src": "22070:26:2"
                          },
                          {
                            "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": 10196,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "votes",
                                              "referencedDeclaration": 946,
                                              "type": "mapping(uint256 => uint256)"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 2277,
                                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                                  "value": "proposal"
                                                },
                                                "id": 2295,
                                                "name": "Identifier",
                                                "src": "22100:8:2"
                                              }
                                            ],
                                            "id": 2296,
                                            "name": "MemberAccess",
                                            "src": "22100:14:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "vote",
                                              "referencedDeclaration": 927,
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 2283,
                                                  "type": "struct EmergentVoteScheme.Voter memory",
                                                  "value": "voter"
                                                },
                                                "id": 2297,
                                                "name": "Identifier",
                                                "src": "22115:5:2"
                                              }
                                            ],
                                            "id": 2298,
                                            "name": "MemberAccess",
                                            "src": "22115:10:2"
                                          }
                                        ],
                                        "id": 2299,
                                        "name": "IndexAccess",
                                        "src": "22100:26:2"
                                      }
                                    ],
                                    "id": 2300,
                                    "name": "TupleExpression",
                                    "src": "22099:28:2"
                                  }
                                ],
                                "id": 2301,
                                "name": "MemberAccess",
                                "src": "22099:32:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputation",
                                  "referencedDeclaration": 929,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2283,
                                      "type": "struct EmergentVoteScheme.Voter memory",
                                      "value": "voter"
                                    },
                                    "id": 2302,
                                    "name": "Identifier",
                                    "src": "22132:5:2"
                                  }
                                ],
                                "id": 2303,
                                "name": "MemberAccess",
                                "src": "22132:16:2"
                              }
                            ],
                            "id": 2304,
                            "name": "FunctionCall",
                            "src": "22099:50:2"
                          }
                        ],
                        "id": 2305,
                        "name": "Assignment",
                        "src": "22070:79:2"
                      }
                    ],
                    "id": 2306,
                    "name": "ExpressionStatement",
                    "src": "22070:79:2"
                  },
                  {
                    "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,
                              "member_name": "totalVotes",
                              "referencedDeclaration": 942,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2277,
                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 2307,
                                "name": "Identifier",
                                "src": "22159:8:2"
                              }
                            ],
                            "id": 2309,
                            "name": "MemberAccess",
                            "src": "22159:19:2"
                          },
                          {
                            "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": 10196,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "totalVotes",
                                          "referencedDeclaration": 942,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 2277,
                                              "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                              "value": "proposal"
                                            },
                                            "id": 2310,
                                            "name": "Identifier",
                                            "src": "22182:8:2"
                                          }
                                        ],
                                        "id": 2311,
                                        "name": "MemberAccess",
                                        "src": "22182:19:2"
                                      }
                                    ],
                                    "id": 2312,
                                    "name": "TupleExpression",
                                    "src": "22181:21:2"
                                  }
                                ],
                                "id": 2313,
                                "name": "MemberAccess",
                                "src": "22181:25:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputation",
                                  "referencedDeclaration": 929,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2283,
                                      "type": "struct EmergentVoteScheme.Voter memory",
                                      "value": "voter"
                                    },
                                    "id": 2314,
                                    "name": "Identifier",
                                    "src": "22207:5:2"
                                  }
                                ],
                                "id": 2315,
                                "name": "MemberAccess",
                                "src": "22207:16:2"
                              }
                            ],
                            "id": 2316,
                            "name": "FunctionCall",
                            "src": "22181:43:2"
                          }
                        ],
                        "id": 2317,
                        "name": "Assignment",
                        "src": "22159:65:2"
                      }
                    ],
                    "id": 2318,
                    "name": "ExpressionStatement",
                    "src": "22159:65:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "delete",
                          "prefix": true,
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct EmergentVoteScheme.Voter storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "voters",
                                  "referencedDeclaration": 950,
                                  "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2277,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 2319,
                                    "name": "Identifier",
                                    "src": "22242:8:2"
                                  }
                                ],
                                "id": 2320,
                                "name": "MemberAccess",
                                "src": "22242:15:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2273,
                                  "type": "address",
                                  "value": "_voter"
                                },
                                "id": 2321,
                                "name": "Identifier",
                                "src": "22258:6:2"
                              }
                            ],
                            "id": 2322,
                            "name": "IndexAccess",
                            "src": "22242:23:2"
                          }
                        ],
                        "id": 2323,
                        "name": "UnaryOperation",
                        "src": "22235:30:2"
                      }
                    ],
                    "id": 2324,
                    "name": "ExpressionStatement",
                    "src": "22235:30:2"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 997,
                              "type": "function (bytes32,address)",
                              "value": "LogCancelVoting"
                            },
                            "id": 2325,
                            "name": "Identifier",
                            "src": "22275:15:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2271,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 2326,
                            "name": "Identifier",
                            "src": "22291:11:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2273,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 2327,
                            "name": "Identifier",
                            "src": "22304:6:2"
                          }
                        ],
                        "id": 2328,
                        "name": "FunctionCall",
                        "src": "22275:36:2"
                      }
                    ],
                    "id": 2329,
                    "name": "ExpressionStatement",
                    "src": "22275:36:2"
                  }
                ],
                "id": 2330,
                "name": "Block",
                "src": "21945:373:2"
              }
            ],
            "id": 2331,
            "name": "FunctionDefinition",
            "src": "21871:447:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "deleteFromArray",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "internal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_idsArray",
                      "scope": 2377,
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "type": "bytes32[] storage pointer",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "bytes32[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 2332,
                            "name": "ElementaryTypeName",
                            "src": "22523:7:2"
                          }
                        ],
                        "id": 2333,
                        "name": "ArrayTypeName",
                        "src": "22523:9:2"
                      }
                    ],
                    "id": 2334,
                    "name": "VariableDeclaration",
                    "src": "22523:27:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_index",
                      "scope": 2377,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2335,
                        "name": "ElementaryTypeName",
                        "src": "22552:4:2"
                      }
                    ],
                    "id": 2336,
                    "name": "VariableDeclaration",
                    "src": "22552:11:2"
                  }
                ],
                "id": 2337,
                "name": "ParameterList",
                "src": "22522:42:2"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2338,
                "name": "ParameterList",
                "src": "22574:0:2"
              },
              {
                "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": 10858,
                              "type": "function (bool) pure",
                              "value": "assert"
                            },
                            "id": 2339,
                            "name": "Identifier",
                            "src": "22584:6:2"
                          },
                          {
                            "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": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "length",
                                  "referencedDeclaration": null,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2334,
                                      "type": "bytes32[] storage pointer",
                                      "value": "_idsArray"
                                    },
                                    "id": 2340,
                                    "name": "Identifier",
                                    "src": "22591:9:2"
                                  }
                                ],
                                "id": 2341,
                                "name": "MemberAccess",
                                "src": "22591:16:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2336,
                                  "type": "uint256",
                                  "value": "_index"
                                },
                                "id": 2342,
                                "name": "Identifier",
                                "src": "22610:6:2"
                              }
                            ],
                            "id": 2343,
                            "name": "BinaryOperation",
                            "src": "22591:25:2"
                          }
                        ],
                        "id": 2344,
                        "name": "FunctionCall",
                        "src": "22584:33:2"
                      }
                    ],
                    "id": 2345,
                    "name": "ExpressionStatement",
                    "src": "22584:33:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "assignments": [
                            2347
                          ]
                        },
                        "children": [
                          {
                            "attributes": {
                              "constant": false,
                              "name": "cnt",
                              "scope": 2377,
                              "stateVariable": false,
                              "storageLocation": "default",
                              "type": "uint256",
                              "value": null,
                              "visibility": "internal"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "uint",
                                  "type": "uint256"
                                },
                                "id": 2346,
                                "name": "ElementaryTypeName",
                                "src": "22632:4:2"
                              }
                            ],
                            "id": 2347,
                            "name": "VariableDeclaration",
                            "src": "22632:8:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2336,
                              "type": "uint256",
                              "value": "_index"
                            },
                            "id": 2348,
                            "name": "Identifier",
                            "src": "22643:6:2"
                          }
                        ],
                        "id": 2349,
                        "name": "VariableDeclarationStatement",
                        "src": "22632:17:2"
                      },
                      {
                        "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": 2347,
                              "type": "uint256",
                              "value": "cnt"
                            },
                            "id": 2350,
                            "name": "Identifier",
                            "src": "22651:3:2"
                          },
                          {
                            "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,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "length",
                                  "referencedDeclaration": null,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2334,
                                      "type": "bytes32[] storage pointer",
                                      "value": "_idsArray"
                                    },
                                    "id": 2351,
                                    "name": "Identifier",
                                    "src": "22655:9:2"
                                  }
                                ],
                                "id": 2352,
                                "name": "MemberAccess",
                                "src": "22655:16:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 2353,
                                "name": "Literal",
                                "src": "22672:1:2"
                              }
                            ],
                            "id": 2354,
                            "name": "BinaryOperation",
                            "src": "22655:18:2"
                          }
                        ],
                        "id": 2355,
                        "name": "BinaryOperation",
                        "src": "22651:22:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "++",
                              "prefix": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2347,
                                  "type": "uint256",
                                  "value": "cnt"
                                },
                                "id": 2356,
                                "name": "Identifier",
                                "src": "22675:3:2"
                              }
                            ],
                            "id": 2357,
                            "name": "UnaryOperation",
                            "src": "22675:5:2"
                          }
                        ],
                        "id": 2358,
                        "name": "ExpressionStatement",
                        "src": "22675:5:2"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "bytes32"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 2334,
                                          "type": "bytes32[] storage pointer",
                                          "value": "_idsArray"
                                        },
                                        "id": 2359,
                                        "name": "Identifier",
                                        "src": "22696:9:2"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 2347,
                                          "type": "uint256",
                                          "value": "cnt"
                                        },
                                        "id": 2360,
                                        "name": "Identifier",
                                        "src": "22706:3:2"
                                      }
                                    ],
                                    "id": 2361,
                                    "name": "IndexAccess",
                                    "src": "22696:14:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "bytes32"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 2334,
                                          "type": "bytes32[] storage pointer",
                                          "value": "_idsArray"
                                        },
                                        "id": 2362,
                                        "name": "Identifier",
                                        "src": "22713:9:2"
                                      },
                                      {
                                        "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": 2347,
                                              "type": "uint256",
                                              "value": "cnt"
                                            },
                                            "id": 2363,
                                            "name": "Identifier",
                                            "src": "22723:3:2"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "31",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "number",
                                              "type": "int_const 1",
                                              "value": "1"
                                            },
                                            "id": 2364,
                                            "name": "Literal",
                                            "src": "22727:1:2"
                                          }
                                        ],
                                        "id": 2365,
                                        "name": "BinaryOperation",
                                        "src": "22723:5:2"
                                      }
                                    ],
                                    "id": 2366,
                                    "name": "IndexAccess",
                                    "src": "22713:16:2"
                                  }
                                ],
                                "id": 2367,
                                "name": "Assignment",
                                "src": "22696:33:2"
                              }
                            ],
                            "id": 2368,
                            "name": "ExpressionStatement",
                            "src": "22696:33:2"
                          }
                        ],
                        "id": 2369,
                        "name": "Block",
                        "src": "22682:58:2"
                      }
                    ],
                    "id": 2370,
                    "name": "ForStatement",
                    "src": "22627:113:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "--",
                          "prefix": false,
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "length",
                              "referencedDeclaration": null,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2334,
                                  "type": "bytes32[] storage pointer",
                                  "value": "_idsArray"
                                },
                                "id": 2371,
                                "name": "Identifier",
                                "src": "22749:9:2"
                              }
                            ],
                            "id": 2373,
                            "name": "MemberAccess",
                            "src": "22749:16:2"
                          }
                        ],
                        "id": 2374,
                        "name": "UnaryOperation",
                        "src": "22749:18:2"
                      }
                    ],
                    "id": 2375,
                    "name": "ExpressionStatement",
                    "src": "22749:18:2"
                  }
                ],
                "id": 2376,
                "name": "Block",
                "src": "22574:200:2"
              }
            ],
            "id": 2377,
            "name": "FunctionDefinition",
            "src": "22498:276:2"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "internalVote",
              "payable": false,
              "scope": 2535,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "private"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 2534,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 2378,
                        "name": "ElementaryTypeName",
                        "src": "23247:7:2"
                      }
                    ],
                    "id": 2379,
                    "name": "VariableDeclaration",
                    "src": "23247:19:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_vote",
                      "scope": 2534,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2380,
                        "name": "ElementaryTypeName",
                        "src": "23268:4:2"
                      }
                    ],
                    "id": 2381,
                    "name": "VariableDeclaration",
                    "src": "23268:10:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voter",
                      "scope": 2534,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 2382,
                        "name": "ElementaryTypeName",
                        "src": "23280:7:2"
                      }
                    ],
                    "id": 2383,
                    "name": "VariableDeclaration",
                    "src": "23280:14:2"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_rep",
                      "scope": 2534,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2384,
                        "name": "ElementaryTypeName",
                        "src": "23296:4:2"
                      }
                    ],
                    "id": 2385,
                    "name": "VariableDeclaration",
                    "src": "23296:9:2"
                  }
                ],
                "id": 2386,
                "name": "ParameterList",
                "src": "23246:60:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 2534,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 2387,
                        "name": "ElementaryTypeName",
                        "src": "23323:4:2"
                      }
                    ],
                    "id": 2388,
                    "name": "VariableDeclaration",
                    "src": "23323:4:2"
                  }
                ],
                "id": 2389,
                "name": "ParameterList",
                "src": "23322:6:2"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        2391
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 2534,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct EmergentVoteScheme.Proposal storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Proposal",
                              "referencedDeclaration": 961,
                              "type": "struct EmergentVoteScheme.Proposal storage pointer"
                            },
                            "id": 2390,
                            "name": "UserDefinedTypeName",
                            "src": "23339:8:2"
                          }
                        ],
                        "id": 2391,
                        "name": "VariableDeclaration",
                        "src": "23339:25:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.Proposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1013,
                              "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)",
                              "value": "proposals"
                            },
                            "id": 2392,
                            "name": "Identifier",
                            "src": "23367:9:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2379,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 2393,
                            "name": "Identifier",
                            "src": "23377:11:2"
                          }
                        ],
                        "id": 2394,
                        "name": "IndexAccess",
                        "src": "23367:22:2"
                      }
                    ],
                    "id": 2395,
                    "name": "VariableDeclarationStatement",
                    "src": "23339:50:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        2397
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 2534,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 2396,
                            "name": "ElementaryTypeName",
                            "src": "23399:7:2"
                          }
                        ],
                        "id": 2397,
                        "name": "VariableDeclaration",
                        "src": "23399:18:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                }
                              ],
                              "overloadedDeclarations": [
                                8464
                              ],
                              "referencedDeclaration": 8464,
                              "type": "function (contract Avatar) view returns (bytes32)",
                              "value": "getParametersFromController"
                            },
                            "id": 2398,
                            "name": "Identifier",
                            "src": "23420:27:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract Avatar",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3065,
                                  "type": "type(contract Avatar)",
                                  "value": "Avatar"
                                },
                                "id": 2399,
                                "name": "Identifier",
                                "src": "23448:6:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "avatar",
                                  "referencedDeclaration": 934,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2391,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 2400,
                                    "name": "Identifier",
                                    "src": "23455:8:2"
                                  }
                                ],
                                "id": 2401,
                                "name": "MemberAccess",
                                "src": "23455:15:2"
                              }
                            ],
                            "id": 2402,
                            "name": "FunctionCall",
                            "src": "23448:23:2"
                          }
                        ],
                        "id": 2403,
                        "name": "FunctionCall",
                        "src": "23420:52:2"
                      }
                    ],
                    "id": 2404,
                    "name": "VariableDeclarationStatement",
                    "src": "23399:73:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        2406
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "orgParams",
                          "scope": 2534,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct EmergentVoteScheme.OrgParameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "OrgParameters",
                              "referencedDeclaration": 918,
                              "type": "struct EmergentVoteScheme.OrgParameters storage pointer"
                            },
                            "id": 2405,
                            "name": "UserDefinedTypeName",
                            "src": "23482:13:2"
                          }
                        ],
                        "id": 2406,
                        "name": "VariableDeclaration",
                        "src": "23482:30:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct EmergentVoteScheme.OrgParameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 1005,
                              "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)",
                              "value": "organizationsParameters"
                            },
                            "id": 2407,
                            "name": "Identifier",
                            "src": "23515:23:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2397,
                              "type": "bytes32",
                              "value": "paramsHash"
                            },
                            "id": 2408,
                            "name": "Identifier",
                            "src": "23539:10:2"
                          }
                        ],
                        "id": 2409,
                        "name": "IndexAccess",
                        "src": "23515:35:2"
                      }
                    ],
                    "id": 2410,
                    "name": "VariableDeclarationStatement",
                    "src": "23482:68:2"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "&&",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "isBoostModeActive",
                              "referencedDeclaration": 954,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2391,
                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 2411,
                                "name": "Identifier",
                                "src": "23617:8:2"
                              }
                            ],
                            "id": 2412,
                            "name": "MemberAccess",
                            "src": "23617:26:2"
                          },
                          {
                            "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": "number",
                                  "referencedDeclaration": null,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10859,
                                      "type": "block",
                                      "value": "block"
                                    },
                                    "id": 2413,
                                    "name": "Identifier",
                                    "src": "23647:5:2"
                                  }
                                ],
                                "id": 2414,
                                "name": "MemberAccess",
                                "src": "23647:12:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "closingTime",
                                  "referencedDeclaration": 958,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2391,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 2415,
                                    "name": "Identifier",
                                    "src": "23663:8:2"
                                  }
                                ],
                                "id": 2416,
                                "name": "MemberAccess",
                                "src": "23663:20:2"
                              }
                            ],
                            "id": 2417,
                            "name": "BinaryOperation",
                            "src": "23647:36:2"
                          }
                        ],
                        "id": 2418,
                        "name": "BinaryOperation",
                        "src": "23617:66:2"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 2389
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "bool",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        2030
                                      ],
                                      "referencedDeclaration": 2030,
                                      "type": "function (bytes32) returns (bool)",
                                      "value": "execute"
                                    },
                                    "id": 2419,
                                    "name": "Identifier",
                                    "src": "23706:7:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2379,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 2420,
                                    "name": "Identifier",
                                    "src": "23714:11:2"
                                  }
                                ],
                                "id": 2421,
                                "name": "FunctionCall",
                                "src": "23706:20:2"
                              }
                            ],
                            "id": 2422,
                            "name": "Return",
                            "src": "23699:27:2"
                          }
                        ],
                        "id": 2423,
                        "name": "Block",
                        "src": "23685:52:2"
                      }
                    ],
                    "id": 2424,
                    "name": "IfStatement",
                    "src": "23613:124:2"
                  },
                  {
                    "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 2425,
                            "name": "Identifier",
                            "src": "23776:7:2"
                          },
                          {
                            "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": 2381,
                                  "type": "uint256",
                                  "value": "_vote"
                                },
                                "id": 2426,
                                "name": "Identifier",
                                "src": "23784:5:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "numOfChoices",
                                  "referencedDeclaration": 936,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2391,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 2427,
                                    "name": "Identifier",
                                    "src": "23793:8:2"
                                  }
                                ],
                                "id": 2428,
                                "name": "MemberAccess",
                                "src": "23793:21:2"
                              }
                            ],
                            "id": 2429,
                            "name": "BinaryOperation",
                            "src": "23784:30:2"
                          }
                        ],
                        "id": 2430,
                        "name": "FunctionCall",
                        "src": "23776:39:2"
                      }
                    ],
                    "id": 2431,
                    "name": "ExpressionStatement",
                    "src": "23776:39:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        2433
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "reputation",
                          "scope": 2534,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 2432,
                            "name": "ElementaryTypeName",
                            "src": "23872:4:2"
                          }
                        ],
                        "id": 2433,
                        "name": "VariableDeclaration",
                        "src": "23872:15:2"
                      },
                      {
                        "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_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "reputationOf",
                              "referencedDeclaration": 4458,
                              "type": "function (address) view external returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "reputationSystem",
                                  "referencedDeclaration": 903,
                                  "type": "contract Reputation"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2406,
                                      "type": "struct EmergentVoteScheme.OrgParameters memory",
                                      "value": "orgParams"
                                    },
                                    "id": 2434,
                                    "name": "Identifier",
                                    "src": "23890:9:2"
                                  }
                                ],
                                "id": 2435,
                                "name": "MemberAccess",
                                "src": "23890:26:2"
                              }
                            ],
                            "id": 2436,
                            "name": "MemberAccess",
                            "src": "23890:39:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2383,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 2437,
                            "name": "Identifier",
                            "src": "23930:6:2"
                          }
                        ],
                        "id": 2438,
                        "name": "FunctionCall",
                        "src": "23890:47:2"
                      }
                    ],
                    "id": 2439,
                    "name": "VariableDeclarationStatement",
                    "src": "23872:65:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        2441
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "rep",
                          "scope": 2534,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 2440,
                            "name": "ElementaryTypeName",
                            "src": "23947:4:2"
                          }
                        ],
                        "id": 2441,
                        "name": "VariableDeclaration",
                        "src": "23947:8:2"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 2385,
                          "type": "uint256",
                          "value": "_rep"
                        },
                        "id": 2442,
                        "name": "Identifier",
                        "src": "23958:4:2"
                      }
                    ],
                    "id": 2443,
                    "name": "VariableDeclarationStatement",
                    "src": "23947:15:2"
                  },
                  {
                    "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": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 2444,
                            "name": "Identifier",
                            "src": "23972:7:2"
                          },
                          {
                            "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": 2433,
                                  "type": "uint256",
                                  "value": "reputation"
                                },
                                "id": 2445,
                                "name": "Identifier",
                                "src": "23980:10:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2385,
                                  "type": "uint256",
                                  "value": "_rep"
                                },
                                "id": 2446,
                                "name": "Identifier",
                                "src": "23994:4:2"
                              }
                            ],
                            "id": 2447,
                            "name": "BinaryOperation",
                            "src": "23980:18:2"
                          }
                        ],
                        "id": 2448,
                        "name": "FunctionCall",
                        "src": "23972:27:2"
                      }
                    ],
                    "id": 2449,
                    "name": "ExpressionStatement",
                    "src": "23972:27:2"
                  },
                  {
                    "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,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2441,
                              "type": "uint256",
                              "value": "rep"
                            },
                            "id": 2450,
                            "name": "Identifier",
                            "src": "24013:3:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 2451,
                            "name": "Literal",
                            "src": "24020:1:2"
                          }
                        ],
                        "id": 2452,
                        "name": "BinaryOperation",
                        "src": "24013:8:2"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2441,
                                      "type": "uint256",
                                      "value": "rep"
                                    },
                                    "id": 2453,
                                    "name": "Identifier",
                                    "src": "24037:3:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2433,
                                      "type": "uint256",
                                      "value": "reputation"
                                    },
                                    "id": 2454,
                                    "name": "Identifier",
                                    "src": "24043:10:2"
                                  }
                                ],
                                "id": 2455,
                                "name": "Assignment",
                                "src": "24037:16:2"
                              }
                            ],
                            "id": 2456,
                            "name": "ExpressionStatement",
                            "src": "24037:16:2"
                          }
                        ],
                        "id": 2457,
                        "name": "Block",
                        "src": "24023:41:2"
                      }
                    ],
                    "id": 2458,
                    "name": "IfStatement",
                    "src": "24009:55:2"
                  },
                  {
                    "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": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "reputation",
                              "referencedDeclaration": 929,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct EmergentVoteScheme.Voter storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "voters",
                                      "referencedDeclaration": 950,
                                      "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 2391,
                                          "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                          "value": "proposal"
                                        },
                                        "id": 2459,
                                        "name": "Identifier",
                                        "src": "24145:8:2"
                                      }
                                    ],
                                    "id": 2460,
                                    "name": "MemberAccess",
                                    "src": "24145:15:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2383,
                                      "type": "address",
                                      "value": "_voter"
                                    },
                                    "id": 2461,
                                    "name": "Identifier",
                                    "src": "24161:6:2"
                                  }
                                ],
                                "id": 2462,
                                "name": "IndexAccess",
                                "src": "24145:23:2"
                              }
                            ],
                            "id": 2463,
                            "name": "MemberAccess",
                            "src": "24145:34:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 2464,
                            "name": "Literal",
                            "src": "24183:1:2"
                          }
                        ],
                        "id": 2465,
                        "name": "BinaryOperation",
                        "src": "24145:39:2"
                      },
                      {
                        "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_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2331,
                                      "type": "function (bytes32,address)",
                                      "value": "cancelVoteInternal"
                                    },
                                    "id": 2466,
                                    "name": "Identifier",
                                    "src": "24200:18:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2379,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 2467,
                                    "name": "Identifier",
                                    "src": "24219:11:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2383,
                                      "type": "address",
                                      "value": "_voter"
                                    },
                                    "id": 2468,
                                    "name": "Identifier",
                                    "src": "24232:6:2"
                                  }
                                ],
                                "id": 2469,
                                "name": "FunctionCall",
                                "src": "24200:39:2"
                              }
                            ],
                            "id": 2470,
                            "name": "ExpressionStatement",
                            "src": "24200:39:2"
                          }
                        ],
                        "id": 2471,
                        "name": "Block",
                        "src": "24186:64:2"
                      }
                    ],
                    "id": 2472,
                    "name": "IfStatement",
                    "src": "24141:109:2"
                  },
                  {
                    "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,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "votes",
                                  "referencedDeclaration": 946,
                                  "type": "mapping(uint256 => uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2391,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 2473,
                                    "name": "Identifier",
                                    "src": "24290:8:2"
                                  }
                                ],
                                "id": 2476,
                                "name": "MemberAccess",
                                "src": "24290:14:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2381,
                                  "type": "uint256",
                                  "value": "_vote"
                                },
                                "id": 2475,
                                "name": "Identifier",
                                "src": "24305:5:2"
                              }
                            ],
                            "id": 2477,
                            "name": "IndexAccess",
                            "src": "24290:21:2"
                          },
                          {
                            "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": 10220,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2441,
                                      "type": "uint256",
                                      "value": "rep"
                                    },
                                    "id": 2478,
                                    "name": "Identifier",
                                    "src": "24314:3:2"
                                  }
                                ],
                                "id": 2479,
                                "name": "MemberAccess",
                                "src": "24314:7:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "votes",
                                      "referencedDeclaration": 946,
                                      "type": "mapping(uint256 => uint256)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 2391,
                                          "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                          "value": "proposal"
                                        },
                                        "id": 2480,
                                        "name": "Identifier",
                                        "src": "24322:8:2"
                                      }
                                    ],
                                    "id": 2481,
                                    "name": "MemberAccess",
                                    "src": "24322:14:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2381,
                                      "type": "uint256",
                                      "value": "_vote"
                                    },
                                    "id": 2482,
                                    "name": "Identifier",
                                    "src": "24337:5:2"
                                  }
                                ],
                                "id": 2483,
                                "name": "IndexAccess",
                                "src": "24322:21:2"
                              }
                            ],
                            "id": 2484,
                            "name": "FunctionCall",
                            "src": "24314:30:2"
                          }
                        ],
                        "id": 2485,
                        "name": "Assignment",
                        "src": "24290:54:2"
                      }
                    ],
                    "id": 2486,
                    "name": "ExpressionStatement",
                    "src": "24290:54:2"
                  },
                  {
                    "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,
                              "member_name": "totalVotes",
                              "referencedDeclaration": 942,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2391,
                                  "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                  "value": "proposal"
                                },
                                "id": 2487,
                                "name": "Identifier",
                                "src": "24354:8:2"
                              }
                            ],
                            "id": 2489,
                            "name": "MemberAccess",
                            "src": "24354:19:2"
                          },
                          {
                            "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": 10220,
                                  "type": "function (uint256,uint256) pure returns (uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2441,
                                      "type": "uint256",
                                      "value": "rep"
                                    },
                                    "id": 2490,
                                    "name": "Identifier",
                                    "src": "24376:3:2"
                                  }
                                ],
                                "id": 2491,
                                "name": "MemberAccess",
                                "src": "24376:7:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "totalVotes",
                                  "referencedDeclaration": 942,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2391,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 2492,
                                    "name": "Identifier",
                                    "src": "24384:8:2"
                                  }
                                ],
                                "id": 2493,
                                "name": "MemberAccess",
                                "src": "24384:19:2"
                              }
                            ],
                            "id": 2494,
                            "name": "FunctionCall",
                            "src": "24376:28:2"
                          }
                        ],
                        "id": 2495,
                        "name": "Assignment",
                        "src": "24354:50:2"
                      }
                    ],
                    "id": 2496,
                    "name": "ExpressionStatement",
                    "src": "24354:50:2"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct EmergentVoteScheme.Voter storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct EmergentVoteScheme.Voter storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "voters",
                                  "referencedDeclaration": 950,
                                  "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2391,
                                      "type": "struct EmergentVoteScheme.Proposal storage pointer",
                                      "value": "proposal"
                                    },
                                    "id": 2497,
                                    "name": "Identifier",
                                    "src": "24414:8:2"
                                  }
                                ],
                                "id": 2500,
                                "name": "MemberAccess",
                                "src": "24414:15:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2383,
                                  "type": "address",
                                  "value": "_voter"
                                },
                                "id": 2499,
                                "name": "Identifier",
                                "src": "24430:6:2"
                              }
                            ],
                            "id": 2501,
                            "name": "IndexAccess",
                            "src": "24414:23:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": true,
                              "lValueRequested": false,
                              "names": [
                                "reputation",
                                "vote"
                              ],
                              "type": "struct EmergentVoteScheme.Voter memory",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 930,
                                  "type": "type(struct EmergentVoteScheme.Voter storage pointer)",
                                  "value": "Voter"
                                },
                                "id": 2502,
                                "name": "Identifier",
                                "src": "24440:5:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2441,
                                  "type": "uint256",
                                  "value": "rep"
                                },
                                "id": 2503,
                                "name": "Identifier",
                                "src": "24472:3:2"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 2381,
                                  "type": "uint256",
                                  "value": "_vote"
                                },
                                "id": 2504,
                                "name": "Identifier",
                                "src": "24495:5:2"
                              }
                            ],
                            "id": 2505,
                            "name": "FunctionCall",
                            "src": "24440:71:2"
                          }
                        ],
                        "id": 2506,
                        "name": "Assignment",
                        "src": "24414:97:2"
                      }
                    ],
                    "id": 2507,
                    "name": "ExpressionStatement",
                    "src": "24414:97:2"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "isOwnerVote",
                          "scope": 2534,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bool",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bool",
                              "type": "bool"
                            },
                            "id": 2508,
                            "name": "ElementaryTypeName",
                            "src": "24553:4:2"
                          }
                        ],
                        "id": 2509,
                        "name": "VariableDeclaration",
                        "src": "24553:16:2"
                      }
                    ],
                    "id": 2510,
                    "name": "VariableDeclarationStatement",
                    "src": "24553:16:2"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "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": 2383,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 2511,
                            "name": "Identifier",
                            "src": "24583:6:2"
                          },
                          {
                            "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": 10867,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 2512,
                                "name": "Identifier",
                                "src": "24593:3:2"
                              }
                            ],
                            "id": 2513,
                            "name": "MemberAccess",
                            "src": "24593:10:2"
                          }
                        ],
                        "id": 2514,
                        "name": "BinaryOperation",
                        "src": "24583:20:2"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 2509,
                                      "type": "bool",
                                      "value": "isOwnerVote"
                                    },
                                    "id": 2515,
                                    "name": "Identifier",
                                    "src": "24619:11:2"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "74727565",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "bool",
                                      "type": "bool",
                                      "value": "true"
                                    },
                                    "id": 2516,
                                    "name": "Literal",
                                    "src": "24633:4:2"
                                  }
                                ],
                                "id": 2517,
                                "name": "Assignment",
                                "src": "24619:18:2"
                              }
                            ],
                            "id": 2518,
                            "name": "ExpressionStatement",
                            "src": "24619:18:2"
                          }
                        ],
                        "id": 2519,
                        "name": "Block",
                        "src": "24605:43:2"
                      }
                    ],
                    "id": 2520,
                    "name": "IfStatement",
                    "src": "24579:69:2"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 991,
                              "type": "function (bytes32,address,uint256,uint256,bool)",
                              "value": "LogVoteProposal"
                            },
                            "id": 2521,
                            "name": "Identifier",
                            "src": "24676:15:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2379,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 2522,
                            "name": "Identifier",
                            "src": "24705:11:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2383,
                              "type": "address",
                              "value": "_voter"
                            },
                            "id": 2523,
                            "name": "Identifier",
                            "src": "24730:6:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2381,
                              "type": "uint256",
                              "value": "_vote"
                            },
                            "id": 2524,
                            "name": "Identifier",
                            "src": "24750:5:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2433,
                              "type": "uint256",
                              "value": "reputation"
                            },
                            "id": 2525,
                            "name": "Identifier",
                            "src": "24769:10:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2509,
                              "type": "bool",
                              "value": "isOwnerVote"
                            },
                            "id": 2526,
                            "name": "Identifier",
                            "src": "24793:11:2"
                          }
                        ],
                        "id": 2527,
                        "name": "FunctionCall",
                        "src": "24676:138:2"
                      }
                    ],
                    "id": 2528,
                    "name": "ExpressionStatement",
                    "src": "24676:138:2"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 2389
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                2030
                              ],
                              "referencedDeclaration": 2030,
                              "type": "function (bytes32) returns (bool)",
                              "value": "execute"
                            },
                            "id": 2529,
                            "name": "Identifier",
                            "src": "24891:7:2"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 2379,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 2530,
                            "name": "Identifier",
                            "src": "24899:11:2"
                          }
                        ],
                        "id": 2531,
                        "name": "FunctionCall",
                        "src": "24891:20:2"
                      }
                    ],
                    "id": 2532,
                    "name": "Return",
                    "src": "24884:27:2"
                  }
                ],
                "id": 2533,
                "name": "Block",
                "src": "23329:1589:2"
              }
            ],
            "id": 2534,
            "name": "FunctionDefinition",
            "src": "23225:1693:2"
          }
        ],
        "id": 2535,
        "name": "ContractDefinition",
        "src": "173:24748:2"
      }
    ],
    "id": 2536,
    "name": "SourceUnit",
    "src": "0:24922:2"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-01-25T13:14:57.901Z"
}