{
  "contractName": "GenesisProtocolFormulasMock",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_staker",
          "type": "address"
        }
      ],
      "name": "redeemAmount",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "redeemProposerReputation",
      "outputs": [
        {
          "name": "",
          "type": "int256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "shouldBoost",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        },
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "redeemVoterAmount",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        }
      ],
      "name": "threshold",
      "outputs": [
        {
          "name": "",
          "type": "int256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "score",
      "outputs": [
        {
          "name": "",
          "type": "int256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b6108508061001e6000396000f30060606040526004361061005e5763ffffffff60e060020a6000350416631855f7ef811461006357806361667b341461009757806380f5e0a1146100ad578063a0127c73146100d7578063c86ec2bf146100f9578063e5af18c514610118575b600080fd5b341561006e57600080fd5b610085600435600160a060020a036024351661012e565b60405190815260200160405180910390f35b34156100a257600080fd5b61008560043561032c565b34156100b857600080fd5b6100c3600435610332565b604051901515815260200160405180910390f35b34156100e257600080fd5b610085600435600160a060020a0360243516610499565b341561010457600080fd5b610085600160a060020a03600435166104a1565b341561012357600080fd5b6100856004356105b2565b60008060008060008033600160a060020a0316633c1338188960006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561018657600080fd5b6102c65a03f1151561019757600080fd5b5050506040518051925050600160a060020a0333166370743768898460006040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b15156101f757600080fd5b6102c65a03f1151561020857600080fd5b5050506040518051915050600160a060020a033316638baa8b1f898960006040516040015260405160e060020a63ffffffff85160281526004810192909252600160a060020a031660248201526044016040805180830381600087803b151561027057600080fd5b6102c65a03f1151561028157600080fd5b505050604051805190602001805191965090945050600160a060020a0333166379a1c1f68960006040516060015260405160e060020a63ffffffff84160281526004810191909152602401606060405180830381600087803b15156102e557600080fd5b6102c65a03f115156102f657600080fd5b505050604051805190602001805190602001805150919650935081905084840281151561031f57fe5b0498975050505050505050565b50600090565b600080600033600160a060020a031663f91cb3d68560006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561038657600080fd5b6102c65a03f1151561039757600080fd5b5050506040518051925050600160a060020a0333166370743768856000806040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b15156103f757600080fd5b6102c65a03f1151561040857600080fd5b5050506040518051905033600160a060020a0316637074376886600160006040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b151561046857600080fd5b6102c65a03f1151561047957600080fd5b5050506040518051905003905061048f826104a1565b9012159392505050565b600092915050565b60008080600281600160a060020a033316635e31005d87836040516040015260405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156104fd57600080fd5b6102c65a03f1151561050e57600080fd5b505050604051805190602001805191955090935050600160a060020a03331663ed7f75c98760006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561057a57600080fd5b6102c65a03f1151561058b57600080fd5b50505060405180519050905082818115156105a257fe5b04820a8402945050505050919050565b60008060008060008033600160a060020a031663a003651d8860006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561060a57600080fd5b6102c65a03f1151561061b57600080fd5b505050604051805195505060028514156107185733600160a060020a03166370743768886000806040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b151561068457600080fd5b6102c65a03f1151561069557600080fd5b5050506040518051905033600160a060020a0316637074376889600160006040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b15156106f557600080fd5b6102c65a03f1151561070657600080fd5b5050506040518051905003955061081a565b33600160a060020a03166379a1c1f68860006040516060015260405160e060020a63ffffffff84160281526004810191909152602401606060405180830381600087803b151561076757600080fd5b6102c65a03f1151561077857600080fd5b5050506040518051906020018051906020018051919650919450925050600160a060020a03331663d53cd9938860006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156107e457600080fd5b6102c65a03f115156107f557600080fd5b5050506040518051905090506002810a6002840a8386010281151561081657fe5b0495505b50505050509190505600a165627a7a72305820752effeee50fe3f1434c9ef634daf11903281e31f73d738eeaff354848dd15c00029",
  "deployedBytecode": "0x60606040526004361061005e5763ffffffff60e060020a6000350416631855f7ef811461006357806361667b341461009757806380f5e0a1146100ad578063a0127c73146100d7578063c86ec2bf146100f9578063e5af18c514610118575b600080fd5b341561006e57600080fd5b610085600435600160a060020a036024351661012e565b60405190815260200160405180910390f35b34156100a257600080fd5b61008560043561032c565b34156100b857600080fd5b6100c3600435610332565b604051901515815260200160405180910390f35b34156100e257600080fd5b610085600435600160a060020a0360243516610499565b341561010457600080fd5b610085600160a060020a03600435166104a1565b341561012357600080fd5b6100856004356105b2565b60008060008060008033600160a060020a0316633c1338188960006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561018657600080fd5b6102c65a03f1151561019757600080fd5b5050506040518051925050600160a060020a0333166370743768898460006040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b15156101f757600080fd5b6102c65a03f1151561020857600080fd5b5050506040518051915050600160a060020a033316638baa8b1f898960006040516040015260405160e060020a63ffffffff85160281526004810192909252600160a060020a031660248201526044016040805180830381600087803b151561027057600080fd5b6102c65a03f1151561028157600080fd5b505050604051805190602001805191965090945050600160a060020a0333166379a1c1f68960006040516060015260405160e060020a63ffffffff84160281526004810191909152602401606060405180830381600087803b15156102e557600080fd5b6102c65a03f115156102f657600080fd5b505050604051805190602001805190602001805150919650935081905084840281151561031f57fe5b0498975050505050505050565b50600090565b600080600033600160a060020a031663f91cb3d68560006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561038657600080fd5b6102c65a03f1151561039757600080fd5b5050506040518051925050600160a060020a0333166370743768856000806040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b15156103f757600080fd5b6102c65a03f1151561040857600080fd5b5050506040518051905033600160a060020a0316637074376886600160006040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b151561046857600080fd5b6102c65a03f1151561047957600080fd5b5050506040518051905003905061048f826104a1565b9012159392505050565b600092915050565b60008080600281600160a060020a033316635e31005d87836040516040015260405160e060020a63ffffffff8416028152600160a060020a0390911660048201526024016040805180830381600087803b15156104fd57600080fd5b6102c65a03f1151561050e57600080fd5b505050604051805190602001805191955090935050600160a060020a03331663ed7f75c98760006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561057a57600080fd5b6102c65a03f1151561058b57600080fd5b50505060405180519050905082818115156105a257fe5b04820a8402945050505050919050565b60008060008060008033600160a060020a031663a003651d8860006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561060a57600080fd5b6102c65a03f1151561061b57600080fd5b505050604051805195505060028514156107185733600160a060020a03166370743768886000806040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b151561068457600080fd5b6102c65a03f1151561069557600080fd5b5050506040518051905033600160a060020a0316637074376889600160006040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b15156106f557600080fd5b6102c65a03f1151561070657600080fd5b5050506040518051905003955061081a565b33600160a060020a03166379a1c1f68860006040516060015260405160e060020a63ffffffff84160281526004810191909152602401606060405180830381600087803b151561076757600080fd5b6102c65a03f1151561077857600080fd5b5050506040518051906020018051906020018051919650919450925050600160a060020a03331663d53cd9938860006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156107e457600080fd5b6102c65a03f115156107f557600080fd5b5050506040518051905090506002810a6002840a8386010281151561081657fe5b0495505b50505050509190505600a165627a7a72305820752effeee50fe3f1434c9ef634daf11903281e31f73d738eeaff354848dd15c00029",
  "sourceMap": "142:3059:17:-;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "142:3059:17:-;;;;;;;;;-1:-1:-1;;;142:3059:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2433:562;;;;;;;;;;;;-1:-1:-1;;;;;2433:562:17;;;;;;;;;;;;;;;;;;;;3001:94;;;;;;;;;;;;;;401:357;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3101:98;;;;;;;;;;;;-1:-1:-1;;;;;3101:98:17;;;;;1989:438;;;;;;;;;;-1:-1:-1;;;;;1989:438:17;;;;;909:759;;;;;;;;;;;;;;2433:562;2513:4;2529:10;2549:11;2570:16;2596;2677:17;2631:10;-1:-1:-1;;;;;2615:39:17;;2655:11;2615:52;;;;;;;;-1:-1:-1;;;2615:52:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;2713:10:17;2697:37;;2735:11;2615:52;2697:62;;;;;;;;-1:-1:-1;;;2697:62:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;2802:10:17;2786:34;;2821:11;2833:7;2786:55;;;;;;;;-1:-1:-1;;;2786:55:17;;;;;;;;;;;;;-1:-1:-1;;;;;2786:55:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2769:72;;-1:-1:-1;2786:55:17;;-1:-1:-1;;;;;;;2895:10:17;2879:42;;2922:11;2879:55;;;;;;;;-1:-1:-1;;;2879:55:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2851:83:17;;-1:-1:-1;2851:83:17;-1:-1:-1;2976:12:17;;-1:-1:-1;2952:20:17;;;2951:37;;;;;;;;;2433:562;-1:-1:-1;;;;;;;;2433:562:17:o;3001:94::-;-1:-1:-1;3065:3:17;;3001:94::o;401:357::-;463:4;479:14;577:9;528:10;-1:-1:-1;;;;;512:42:17;;555:11;512:55;;;;;;;;-1:-1:-1;;;512:55:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;669:10:17;653:37;;691:11;703:1;;653:52;;;;;;;-1:-1:-1;;;653:52:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;609:10;-1:-1:-1;;;;;593:37:17;;631:11;643:1;593:52;;;;;;;;-1:-1:-1;;;593:52:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;589:117;577:129;;733:17;743:6;733:9;:17::i;:::-;724:26;;;;401:357;-1:-1:-1;;;401:357:17:o;3101:98::-;3168:4;3101:98;;;;:::o;1989:438::-;2046:3;;;2130:1;2046:3;-1:-1:-1;;;;;2193:10:17;2177:48;;2226:7;2046:3;2177:57;;;;;;;-1:-1:-1;;;2177:57:17;;;;;;-1:-1:-1;;;;;2177:57:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2141:93;;-1:-1:-1;2177:57:17;;-1:-1:-1;;;;;;;2290:10:17;2274:50;;2325:7;2274:59;;;;;;;;-1:-1:-1;;;2274:59:17;;;;;;-1:-1:-1;;;;;2274:59:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2244:89;;2402:15;2379:22;:38;;;;;;;;2373:1;:45;2354:15;:65;2343:77;;1989:438;;;;;;;:::o;909:759::-;966:3;981:17;1262:16;1292:15;1321:17;1461:26;1017:10;-1:-1:-1;;;;;1001:46:17;;1048:11;1001:59;;;;;;;;-1:-1:-1;;;1001:59:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1090:1:17;1074:17;;1070:592;;;1194:10;-1:-1:-1;;;;;1178:37:17;;1216:11;1228:1;1178:52;;;;;;;;-1:-1:-1;;;1178:52:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1134:10;-1:-1:-1;;;;;1118:37:17;;1156:11;1168:1;1118:52;;;;;;;;-1:-1:-1;;;1118:52:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1114:117;1107:124;;;;1070:592;1408:10;-1:-1:-1;;;;;1392:42:17;;1435:11;1392:55;;;;;;;;-1:-1:-1;;;1392:55:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1352:95;;-1:-1:-1;1352:95:17;;-1:-1:-1;1392:55:17;-1:-1:-1;;;;;;;1506:10:17;1490:49;;1540:11;1490:62;;;;;;;;-1:-1:-1;;;1490:62:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1461:91;;1650:1;1627:21;:24;1622:1;1610:10;:13;1593:12;1579:11;:26;1578:46;1577:75;;;;;;;;1566:87;;1070:592;909:759;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\n\nimport \"../VotingMachines/GenesisProtocolFormulasInterface.sol\";\nimport \"../VotingMachines/GenesisProtocol.sol\";\n\n\ncontract GenesisProtocolFormulasMock is GenesisProtocolFormulasInterface {\n\n    /**\n    * @dev isBoost check if the proposal will shift to the relative voting phase.\n    * @param _proposalId the ID of the proposal\n    * @return bool true or false.\n    */\n    function shouldBoost(bytes32 _proposalId) public view returns(bool) {\n        address avatar;\n        avatar = GenesisProtocol(msg.sender).proposalAvatar(_proposalId);\n        int score = int(GenesisProtocol(msg.sender).voteStake(_proposalId,1)) - int(GenesisProtocol(msg.sender).voteStake(_proposalId,0));\n        return (score >= threshold(avatar));\n    }\n\n    /**\n     * @dev score return the proposal score\n     * @param _proposalId the ID of the proposal\n     * @return uint proposal score.\n     */\n    function score(bytes32 _proposalId) public view returns (int) {\n        uint numOfChoices = GenesisProtocol(msg.sender).getNumberOfChoices(_proposalId);\n        if (numOfChoices == 2) {\n            return int(GenesisProtocol(msg.sender).voteStake(_proposalId,1)) - int(GenesisProtocol(msg.sender).voteStake(_proposalId,0));\n        } else {\n            uint totalStakes;\n            uint totalVotes;\n            uint votersStakes;\n            (totalVotes,totalStakes,votersStakes) = GenesisProtocol(msg.sender).proposalStatus(_proposalId);\n            uint totalReputationSupply = GenesisProtocol(msg.sender).totalReputationSupply(_proposalId);\n            return int(((totalStakes + votersStakes) * (totalVotes**2))/(totalReputationSupply**2));\n      }\n    }\n\n    /**\n     * @dev threshold return the organization's score threshold which required by\n     * a proposal to shift to boosted state.\n     * This threshold is dynamically set and it depend on the number of boosted proposal.\n     * @param _avatar the organization avatar\n     * @return int thresholdConstA.\n     */\n    function threshold(address _avatar) public view returns (int) {\n        uint thresholdConstA;\n        uint thresholdConstB;\n        uint e = 2;\n        (thresholdConstA,thresholdConstB) = GenesisProtocol(msg.sender).scoreThresholdParams(_avatar);\n        uint orgBoostedProposalsCnt = GenesisProtocol(msg.sender).orgBoostedProposalsCnt(_avatar);\n        return int(thresholdConstA * (e ** (orgBoostedProposalsCnt/thresholdConstB)));\n    }\n\n    function redeemAmount(bytes32 _proposalId,address _staker) public view returns (uint) {\n        uint dummy;\n        uint amount;\n        uint totalStakes;\n        uint winningVote = GenesisProtocol(msg.sender).winningVote(_proposalId);\n        uint winningStake = GenesisProtocol(msg.sender).voteStake(_proposalId,winningVote);\n        (dummy,amount) = GenesisProtocol(msg.sender).staker(_proposalId,_staker);\n        (dummy,totalStakes,dummy) = GenesisProtocol(msg.sender).proposalStatus(_proposalId);\n        return (amount * totalStakes) / winningStake;\n    }\n\n    function redeemProposerReputation(bytes32 ) public view returns(int) {\n        return 0;\n    }\n\n    function redeemVoterAmount(bytes32 , address ) public view returns(uint) {\n        return 0;\n    }\n}\n",
  "sourcePath": "/Users/oren/daostack/daostack2/daostack/contracts/test/GenesisProtocolFormulasMock.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/test/GenesisProtocolFormulasMock.sol",
      "exportedSymbols": {
        "GenesisProtocolFormulasMock": [
          7233
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 6933,
        "name": "PragmaDirective",
        "src": "0:24:17"
      },
      {
        "attributes": {
          "SourceUnit": 3342,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/VotingMachines/GenesisProtocolFormulasInterface.sol",
          "file": "../VotingMachines/GenesisProtocolFormulasInterface.sol",
          "scope": 7234,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 6934,
        "name": "ImportDirective",
        "src": "27:64:17"
      },
      {
        "attributes": {
          "SourceUnit": 3293,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/VotingMachines/GenesisProtocol.sol",
          "file": "../VotingMachines/GenesisProtocol.sol",
          "scope": 7234,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 6935,
        "name": "ImportDirective",
        "src": "92:47:17"
      },
      {
        "attributes": {
          "contractDependencies": [
            3341
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            7233,
            3341
          ],
          "name": "GenesisProtocolFormulasMock",
          "scope": 7234
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "GenesisProtocolFormulasInterface",
                  "referencedDeclaration": 3341,
                  "type": "contract GenesisProtocolFormulasInterface"
                },
                "id": 6936,
                "name": "UserDefinedTypeName",
                "src": "182:32:17"
              }
            ],
            "id": 6937,
            "name": "InheritanceSpecifier",
            "src": "182:32:17"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "shouldBoost",
              "payable": false,
              "scope": 7233,
              "stateMutability": "view",
              "superFunction": 3301,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 6989,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6938,
                        "name": "ElementaryTypeName",
                        "src": "422:7:17"
                      }
                    ],
                    "id": 6939,
                    "name": "VariableDeclaration",
                    "src": "422:19:17"
                  }
                ],
                "id": 6940,
                "name": "ParameterList",
                "src": "421:21:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 6989,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 6941,
                        "name": "ElementaryTypeName",
                        "src": "463:4:17"
                      }
                    ],
                    "id": 6942,
                    "name": "VariableDeclaration",
                    "src": "463:4:17"
                  }
                ],
                "id": 6943,
                "name": "ParameterList",
                "src": "462:6:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "avatar",
                          "scope": 6989,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "address",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 6944,
                            "name": "ElementaryTypeName",
                            "src": "479:7:17"
                          }
                        ],
                        "id": 6945,
                        "name": "VariableDeclaration",
                        "src": "479:14:17"
                      }
                    ],
                    "id": 6946,
                    "name": "VariableDeclarationStatement",
                    "src": "479:14:17"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6945,
                              "type": "address",
                              "value": "avatar"
                            },
                            "id": 6947,
                            "name": "Identifier",
                            "src": "503:6:17"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "proposalAvatar",
                                  "referencedDeclaration": 2864,
                                  "type": "function (bytes32) view external returns (address)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "contract GenesisProtocol",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 3292,
                                          "type": "type(contract GenesisProtocol)",
                                          "value": "GenesisProtocol"
                                        },
                                        "id": 6948,
                                        "name": "Identifier",
                                        "src": "512:15:17"
                                      },
                                      {
                                        "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": 12011,
                                              "type": "msg",
                                              "value": "msg"
                                            },
                                            "id": 6949,
                                            "name": "Identifier",
                                            "src": "528:3:17"
                                          }
                                        ],
                                        "id": 6950,
                                        "name": "MemberAccess",
                                        "src": "528:10:17"
                                      }
                                    ],
                                    "id": 6951,
                                    "name": "FunctionCall",
                                    "src": "512:27:17"
                                  }
                                ],
                                "id": 6952,
                                "name": "MemberAccess",
                                "src": "512:42:17"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6939,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 6953,
                                "name": "Identifier",
                                "src": "555:11:17"
                              }
                            ],
                            "id": 6954,
                            "name": "FunctionCall",
                            "src": "512:55:17"
                          }
                        ],
                        "id": 6955,
                        "name": "Assignment",
                        "src": "503:64:17"
                      }
                    ],
                    "id": 6956,
                    "name": "ExpressionStatement",
                    "src": "503:64:17"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        6958
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "score",
                          "scope": 6989,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "int256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "int",
                              "type": "int256"
                            },
                            "id": 6957,
                            "name": "ElementaryTypeName",
                            "src": "577:3:17"
                          }
                        ],
                        "id": 6958,
                        "name": "VariableDeclaration",
                        "src": "577:9:17"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "-",
                          "type": "int256"
                        },
                        "children": [
                          {
                            "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": 6959,
                                "name": "ElementaryTypeNameExpression",
                                "src": "589:3:17"
                              },
                              {
                                "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"
                                        },
                                        {
                                          "typeIdentifier": "t_rational_1_by_1",
                                          "typeString": "int_const 1"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "voteStake",
                                      "referencedDeclaration": 2939,
                                      "type": "function (bytes32,uint256) view external returns (uint256)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "contract GenesisProtocol",
                                          "type_conversion": true
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_address",
                                                  "typeString": "address"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 3292,
                                              "type": "type(contract GenesisProtocol)",
                                              "value": "GenesisProtocol"
                                            },
                                            "id": 6960,
                                            "name": "Identifier",
                                            "src": "593:15:17"
                                          },
                                          {
                                            "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": 12011,
                                                  "type": "msg",
                                                  "value": "msg"
                                                },
                                                "id": 6961,
                                                "name": "Identifier",
                                                "src": "609:3:17"
                                              }
                                            ],
                                            "id": 6962,
                                            "name": "MemberAccess",
                                            "src": "609:10:17"
                                          }
                                        ],
                                        "id": 6963,
                                        "name": "FunctionCall",
                                        "src": "593:27:17"
                                      }
                                    ],
                                    "id": 6964,
                                    "name": "MemberAccess",
                                    "src": "593:37:17"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6939,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 6965,
                                    "name": "Identifier",
                                    "src": "631:11:17"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "31",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 1",
                                      "value": "1"
                                    },
                                    "id": 6966,
                                    "name": "Literal",
                                    "src": "643:1:17"
                                  }
                                ],
                                "id": 6967,
                                "name": "FunctionCall",
                                "src": "593:52:17"
                              }
                            ],
                            "id": 6968,
                            "name": "FunctionCall",
                            "src": "589:57:17"
                          },
                          {
                            "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": 6969,
                                "name": "ElementaryTypeNameExpression",
                                "src": "649:3:17"
                              },
                              {
                                "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"
                                        },
                                        {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "voteStake",
                                      "referencedDeclaration": 2939,
                                      "type": "function (bytes32,uint256) view external returns (uint256)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "contract GenesisProtocol",
                                          "type_conversion": true
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_address",
                                                  "typeString": "address"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 3292,
                                              "type": "type(contract GenesisProtocol)",
                                              "value": "GenesisProtocol"
                                            },
                                            "id": 6970,
                                            "name": "Identifier",
                                            "src": "653:15:17"
                                          },
                                          {
                                            "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": 12011,
                                                  "type": "msg",
                                                  "value": "msg"
                                                },
                                                "id": 6971,
                                                "name": "Identifier",
                                                "src": "669:3:17"
                                              }
                                            ],
                                            "id": 6972,
                                            "name": "MemberAccess",
                                            "src": "669:10:17"
                                          }
                                        ],
                                        "id": 6973,
                                        "name": "FunctionCall",
                                        "src": "653:27:17"
                                      }
                                    ],
                                    "id": 6974,
                                    "name": "MemberAccess",
                                    "src": "653:37:17"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6939,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 6975,
                                    "name": "Identifier",
                                    "src": "691:11:17"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 6976,
                                    "name": "Literal",
                                    "src": "703:1:17"
                                  }
                                ],
                                "id": 6977,
                                "name": "FunctionCall",
                                "src": "653:52:17"
                              }
                            ],
                            "id": 6978,
                            "name": "FunctionCall",
                            "src": "649:57:17"
                          }
                        ],
                        "id": 6979,
                        "name": "BinaryOperation",
                        "src": "589:117:17"
                      }
                    ],
                    "id": 6980,
                    "name": "VariableDeclarationStatement",
                    "src": "577:129:17"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 6943
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": ">=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6958,
                                  "type": "int256",
                                  "value": "score"
                                },
                                "id": 6981,
                                "name": "Identifier",
                                "src": "724:5:17"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "int256",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        7137
                                      ],
                                      "referencedDeclaration": 7137,
                                      "type": "function (address) view returns (int256)",
                                      "value": "threshold"
                                    },
                                    "id": 6982,
                                    "name": "Identifier",
                                    "src": "733:9:17"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6945,
                                      "type": "address",
                                      "value": "avatar"
                                    },
                                    "id": 6983,
                                    "name": "Identifier",
                                    "src": "743:6:17"
                                  }
                                ],
                                "id": 6984,
                                "name": "FunctionCall",
                                "src": "733:17:17"
                              }
                            ],
                            "id": 6985,
                            "name": "BinaryOperation",
                            "src": "724:26:17"
                          }
                        ],
                        "id": 6986,
                        "name": "TupleExpression",
                        "src": "723:28:17"
                      }
                    ],
                    "id": 6987,
                    "name": "Return",
                    "src": "716:35:17"
                  }
                ],
                "id": 6988,
                "name": "Block",
                "src": "469:289:17"
              }
            ],
            "id": 6989,
            "name": "FunctionDefinition",
            "src": "401:357:17"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "score",
              "payable": false,
              "scope": 7233,
              "stateMutability": "view",
              "superFunction": 3308,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 7085,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6990,
                        "name": "ElementaryTypeName",
                        "src": "924:7:17"
                      }
                    ],
                    "id": 6991,
                    "name": "VariableDeclaration",
                    "src": "924:19:17"
                  }
                ],
                "id": 6992,
                "name": "ParameterList",
                "src": "923:21:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7085,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "int",
                          "type": "int256"
                        },
                        "id": 6993,
                        "name": "ElementaryTypeName",
                        "src": "966:3:17"
                      }
                    ],
                    "id": 6994,
                    "name": "VariableDeclaration",
                    "src": "966:3:17"
                  }
                ],
                "id": 6995,
                "name": "ParameterList",
                "src": "965:5:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        6997
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "numOfChoices",
                          "scope": 7085,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 6996,
                            "name": "ElementaryTypeName",
                            "src": "981:4:17"
                          }
                        ],
                        "id": 6997,
                        "name": "VariableDeclaration",
                        "src": "981:17:17"
                      },
                      {
                        "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": "getNumberOfChoices",
                              "referencedDeclaration": 2704,
                              "type": "function (bytes32) view external returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract GenesisProtocol",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3292,
                                      "type": "type(contract GenesisProtocol)",
                                      "value": "GenesisProtocol"
                                    },
                                    "id": 6998,
                                    "name": "Identifier",
                                    "src": "1001:15:17"
                                  },
                                  {
                                    "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": 12011,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 6999,
                                        "name": "Identifier",
                                        "src": "1017:3:17"
                                      }
                                    ],
                                    "id": 7000,
                                    "name": "MemberAccess",
                                    "src": "1017:10:17"
                                  }
                                ],
                                "id": 7001,
                                "name": "FunctionCall",
                                "src": "1001:27:17"
                              }
                            ],
                            "id": 7002,
                            "name": "MemberAccess",
                            "src": "1001:46:17"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6991,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 7003,
                            "name": "Identifier",
                            "src": "1048:11:17"
                          }
                        ],
                        "id": 7004,
                        "name": "FunctionCall",
                        "src": "1001:59:17"
                      }
                    ],
                    "id": 7005,
                    "name": "VariableDeclarationStatement",
                    "src": "981:79:17"
                  },
                  {
                    "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": 6997,
                              "type": "uint256",
                              "value": "numOfChoices"
                            },
                            "id": 7006,
                            "name": "Identifier",
                            "src": "1074:12:17"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 7007,
                            "name": "Literal",
                            "src": "1090:1:17"
                          }
                        ],
                        "id": 7008,
                        "name": "BinaryOperation",
                        "src": "1074:17:17"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "functionReturnParameters": 6995
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "-",
                                  "type": "int256"
                                },
                                "children": [
                                  {
                                    "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": 7009,
                                        "name": "ElementaryTypeNameExpression",
                                        "src": "1114:3:17"
                                      },
                                      {
                                        "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"
                                                },
                                                {
                                                  "typeIdentifier": "t_rational_1_by_1",
                                                  "typeString": "int_const 1"
                                                }
                                              ],
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "voteStake",
                                              "referencedDeclaration": 2939,
                                              "type": "function (bytes32,uint256) view external returns (uint256)"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "isStructConstructorCall": false,
                                                  "lValueRequested": false,
                                                  "names": [
                                                    null
                                                  ],
                                                  "type": "contract GenesisProtocol",
                                                  "type_conversion": true
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": [
                                                        {
                                                          "typeIdentifier": "t_address",
                                                          "typeString": "address"
                                                        }
                                                      ],
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 3292,
                                                      "type": "type(contract GenesisProtocol)",
                                                      "value": "GenesisProtocol"
                                                    },
                                                    "id": 7010,
                                                    "name": "Identifier",
                                                    "src": "1118:15:17"
                                                  },
                                                  {
                                                    "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": 12011,
                                                          "type": "msg",
                                                          "value": "msg"
                                                        },
                                                        "id": 7011,
                                                        "name": "Identifier",
                                                        "src": "1134:3:17"
                                                      }
                                                    ],
                                                    "id": 7012,
                                                    "name": "MemberAccess",
                                                    "src": "1134:10:17"
                                                  }
                                                ],
                                                "id": 7013,
                                                "name": "FunctionCall",
                                                "src": "1118:27:17"
                                              }
                                            ],
                                            "id": 7014,
                                            "name": "MemberAccess",
                                            "src": "1118:37:17"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6991,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 7015,
                                            "name": "Identifier",
                                            "src": "1156:11:17"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "31",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "number",
                                              "type": "int_const 1",
                                              "value": "1"
                                            },
                                            "id": 7016,
                                            "name": "Literal",
                                            "src": "1168:1:17"
                                          }
                                        ],
                                        "id": 7017,
                                        "name": "FunctionCall",
                                        "src": "1118:52:17"
                                      }
                                    ],
                                    "id": 7018,
                                    "name": "FunctionCall",
                                    "src": "1114:57:17"
                                  },
                                  {
                                    "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": 7019,
                                        "name": "ElementaryTypeNameExpression",
                                        "src": "1174:3:17"
                                      },
                                      {
                                        "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"
                                                },
                                                {
                                                  "typeIdentifier": "t_rational_0_by_1",
                                                  "typeString": "int_const 0"
                                                }
                                              ],
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "voteStake",
                                              "referencedDeclaration": 2939,
                                              "type": "function (bytes32,uint256) view external returns (uint256)"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "isStructConstructorCall": false,
                                                  "lValueRequested": false,
                                                  "names": [
                                                    null
                                                  ],
                                                  "type": "contract GenesisProtocol",
                                                  "type_conversion": true
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": [
                                                        {
                                                          "typeIdentifier": "t_address",
                                                          "typeString": "address"
                                                        }
                                                      ],
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 3292,
                                                      "type": "type(contract GenesisProtocol)",
                                                      "value": "GenesisProtocol"
                                                    },
                                                    "id": 7020,
                                                    "name": "Identifier",
                                                    "src": "1178:15:17"
                                                  },
                                                  {
                                                    "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": 12011,
                                                          "type": "msg",
                                                          "value": "msg"
                                                        },
                                                        "id": 7021,
                                                        "name": "Identifier",
                                                        "src": "1194:3:17"
                                                      }
                                                    ],
                                                    "id": 7022,
                                                    "name": "MemberAccess",
                                                    "src": "1194:10:17"
                                                  }
                                                ],
                                                "id": 7023,
                                                "name": "FunctionCall",
                                                "src": "1178:27:17"
                                              }
                                            ],
                                            "id": 7024,
                                            "name": "MemberAccess",
                                            "src": "1178:37:17"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6991,
                                              "type": "bytes32",
                                              "value": "_proposalId"
                                            },
                                            "id": 7025,
                                            "name": "Identifier",
                                            "src": "1216:11:17"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "30",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "number",
                                              "type": "int_const 0",
                                              "value": "0"
                                            },
                                            "id": 7026,
                                            "name": "Literal",
                                            "src": "1228:1:17"
                                          }
                                        ],
                                        "id": 7027,
                                        "name": "FunctionCall",
                                        "src": "1178:52:17"
                                      }
                                    ],
                                    "id": 7028,
                                    "name": "FunctionCall",
                                    "src": "1174:57:17"
                                  }
                                ],
                                "id": 7029,
                                "name": "BinaryOperation",
                                "src": "1114:117:17"
                              }
                            ],
                            "id": 7030,
                            "name": "Return",
                            "src": "1107:124:17"
                          }
                        ],
                        "id": 7031,
                        "name": "Block",
                        "src": "1093:149:17"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                null
                              ],
                              "initialValue": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "totalStakes",
                                  "scope": 7085,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "uint256",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "uint",
                                      "type": "uint256"
                                    },
                                    "id": 7032,
                                    "name": "ElementaryTypeName",
                                    "src": "1262:4:17"
                                  }
                                ],
                                "id": 7033,
                                "name": "VariableDeclaration",
                                "src": "1262:16:17"
                              }
                            ],
                            "id": 7034,
                            "name": "VariableDeclarationStatement",
                            "src": "1262:16:17"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                null
                              ],
                              "initialValue": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "totalVotes",
                                  "scope": 7085,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "uint256",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "uint",
                                      "type": "uint256"
                                    },
                                    "id": 7035,
                                    "name": "ElementaryTypeName",
                                    "src": "1292:4:17"
                                  }
                                ],
                                "id": 7036,
                                "name": "VariableDeclaration",
                                "src": "1292:15:17"
                              }
                            ],
                            "id": 7037,
                            "name": "VariableDeclarationStatement",
                            "src": "1292:15:17"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                null
                              ],
                              "initialValue": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "votersStakes",
                                  "scope": 7085,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "uint256",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "uint",
                                      "type": "uint256"
                                    },
                                    "id": 7038,
                                    "name": "ElementaryTypeName",
                                    "src": "1321:4:17"
                                  }
                                ],
                                "id": 7039,
                                "name": "VariableDeclaration",
                                "src": "1321:17:17"
                              }
                            ],
                            "id": 7040,
                            "name": "VariableDeclarationStatement",
                            "src": "1321:17:17"
                          },
                          {
                            "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,uint256)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7036,
                                          "type": "uint256",
                                          "value": "totalVotes"
                                        },
                                        "id": 7041,
                                        "name": "Identifier",
                                        "src": "1353:10:17"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7033,
                                          "type": "uint256",
                                          "value": "totalStakes"
                                        },
                                        "id": 7042,
                                        "name": "Identifier",
                                        "src": "1364:11:17"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7039,
                                          "type": "uint256",
                                          "value": "votersStakes"
                                        },
                                        "id": 7043,
                                        "name": "Identifier",
                                        "src": "1376:12:17"
                                      }
                                    ],
                                    "id": 7044,
                                    "name": "TupleExpression",
                                    "src": "1352:37:17"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "tuple(uint256,uint256,uint256)",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "proposalStatus",
                                          "referencedDeclaration": 2831,
                                          "type": "function (bytes32) view external returns (uint256,uint256,uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "contract GenesisProtocol",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    }
                                                  ],
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 3292,
                                                  "type": "type(contract GenesisProtocol)",
                                                  "value": "GenesisProtocol"
                                                },
                                                "id": 7045,
                                                "name": "Identifier",
                                                "src": "1392:15:17"
                                              },
                                              {
                                                "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": 12011,
                                                      "type": "msg",
                                                      "value": "msg"
                                                    },
                                                    "id": 7046,
                                                    "name": "Identifier",
                                                    "src": "1408:3:17"
                                                  }
                                                ],
                                                "id": 7047,
                                                "name": "MemberAccess",
                                                "src": "1408:10:17"
                                              }
                                            ],
                                            "id": 7048,
                                            "name": "FunctionCall",
                                            "src": "1392:27:17"
                                          }
                                        ],
                                        "id": 7049,
                                        "name": "MemberAccess",
                                        "src": "1392:42:17"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6991,
                                          "type": "bytes32",
                                          "value": "_proposalId"
                                        },
                                        "id": 7050,
                                        "name": "Identifier",
                                        "src": "1435:11:17"
                                      }
                                    ],
                                    "id": 7051,
                                    "name": "FunctionCall",
                                    "src": "1392:55:17"
                                  }
                                ],
                                "id": 7052,
                                "name": "Assignment",
                                "src": "1352:95:17"
                              }
                            ],
                            "id": 7053,
                            "name": "ExpressionStatement",
                            "src": "1352:95:17"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                7055
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "totalReputationSupply",
                                  "scope": 7085,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "uint256",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "uint",
                                      "type": "uint256"
                                    },
                                    "id": 7054,
                                    "name": "ElementaryTypeName",
                                    "src": "1461:4:17"
                                  }
                                ],
                                "id": 7055,
                                "name": "VariableDeclaration",
                                "src": "1461:26:17"
                              },
                              {
                                "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": "totalReputationSupply",
                                      "referencedDeclaration": 2850,
                                      "type": "function (bytes32) view external returns (uint256)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "contract GenesisProtocol",
                                          "type_conversion": true
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_address",
                                                  "typeString": "address"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 3292,
                                              "type": "type(contract GenesisProtocol)",
                                              "value": "GenesisProtocol"
                                            },
                                            "id": 7056,
                                            "name": "Identifier",
                                            "src": "1490:15:17"
                                          },
                                          {
                                            "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": 12011,
                                                  "type": "msg",
                                                  "value": "msg"
                                                },
                                                "id": 7057,
                                                "name": "Identifier",
                                                "src": "1506:3:17"
                                              }
                                            ],
                                            "id": 7058,
                                            "name": "MemberAccess",
                                            "src": "1506:10:17"
                                          }
                                        ],
                                        "id": 7059,
                                        "name": "FunctionCall",
                                        "src": "1490:27:17"
                                      }
                                    ],
                                    "id": 7060,
                                    "name": "MemberAccess",
                                    "src": "1490:49:17"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6991,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 7061,
                                    "name": "Identifier",
                                    "src": "1540:11:17"
                                  }
                                ],
                                "id": 7062,
                                "name": "FunctionCall",
                                "src": "1490:62:17"
                              }
                            ],
                            "id": 7063,
                            "name": "VariableDeclarationStatement",
                            "src": "1461:91:17"
                          },
                          {
                            "attributes": {
                              "functionReturnParameters": 6995
                            },
                            "children": [
                              {
                                "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": 7064,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "1573:3:17"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "operator": "/",
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isInlineArray": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "commonType": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              },
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "operator": "*",
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "type": "uint256"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                      },
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "operator": "+",
                                                      "type": "uint256"
                                                    },
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 7033,
                                                          "type": "uint256",
                                                          "value": "totalStakes"
                                                        },
                                                        "id": 7065,
                                                        "name": "Identifier",
                                                        "src": "1579:11:17"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 7039,
                                                          "type": "uint256",
                                                          "value": "votersStakes"
                                                        },
                                                        "id": 7066,
                                                        "name": "Identifier",
                                                        "src": "1593:12:17"
                                                      }
                                                    ],
                                                    "id": 7067,
                                                    "name": "BinaryOperation",
                                                    "src": "1579:26:17"
                                                  }
                                                ],
                                                "id": 7068,
                                                "name": "TupleExpression",
                                                "src": "1578:28:17"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "type": "uint256"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                      },
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "operator": "**",
                                                      "type": "uint256"
                                                    },
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 7036,
                                                          "type": "uint256",
                                                          "value": "totalVotes"
                                                        },
                                                        "id": 7069,
                                                        "name": "Identifier",
                                                        "src": "1610:10:17"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "hexvalue": "32",
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "lValueRequested": false,
                                                          "subdenomination": null,
                                                          "token": "number",
                                                          "type": "int_const 2",
                                                          "value": "2"
                                                        },
                                                        "id": 7070,
                                                        "name": "Literal",
                                                        "src": "1622:1:17"
                                                      }
                                                    ],
                                                    "id": 7071,
                                                    "name": "BinaryOperation",
                                                    "src": "1610:13:17"
                                                  }
                                                ],
                                                "id": 7072,
                                                "name": "TupleExpression",
                                                "src": "1609:15:17"
                                              }
                                            ],
                                            "id": 7073,
                                            "name": "BinaryOperation",
                                            "src": "1578:46:17"
                                          }
                                        ],
                                        "id": 7074,
                                        "name": "TupleExpression",
                                        "src": "1577:48:17"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isInlineArray": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "commonType": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              },
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "operator": "**",
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7055,
                                                  "type": "uint256",
                                                  "value": "totalReputationSupply"
                                                },
                                                "id": 7075,
                                                "name": "Identifier",
                                                "src": "1627:21:17"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "hexvalue": "32",
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "subdenomination": null,
                                                  "token": "number",
                                                  "type": "int_const 2",
                                                  "value": "2"
                                                },
                                                "id": 7076,
                                                "name": "Literal",
                                                "src": "1650:1:17"
                                              }
                                            ],
                                            "id": 7077,
                                            "name": "BinaryOperation",
                                            "src": "1627:24:17"
                                          }
                                        ],
                                        "id": 7078,
                                        "name": "TupleExpression",
                                        "src": "1626:26:17"
                                      }
                                    ],
                                    "id": 7079,
                                    "name": "BinaryOperation",
                                    "src": "1577:75:17"
                                  }
                                ],
                                "id": 7080,
                                "name": "FunctionCall",
                                "src": "1573:80:17"
                              }
                            ],
                            "id": 7081,
                            "name": "Return",
                            "src": "1566:87:17"
                          }
                        ],
                        "id": 7082,
                        "name": "Block",
                        "src": "1248:414:17"
                      }
                    ],
                    "id": 7083,
                    "name": "IfStatement",
                    "src": "1070:592:17"
                  }
                ],
                "id": 7084,
                "name": "Block",
                "src": "971:697:17"
              }
            ],
            "id": 7085,
            "name": "FunctionDefinition",
            "src": "909:759:17"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "threshold",
              "payable": false,
              "scope": 7233,
              "stateMutability": "view",
              "superFunction": 3315,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 7137,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7086,
                        "name": "ElementaryTypeName",
                        "src": "2008:7:17"
                      }
                    ],
                    "id": 7087,
                    "name": "VariableDeclaration",
                    "src": "2008:15:17"
                  }
                ],
                "id": 7088,
                "name": "ParameterList",
                "src": "2007:17:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7137,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "int",
                          "type": "int256"
                        },
                        "id": 7089,
                        "name": "ElementaryTypeName",
                        "src": "2046:3:17"
                      }
                    ],
                    "id": 7090,
                    "name": "VariableDeclaration",
                    "src": "2046:3:17"
                  }
                ],
                "id": 7091,
                "name": "ParameterList",
                "src": "2045:5:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "thresholdConstA",
                          "scope": 7137,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 7092,
                            "name": "ElementaryTypeName",
                            "src": "2061:4:17"
                          }
                        ],
                        "id": 7093,
                        "name": "VariableDeclaration",
                        "src": "2061:20:17"
                      }
                    ],
                    "id": 7094,
                    "name": "VariableDeclarationStatement",
                    "src": "2061:20:17"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "thresholdConstB",
                          "scope": 7137,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 7095,
                            "name": "ElementaryTypeName",
                            "src": "2091:4:17"
                          }
                        ],
                        "id": 7096,
                        "name": "VariableDeclaration",
                        "src": "2091:20:17"
                      }
                    ],
                    "id": 7097,
                    "name": "VariableDeclarationStatement",
                    "src": "2091:20:17"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7099
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "e",
                          "scope": 7137,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 7098,
                            "name": "ElementaryTypeName",
                            "src": "2121:4:17"
                          }
                        ],
                        "id": 7099,
                        "name": "VariableDeclaration",
                        "src": "2121:6:17"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "32",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "number",
                          "type": "int_const 2",
                          "value": "2"
                        },
                        "id": 7100,
                        "name": "Literal",
                        "src": "2130:1:17"
                      }
                    ],
                    "id": 7101,
                    "name": "VariableDeclarationStatement",
                    "src": "2121:10:17"
                  },
                  {
                    "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": 7093,
                                  "type": "uint256",
                                  "value": "thresholdConstA"
                                },
                                "id": 7102,
                                "name": "Identifier",
                                "src": "2142:15:17"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7096,
                                  "type": "uint256",
                                  "value": "thresholdConstB"
                                },
                                "id": 7103,
                                "name": "Identifier",
                                "src": "2158:15:17"
                              }
                            ],
                            "id": 7104,
                            "name": "TupleExpression",
                            "src": "2141:33:17"
                          },
                          {
                            "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_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "scoreThresholdParams",
                                  "referencedDeclaration": 2894,
                                  "type": "function (address) view external returns (uint256,uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "contract GenesisProtocol",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 3292,
                                          "type": "type(contract GenesisProtocol)",
                                          "value": "GenesisProtocol"
                                        },
                                        "id": 7105,
                                        "name": "Identifier",
                                        "src": "2177:15:17"
                                      },
                                      {
                                        "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": 12011,
                                              "type": "msg",
                                              "value": "msg"
                                            },
                                            "id": 7106,
                                            "name": "Identifier",
                                            "src": "2193:3:17"
                                          }
                                        ],
                                        "id": 7107,
                                        "name": "MemberAccess",
                                        "src": "2193:10:17"
                                      }
                                    ],
                                    "id": 7108,
                                    "name": "FunctionCall",
                                    "src": "2177:27:17"
                                  }
                                ],
                                "id": 7109,
                                "name": "MemberAccess",
                                "src": "2177:48:17"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7087,
                                  "type": "address",
                                  "value": "_avatar"
                                },
                                "id": 7110,
                                "name": "Identifier",
                                "src": "2226:7:17"
                              }
                            ],
                            "id": 7111,
                            "name": "FunctionCall",
                            "src": "2177:57:17"
                          }
                        ],
                        "id": 7112,
                        "name": "Assignment",
                        "src": "2141:93:17"
                      }
                    ],
                    "id": 7113,
                    "name": "ExpressionStatement",
                    "src": "2141:93:17"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7115
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "orgBoostedProposalsCnt",
                          "scope": 7137,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 7114,
                            "name": "ElementaryTypeName",
                            "src": "2244:4:17"
                          }
                        ],
                        "id": 7115,
                        "name": "VariableDeclaration",
                        "src": "2244:27:17"
                      },
                      {
                        "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": "orgBoostedProposalsCnt",
                              "referencedDeclaration": 1055,
                              "type": "function (address) view external returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract GenesisProtocol",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3292,
                                      "type": "type(contract GenesisProtocol)",
                                      "value": "GenesisProtocol"
                                    },
                                    "id": 7116,
                                    "name": "Identifier",
                                    "src": "2274:15:17"
                                  },
                                  {
                                    "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": 12011,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 7117,
                                        "name": "Identifier",
                                        "src": "2290:3:17"
                                      }
                                    ],
                                    "id": 7118,
                                    "name": "MemberAccess",
                                    "src": "2290:10:17"
                                  }
                                ],
                                "id": 7119,
                                "name": "FunctionCall",
                                "src": "2274:27:17"
                              }
                            ],
                            "id": 7120,
                            "name": "MemberAccess",
                            "src": "2274:50:17"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7087,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 7121,
                            "name": "Identifier",
                            "src": "2325:7:17"
                          }
                        ],
                        "id": 7122,
                        "name": "FunctionCall",
                        "src": "2274:59:17"
                      }
                    ],
                    "id": 7123,
                    "name": "VariableDeclarationStatement",
                    "src": "2244:89:17"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 7091
                    },
                    "children": [
                      {
                        "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": 7124,
                            "name": "ElementaryTypeNameExpression",
                            "src": "2350:3:17"
                          },
                          {
                            "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": 7093,
                                  "type": "uint256",
                                  "value": "thresholdConstA"
                                },
                                "id": 7125,
                                "name": "Identifier",
                                "src": "2354:15:17"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "operator": "**",
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7099,
                                          "type": "uint256",
                                          "value": "e"
                                        },
                                        "id": 7126,
                                        "name": "Identifier",
                                        "src": "2373:1:17"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isInlineArray": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "commonType": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              },
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "operator": "/",
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7115,
                                                  "type": "uint256",
                                                  "value": "orgBoostedProposalsCnt"
                                                },
                                                "id": 7127,
                                                "name": "Identifier",
                                                "src": "2379:22:17"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7096,
                                                  "type": "uint256",
                                                  "value": "thresholdConstB"
                                                },
                                                "id": 7128,
                                                "name": "Identifier",
                                                "src": "2402:15:17"
                                              }
                                            ],
                                            "id": 7129,
                                            "name": "BinaryOperation",
                                            "src": "2379:38:17"
                                          }
                                        ],
                                        "id": 7130,
                                        "name": "TupleExpression",
                                        "src": "2378:40:17"
                                      }
                                    ],
                                    "id": 7131,
                                    "name": "BinaryOperation",
                                    "src": "2373:45:17"
                                  }
                                ],
                                "id": 7132,
                                "name": "TupleExpression",
                                "src": "2372:47:17"
                              }
                            ],
                            "id": 7133,
                            "name": "BinaryOperation",
                            "src": "2354:65:17"
                          }
                        ],
                        "id": 7134,
                        "name": "FunctionCall",
                        "src": "2350:70:17"
                      }
                    ],
                    "id": 7135,
                    "name": "Return",
                    "src": "2343:77:17"
                  }
                ],
                "id": 7136,
                "name": "Block",
                "src": "2051:376:17"
              }
            ],
            "id": 7137,
            "name": "FunctionDefinition",
            "src": "1989:438:17"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "redeemAmount",
              "payable": false,
              "scope": 7233,
              "stateMutability": "view",
              "superFunction": 3324,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 7210,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7138,
                        "name": "ElementaryTypeName",
                        "src": "2455:7:17"
                      }
                    ],
                    "id": 7139,
                    "name": "VariableDeclaration",
                    "src": "2455:19:17"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_staker",
                      "scope": 7210,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7140,
                        "name": "ElementaryTypeName",
                        "src": "2475:7:17"
                      }
                    ],
                    "id": 7141,
                    "name": "VariableDeclaration",
                    "src": "2475:15:17"
                  }
                ],
                "id": 7142,
                "name": "ParameterList",
                "src": "2454:37:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7210,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 7143,
                        "name": "ElementaryTypeName",
                        "src": "2513:4:17"
                      }
                    ],
                    "id": 7144,
                    "name": "VariableDeclaration",
                    "src": "2513:4:17"
                  }
                ],
                "id": 7145,
                "name": "ParameterList",
                "src": "2512:6:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "dummy",
                          "scope": 7210,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 7146,
                            "name": "ElementaryTypeName",
                            "src": "2529:4:17"
                          }
                        ],
                        "id": 7147,
                        "name": "VariableDeclaration",
                        "src": "2529:10:17"
                      }
                    ],
                    "id": 7148,
                    "name": "VariableDeclarationStatement",
                    "src": "2529:10:17"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "amount",
                          "scope": 7210,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 7149,
                            "name": "ElementaryTypeName",
                            "src": "2549:4:17"
                          }
                        ],
                        "id": 7150,
                        "name": "VariableDeclaration",
                        "src": "2549:11:17"
                      }
                    ],
                    "id": 7151,
                    "name": "VariableDeclarationStatement",
                    "src": "2549:11:17"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        null
                      ],
                      "initialValue": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "totalStakes",
                          "scope": 7210,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 7152,
                            "name": "ElementaryTypeName",
                            "src": "2570:4:17"
                          }
                        ],
                        "id": 7153,
                        "name": "VariableDeclaration",
                        "src": "2570:16:17"
                      }
                    ],
                    "id": 7154,
                    "name": "VariableDeclarationStatement",
                    "src": "2570:16:17"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7156
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "winningVote",
                          "scope": 7210,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 7155,
                            "name": "ElementaryTypeName",
                            "src": "2596:4:17"
                          }
                        ],
                        "id": 7156,
                        "name": "VariableDeclaration",
                        "src": "2596:16:17"
                      },
                      {
                        "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": "winningVote",
                              "referencedDeclaration": 2952,
                              "type": "function (bytes32) view external returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract GenesisProtocol",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3292,
                                      "type": "type(contract GenesisProtocol)",
                                      "value": "GenesisProtocol"
                                    },
                                    "id": 7157,
                                    "name": "Identifier",
                                    "src": "2615:15:17"
                                  },
                                  {
                                    "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": 12011,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 7158,
                                        "name": "Identifier",
                                        "src": "2631:3:17"
                                      }
                                    ],
                                    "id": 7159,
                                    "name": "MemberAccess",
                                    "src": "2631:10:17"
                                  }
                                ],
                                "id": 7160,
                                "name": "FunctionCall",
                                "src": "2615:27:17"
                              }
                            ],
                            "id": 7161,
                            "name": "MemberAccess",
                            "src": "2615:39:17"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7139,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 7162,
                            "name": "Identifier",
                            "src": "2655:11:17"
                          }
                        ],
                        "id": 7163,
                        "name": "FunctionCall",
                        "src": "2615:52:17"
                      }
                    ],
                    "id": 7164,
                    "name": "VariableDeclarationStatement",
                    "src": "2596:71:17"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7166
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "winningStake",
                          "scope": 7210,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "uint256",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 7165,
                            "name": "ElementaryTypeName",
                            "src": "2677:4:17"
                          }
                        ],
                        "id": 7166,
                        "name": "VariableDeclaration",
                        "src": "2677:17:17"
                      },
                      {
                        "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"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voteStake",
                              "referencedDeclaration": 2939,
                              "type": "function (bytes32,uint256) view external returns (uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract GenesisProtocol",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 3292,
                                      "type": "type(contract GenesisProtocol)",
                                      "value": "GenesisProtocol"
                                    },
                                    "id": 7167,
                                    "name": "Identifier",
                                    "src": "2697:15:17"
                                  },
                                  {
                                    "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": 12011,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 7168,
                                        "name": "Identifier",
                                        "src": "2713:3:17"
                                      }
                                    ],
                                    "id": 7169,
                                    "name": "MemberAccess",
                                    "src": "2713:10:17"
                                  }
                                ],
                                "id": 7170,
                                "name": "FunctionCall",
                                "src": "2697:27:17"
                              }
                            ],
                            "id": 7171,
                            "name": "MemberAccess",
                            "src": "2697:37:17"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7139,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 7172,
                            "name": "Identifier",
                            "src": "2735:11:17"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7156,
                              "type": "uint256",
                              "value": "winningVote"
                            },
                            "id": 7173,
                            "name": "Identifier",
                            "src": "2747:11:17"
                          }
                        ],
                        "id": 7174,
                        "name": "FunctionCall",
                        "src": "2697:62:17"
                      }
                    ],
                    "id": 7175,
                    "name": "VariableDeclarationStatement",
                    "src": "2677:82:17"
                  },
                  {
                    "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": 7147,
                                  "type": "uint256",
                                  "value": "dummy"
                                },
                                "id": 7176,
                                "name": "Identifier",
                                "src": "2770:5:17"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7150,
                                  "type": "uint256",
                                  "value": "amount"
                                },
                                "id": 7177,
                                "name": "Identifier",
                                "src": "2776:6:17"
                              }
                            ],
                            "id": 7178,
                            "name": "TupleExpression",
                            "src": "2769:14:17"
                          },
                          {
                            "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_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "staker",
                                  "referencedDeclaration": 2922,
                                  "type": "function (bytes32,address) view external returns (uint256,uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "contract GenesisProtocol",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 3292,
                                          "type": "type(contract GenesisProtocol)",
                                          "value": "GenesisProtocol"
                                        },
                                        "id": 7179,
                                        "name": "Identifier",
                                        "src": "2786:15:17"
                                      },
                                      {
                                        "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": 12011,
                                              "type": "msg",
                                              "value": "msg"
                                            },
                                            "id": 7180,
                                            "name": "Identifier",
                                            "src": "2802:3:17"
                                          }
                                        ],
                                        "id": 7181,
                                        "name": "MemberAccess",
                                        "src": "2802:10:17"
                                      }
                                    ],
                                    "id": 7182,
                                    "name": "FunctionCall",
                                    "src": "2786:27:17"
                                  }
                                ],
                                "id": 7183,
                                "name": "MemberAccess",
                                "src": "2786:34:17"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7139,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 7184,
                                "name": "Identifier",
                                "src": "2821:11:17"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7141,
                                  "type": "address",
                                  "value": "_staker"
                                },
                                "id": 7185,
                                "name": "Identifier",
                                "src": "2833:7:17"
                              }
                            ],
                            "id": 7186,
                            "name": "FunctionCall",
                            "src": "2786:55:17"
                          }
                        ],
                        "id": 7187,
                        "name": "Assignment",
                        "src": "2769:72:17"
                      }
                    ],
                    "id": 7188,
                    "name": "ExpressionStatement",
                    "src": "2769:72:17"
                  },
                  {
                    "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,uint256)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7147,
                                  "type": "uint256",
                                  "value": "dummy"
                                },
                                "id": 7189,
                                "name": "Identifier",
                                "src": "2852:5:17"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7153,
                                  "type": "uint256",
                                  "value": "totalStakes"
                                },
                                "id": 7190,
                                "name": "Identifier",
                                "src": "2858:11:17"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7147,
                                  "type": "uint256",
                                  "value": "dummy"
                                },
                                "id": 7191,
                                "name": "Identifier",
                                "src": "2870:5:17"
                              }
                            ],
                            "id": 7192,
                            "name": "TupleExpression",
                            "src": "2851:25:17"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "tuple(uint256,uint256,uint256)",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "proposalStatus",
                                  "referencedDeclaration": 2831,
                                  "type": "function (bytes32) view external returns (uint256,uint256,uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "contract GenesisProtocol",
                                      "type_conversion": true
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 3292,
                                          "type": "type(contract GenesisProtocol)",
                                          "value": "GenesisProtocol"
                                        },
                                        "id": 7193,
                                        "name": "Identifier",
                                        "src": "2879:15:17"
                                      },
                                      {
                                        "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": 12011,
                                              "type": "msg",
                                              "value": "msg"
                                            },
                                            "id": 7194,
                                            "name": "Identifier",
                                            "src": "2895:3:17"
                                          }
                                        ],
                                        "id": 7195,
                                        "name": "MemberAccess",
                                        "src": "2895:10:17"
                                      }
                                    ],
                                    "id": 7196,
                                    "name": "FunctionCall",
                                    "src": "2879:27:17"
                                  }
                                ],
                                "id": 7197,
                                "name": "MemberAccess",
                                "src": "2879:42:17"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7139,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 7198,
                                "name": "Identifier",
                                "src": "2922:11:17"
                              }
                            ],
                            "id": 7199,
                            "name": "FunctionCall",
                            "src": "2879:55:17"
                          }
                        ],
                        "id": 7200,
                        "name": "Assignment",
                        "src": "2851:83:17"
                      }
                    ],
                    "id": 7201,
                    "name": "ExpressionStatement",
                    "src": "2851:83:17"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 7145
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "/",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "*",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7150,
                                      "type": "uint256",
                                      "value": "amount"
                                    },
                                    "id": 7202,
                                    "name": "Identifier",
                                    "src": "2952:6:17"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7153,
                                      "type": "uint256",
                                      "value": "totalStakes"
                                    },
                                    "id": 7203,
                                    "name": "Identifier",
                                    "src": "2961:11:17"
                                  }
                                ],
                                "id": 7204,
                                "name": "BinaryOperation",
                                "src": "2952:20:17"
                              }
                            ],
                            "id": 7205,
                            "name": "TupleExpression",
                            "src": "2951:22:17"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7166,
                              "type": "uint256",
                              "value": "winningStake"
                            },
                            "id": 7206,
                            "name": "Identifier",
                            "src": "2976:12:17"
                          }
                        ],
                        "id": 7207,
                        "name": "BinaryOperation",
                        "src": "2951:37:17"
                      }
                    ],
                    "id": 7208,
                    "name": "Return",
                    "src": "2944:44:17"
                  }
                ],
                "id": 7209,
                "name": "Block",
                "src": "2519:476:17"
              }
            ],
            "id": 7210,
            "name": "FunctionDefinition",
            "src": "2433:562:17"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "redeemProposerReputation",
              "payable": false,
              "scope": 7233,
              "stateMutability": "view",
              "superFunction": 3331,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7220,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7211,
                        "name": "ElementaryTypeName",
                        "src": "3035:7:17"
                      }
                    ],
                    "id": 7212,
                    "name": "VariableDeclaration",
                    "src": "3035:7:17"
                  }
                ],
                "id": 7213,
                "name": "ParameterList",
                "src": "3034:10:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7220,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "int",
                          "type": "int256"
                        },
                        "id": 7214,
                        "name": "ElementaryTypeName",
                        "src": "3065:3:17"
                      }
                    ],
                    "id": 7215,
                    "name": "VariableDeclaration",
                    "src": "3065:3:17"
                  }
                ],
                "id": 7216,
                "name": "ParameterList",
                "src": "3064:5:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 7216
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "30",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "number",
                          "type": "int_const 0",
                          "value": "0"
                        },
                        "id": 7217,
                        "name": "Literal",
                        "src": "3087:1:17"
                      }
                    ],
                    "id": 7218,
                    "name": "Return",
                    "src": "3080:8:17"
                  }
                ],
                "id": 7219,
                "name": "Block",
                "src": "3070:25:17"
              }
            ],
            "id": 7220,
            "name": "FunctionDefinition",
            "src": "3001:94:17"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "redeemVoterAmount",
              "payable": false,
              "scope": 7233,
              "stateMutability": "view",
              "superFunction": 3340,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7232,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7221,
                        "name": "ElementaryTypeName",
                        "src": "3128:7:17"
                      }
                    ],
                    "id": 7222,
                    "name": "VariableDeclaration",
                    "src": "3128:7:17"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7232,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7223,
                        "name": "ElementaryTypeName",
                        "src": "3138:7:17"
                      }
                    ],
                    "id": 7224,
                    "name": "VariableDeclaration",
                    "src": "3138:7:17"
                  }
                ],
                "id": 7225,
                "name": "ParameterList",
                "src": "3127:20:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7232,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 7226,
                        "name": "ElementaryTypeName",
                        "src": "3168:4:17"
                      }
                    ],
                    "id": 7227,
                    "name": "VariableDeclaration",
                    "src": "3168:4:17"
                  }
                ],
                "id": 7228,
                "name": "ParameterList",
                "src": "3167:6:17"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 7228
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "30",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "number",
                          "type": "int_const 0",
                          "value": "0"
                        },
                        "id": 7229,
                        "name": "Literal",
                        "src": "3191:1:17"
                      }
                    ],
                    "id": 7230,
                    "name": "Return",
                    "src": "3184:8:17"
                  }
                ],
                "id": 7231,
                "name": "Block",
                "src": "3174:25:17"
              }
            ],
            "id": 7232,
            "name": "FunctionDefinition",
            "src": "3101:98:17"
          }
        ],
        "id": 7233,
        "name": "ContractDefinition",
        "src": "142:3059:17"
      }
    ],
    "id": 7234,
    "name": "SourceUnit",
    "src": "0:3202:17"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-02-04T21:57:39.059Z"
}