{
  "contractName": "DaoRewardsStorage",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "resolver",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "lastQuarterThatRewardsWasUpdated",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "key",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_key",
          "type": "bytes32"
        }
      ],
      "name": "get_contract",
      "outputs": [
        {
          "name": "_contract",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "claimableDGXs",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "previousLastParticipatedQuarter",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "lastQuarterThatReputationWasUpdated",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "lastParticipatedQuarter",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "CONTRACT_ADDRESS",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalDGXsClaimed",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "allQuartersInfo",
      "outputs": [
        {
          "name": "minimalParticipationPoint",
          "type": "uint256"
        },
        {
          "name": "quarterPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "reputationPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "totalEffectiveDGDPreviousQuarter",
          "type": "uint256"
        },
        {
          "name": "moderatorMinimalParticipationPoint",
          "type": "uint256"
        },
        {
          "name": "moderatorQuarterPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "moderatorReputationPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "totalEffectiveModeratorDGDLastQuarter",
          "type": "uint256"
        },
        {
          "name": "dgxDistributionDay",
          "type": "uint256"
        },
        {
          "name": "dgxRewardsPoolLastQuarter",
          "type": "uint256"
        },
        {
          "name": "sumRewardsFromBeginning",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_resolver",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_quarterNumber",
          "type": "uint256"
        },
        {
          "name": "_minimalParticipationPoint",
          "type": "uint256"
        },
        {
          "name": "_quarterPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_reputationPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_totalEffectiveDGDPreviousQuarter",
          "type": "uint256"
        },
        {
          "name": "_moderatorMinimalQuarterPoint",
          "type": "uint256"
        },
        {
          "name": "_moderatorQuarterPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_moderatorReputationPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_totalEffectiveModeratorDGDLastQuarter",
          "type": "uint256"
        },
        {
          "name": "_dgxDistributionDay",
          "type": "uint256"
        },
        {
          "name": "_dgxRewardsPoolLastQuarter",
          "type": "uint256"
        },
        {
          "name": "_sumRewardsFromBeginning",
          "type": "uint256"
        }
      ],
      "name": "updateQuarterInfo",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        },
        {
          "name": "_newClaimableDGX",
          "type": "uint256"
        }
      ],
      "name": "updateClaimableDGX",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        },
        {
          "name": "_lastQuarter",
          "type": "uint256"
        }
      ],
      "name": "updateLastParticipatedQuarter",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        },
        {
          "name": "_lastQuarter",
          "type": "uint256"
        }
      ],
      "name": "updatePreviousLastParticipatedQuarter",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        },
        {
          "name": "_lastQuarter",
          "type": "uint256"
        }
      ],
      "name": "updateLastQuarterThatRewardsWasUpdated",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_user",
          "type": "address"
        },
        {
          "name": "_lastQuarter",
          "type": "uint256"
        }
      ],
      "name": "updateLastQuarterThatReputationWasUpdated",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_dgxClaimed",
          "type": "uint256"
        }
      ],
      "name": "addToTotalDgxClaimed",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_quarterNumber",
          "type": "uint256"
        }
      ],
      "name": "readQuarterInfo",
      "outputs": [
        {
          "name": "_minimalParticipationPoint",
          "type": "uint256"
        },
        {
          "name": "_quarterPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_reputationPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_totalEffectiveDGDPreviousQuarter",
          "type": "uint256"
        },
        {
          "name": "_moderatorMinimalQuarterPoint",
          "type": "uint256"
        },
        {
          "name": "_moderatorQuarterPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_moderatorReputationPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_totalEffectiveModeratorDGDLastQuarter",
          "type": "uint256"
        },
        {
          "name": "_dgxDistributionDay",
          "type": "uint256"
        },
        {
          "name": "_dgxRewardsPoolLastQuarter",
          "type": "uint256"
        },
        {
          "name": "_sumRewardsFromBeginning",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_quarterNumber",
          "type": "uint256"
        }
      ],
      "name": "readQuarterGeneralInfo",
      "outputs": [
        {
          "name": "_dgxDistributionDay",
          "type": "uint256"
        },
        {
          "name": "_dgxRewardsPoolLastQuarter",
          "type": "uint256"
        },
        {
          "name": "_sumRewardsFromBeginning",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_quarterNumber",
          "type": "uint256"
        }
      ],
      "name": "readQuarterModeratorInfo",
      "outputs": [
        {
          "name": "_moderatorMinimalQuarterPoint",
          "type": "uint256"
        },
        {
          "name": "_moderatorQuarterPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_moderatorReputationPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_totalEffectiveModeratorDGDLastQuarter",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_quarterNumber",
          "type": "uint256"
        }
      ],
      "name": "readQuarterParticipantInfo",
      "outputs": [
        {
          "name": "_minimalParticipationPoint",
          "type": "uint256"
        },
        {
          "name": "_quarterPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_reputationPointScalingFactor",
          "type": "uint256"
        },
        {
          "name": "_totalEffectiveDGDPreviousQuarter",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_quarterNumber",
          "type": "uint256"
        }
      ],
      "name": "readDgxDistributionDay",
      "outputs": [
        {
          "name": "_distributionDay",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_quarterNumber",
          "type": "uint256"
        }
      ],
      "name": "readTotalEffectiveDGDLastQuarter",
      "outputs": [
        {
          "name": "_totalEffectiveDGDPreviousQuarter",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_quarterNumber",
          "type": "uint256"
        }
      ],
      "name": "readTotalEffectiveModeratorDGDLastQuarter",
      "outputs": [
        {
          "name": "_totalEffectiveModeratorDGDLastQuarter",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_quarterNumber",
          "type": "uint256"
        }
      ],
      "name": "readRewardsPoolOfLastQuarter",
      "outputs": [
        {
          "name": "_rewardsPool",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051602080620029878339810180604052810190808051906020019092919050505062001175602d548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b61155e80620014296000396000f300608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101595780630f491b11146101b057806312d9b939146101f157806327ddd3ae1461023e5780633943380c146102955780633f83acff146102c8578063521fcb661461033957806356dfd2b7146103d457806362961de91461045b5780636a8cfd09146104b157806378af89ac146104fe578063863eb74a14610555578063927bb668146105a2578063a301c0d2146105ef578063a78e00d614610645578063bb80203e14610686578063bcda6424146106c7578063bd695d211461071e578063cefc2bff14610775578063cf542aa9146107cc578063d715d6f51461081b578063d8048c9d14610848578063db4ecbc114610895578063f03222f0146108ec578063f1dfda7814610917578063fedf94531461099e575b600080fd5b34801561016557600080fd5b5061016e6109df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bc57600080fd5b506101db60048036038101908080359060200190929190505050610a04565b6040518082815260200191505060405180910390f35b3480156101fd57600080fd5b5061023c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a24565b005b34801561024a57600080fd5b5061027f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ab9565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610ad1565b60405180826000191660001916815260200191505060405180910390f35b3480156102d457600080fd5b506102f76004803603810190808035600019169060200190929190505050610ad7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034557600080fd5b506103d2600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610bb3565b005b3480156103e057600080fd5b506103ff60048036038101908080359060200190929190505050610d00565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b34801561046757600080fd5b5061048660048036038101908080359060200190929190505050610e33565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156104bd57600080fd5b506104fc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ea4565b005b34801561050a57600080fd5b5061053f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f02565b6040518082815260200191505060405180910390f35b34801561056157600080fd5b506105a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f1a565b005b3480156105ae57600080fd5b506105ed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f78565b005b3480156105fb57600080fd5b5061061a60048036038101908080359060200190929190505050610fd6565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561065157600080fd5b5061067060048036038101908080359060200190929190505050611047565b6040518082815260200191505060405180910390f35b34801561069257600080fd5b506106b160048036038101908080359060200190929190505050611067565b6040518082815260200191505060405180910390f35b3480156106d357600080fd5b50610708600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611087565b6040518082815260200191505060405180910390f35b34801561072a57600080fd5b5061075f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061109f565b6040518082815260200191505060405180910390f35b34801561078157600080fd5b506107b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110b7565b6040518082815260200191505060405180910390f35b3480156107d857600080fd5b506107f7600480360381019080803590602001909291905050506110cf565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561082757600080fd5b5061084660048036038101908080359060200190929190505050611126565b005b34801561085457600080fd5b50610893600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061115a565b005b3480156108a157600080fd5b506108aa6111ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108f857600080fd5b50610901611215565b6040518082815260200191505060405180910390f35b34801561092357600080fd5b506109426004803603810190808035906020019092919050505061121b565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b3480156109aa57600080fd5b506109c960048036038101908080359060200190929190505050611275565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060706000838152602001908152602001600020600701549050919050565b610a66606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611295565b1515610a7157600080fd5b80607660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60756020528060005260406000206000915090505481565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610b7157600080fd5b505af1158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b81019080805190602001909291905050509050919050565b610bbe601b5461140c565b1515610bc957600080fd5b8a607060008e81526020019081526020016000206000018190555089607060008e81526020019081526020016000206001018190555088607060008e81526020019081526020016000206002018190555087607060008e81526020019081526020016000206003018190555086607060008e81526020019081526020016000206004018190555085607060008e81526020019081526020016000206005018190555084607060008e81526020019081526020016000206006018190555083607060008e81526020019081526020016000206007018190555082607060008e81526020019081526020016000206008018190555081607060008e81526020019081526020016000206009018190555080607060008e8152602001908152602001600020600a0181905550505050505050505050505050565b6000806000806000806000806000806000607060008d8152602001908152602001600020600001549a50607060008d8152602001908152602001600020600101549950607060008d8152602001908152602001600020600201549850607060008d8152602001908152602001600020600301549750607060008d8152602001908152602001600020600401549650607060008d8152602001908152602001600020600501549550607060008d8152602001908152602001600020600601549450607060008d8152602001908152602001600020600701549350607060008d8152602001908152602001600020600801549250607060008d8152602001908152602001600020600901549150607060008d8152602001908152602001600020600a0154905091939597999b90929496989a50565b600080600080607060008681526020019081526020016000206000015493506070600086815260200190815260200160002060010154925060706000868152602001908152602001600020600201549150607060008681526020019081526020016000206003015490509193509193565b610eaf601b5461140c565b1515610eba57600080fd5b80607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60716020528060005260406000206000915090505481565b610f2560165461140c565b1515610f3057600080fd5b80607460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b610f8360165461140c565b1515610f8e57600080fd5b80607360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080600080607060008681526020019081526020016000206004015493506070600086815260200190815260200160002060050154925060706000868152602001908152602001600020600601549150607060008681526020019081526020016000206007015490509193509193565b600060706000838152602001908152602001600020600801549050919050565b600060706000838152602001908152602001600020600901549050919050565b60746020528060005260406000206000915090505481565b60766020528060005260406000206000915090505481565b60736020528060005260406000206000915090505481565b6000806000607060008581526020019081526020016000206008015492506070600085815260200190815260200160002060090154915060706000858152602001908152602001600020600a015490509193909250565b611131601b5461140c565b151561113c57600080fd5b6111518160725461151690919063ffffffff16565b60728190555050565b61119c606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611295565b15156111a757600080fd5b80607560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60725481565b607060205280600052604060002060009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a015490508b565b600060706000838152602001908152602001600020600301549050919050565b600080600060039150600090505b818110156114055760006001026000191684826003811015156112c257fe5b60200201516000191614156112d6576113f8565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561132157fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561138057600080fd5b505af1158015611394573d6000803e3d6000fd5b505050506040513d60208110156113aa57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156113f75760019250611405565b5b80806001019150506112a3565b5050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156114a657600080fd5b505af11580156114ba573d6000803e3d6000fd5b505050506040513d60208110156114d057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000818301905082811015151561152957fe5b809050929150505600a165627a7a72305820e07f3e357c6176c2e1f5af38ce3db2c47c93e775f00e3f81d08aedd5c6489d0d0029",
  "deployedBytecode": "0x608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101595780630f491b11146101b057806312d9b939146101f157806327ddd3ae1461023e5780633943380c146102955780633f83acff146102c8578063521fcb661461033957806356dfd2b7146103d457806362961de91461045b5780636a8cfd09146104b157806378af89ac146104fe578063863eb74a14610555578063927bb668146105a2578063a301c0d2146105ef578063a78e00d614610645578063bb80203e14610686578063bcda6424146106c7578063bd695d211461071e578063cefc2bff14610775578063cf542aa9146107cc578063d715d6f51461081b578063d8048c9d14610848578063db4ecbc114610895578063f03222f0146108ec578063f1dfda7814610917578063fedf94531461099e575b600080fd5b34801561016557600080fd5b5061016e6109df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bc57600080fd5b506101db60048036038101908080359060200190929190505050610a04565b6040518082815260200191505060405180910390f35b3480156101fd57600080fd5b5061023c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a24565b005b34801561024a57600080fd5b5061027f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ab9565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610ad1565b60405180826000191660001916815260200191505060405180910390f35b3480156102d457600080fd5b506102f76004803603810190808035600019169060200190929190505050610ad7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034557600080fd5b506103d2600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610bb3565b005b3480156103e057600080fd5b506103ff60048036038101908080359060200190929190505050610d00565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b34801561046757600080fd5b5061048660048036038101908080359060200190929190505050610e33565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156104bd57600080fd5b506104fc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ea4565b005b34801561050a57600080fd5b5061053f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f02565b6040518082815260200191505060405180910390f35b34801561056157600080fd5b506105a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f1a565b005b3480156105ae57600080fd5b506105ed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f78565b005b3480156105fb57600080fd5b5061061a60048036038101908080359060200190929190505050610fd6565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561065157600080fd5b5061067060048036038101908080359060200190929190505050611047565b6040518082815260200191505060405180910390f35b34801561069257600080fd5b506106b160048036038101908080359060200190929190505050611067565b6040518082815260200191505060405180910390f35b3480156106d357600080fd5b50610708600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611087565b6040518082815260200191505060405180910390f35b34801561072a57600080fd5b5061075f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061109f565b6040518082815260200191505060405180910390f35b34801561078157600080fd5b506107b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110b7565b6040518082815260200191505060405180910390f35b3480156107d857600080fd5b506107f7600480360381019080803590602001909291905050506110cf565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561082757600080fd5b5061084660048036038101908080359060200190929190505050611126565b005b34801561085457600080fd5b50610893600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061115a565b005b3480156108a157600080fd5b506108aa6111ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108f857600080fd5b50610901611215565b6040518082815260200191505060405180910390f35b34801561092357600080fd5b506109426004803603810190808035906020019092919050505061121b565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b3480156109aa57600080fd5b506109c960048036038101908080359060200190929190505050611275565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060706000838152602001908152602001600020600701549050919050565b610a66606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611295565b1515610a7157600080fd5b80607660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60756020528060005260406000206000915090505481565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610b7157600080fd5b505af1158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b81019080805190602001909291905050509050919050565b610bbe601b5461140c565b1515610bc957600080fd5b8a607060008e81526020019081526020016000206000018190555089607060008e81526020019081526020016000206001018190555088607060008e81526020019081526020016000206002018190555087607060008e81526020019081526020016000206003018190555086607060008e81526020019081526020016000206004018190555085607060008e81526020019081526020016000206005018190555084607060008e81526020019081526020016000206006018190555083607060008e81526020019081526020016000206007018190555082607060008e81526020019081526020016000206008018190555081607060008e81526020019081526020016000206009018190555080607060008e8152602001908152602001600020600a0181905550505050505050505050505050565b6000806000806000806000806000806000607060008d8152602001908152602001600020600001549a50607060008d8152602001908152602001600020600101549950607060008d8152602001908152602001600020600201549850607060008d8152602001908152602001600020600301549750607060008d8152602001908152602001600020600401549650607060008d8152602001908152602001600020600501549550607060008d8152602001908152602001600020600601549450607060008d8152602001908152602001600020600701549350607060008d8152602001908152602001600020600801549250607060008d8152602001908152602001600020600901549150607060008d8152602001908152602001600020600a0154905091939597999b90929496989a50565b600080600080607060008681526020019081526020016000206000015493506070600086815260200190815260200160002060010154925060706000868152602001908152602001600020600201549150607060008681526020019081526020016000206003015490509193509193565b610eaf601b5461140c565b1515610eba57600080fd5b80607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60716020528060005260406000206000915090505481565b610f2560165461140c565b1515610f3057600080fd5b80607460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b610f8360165461140c565b1515610f8e57600080fd5b80607360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080600080607060008681526020019081526020016000206004015493506070600086815260200190815260200160002060050154925060706000868152602001908152602001600020600601549150607060008681526020019081526020016000206007015490509193509193565b600060706000838152602001908152602001600020600801549050919050565b600060706000838152602001908152602001600020600901549050919050565b60746020528060005260406000206000915090505481565b60766020528060005260406000206000915090505481565b60736020528060005260406000206000915090505481565b6000806000607060008581526020019081526020016000206008015492506070600085815260200190815260200160002060090154915060706000858152602001908152602001600020600a015490509193909250565b611131601b5461140c565b151561113c57600080fd5b6111518160725461151690919063ffffffff16565b60728190555050565b61119c606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611295565b15156111a757600080fd5b80607560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60725481565b607060205280600052604060002060009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a015490508b565b600060706000838152602001908152602001600020600301549050919050565b600080600060039150600090505b818110156114055760006001026000191684826003811015156112c257fe5b60200201516000191614156112d6576113f8565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561132157fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561138057600080fd5b505af1158015611394573d6000803e3d6000fd5b505050506040513d60208110156113aa57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156113f75760019250611405565b5b80806001019150506112a3565b5050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156114a657600080fd5b505af11580156114ba573d6000803e3d6000fd5b505050506040513d60208110156114d057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000818301905082811015151561152957fe5b809050929150505600a165627a7a72305820e07f3e357c6176c2e1f5af38ce3db2c47c93e775f00e3f81d08aedd5c6489d0d0029",
  "sourceMap": "232:10951:57:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;230:65;;;;;;;;301:53;;;;;;;;360:61;;;;;;;;427:57;;;;;;;;490:55;;;;;;;;551:59;;;;;;;;643:1;617:27;;677:1;650:28;;713:1;684:30;;758:1;721:38;;800:1;765:36;;843:1;807:37;;851:52;;;;;;;;909:66;;;;;;;;981:80;;;;;;;;1097:28;;;;;;;;1131:62;;;;;;;;1199:56;;;;;;;;1261:42;;;;;;;;1309:56;;;;;;;;1371:65;;;;;;;;1442:46;;;;;;;;1494:60;;;;;;;;1560:66;;;;;;;;1632:40;;;;;;;;1678:60;;;;;;;;1744:54;;;;;;;;1804:52;;;;;;;;1888:46;;;;;;;;1940:54;;;;;;;;2000:60;;;;;;;;2066:66;;;;;;;;2164:44;;;;;;;;2214:60;;;;;;;;2280;;;;;;;;2346:62;;;;;;;;2414:58;;;;;;;;2478:60;;;;;;;;2544:58;;;;;;;;2608:56;;;;;;;;2670:60;;;;;;;;2736:70;;;;;;;;2812:78;;;;;;;;2897:36;;;;;;;;2939;;;;;;;;2981:40;;;;;;;;3047:1;3028:20;;;;;;;;;;;;;;;;;;;;3077:1;3054:24;;;;;;;;;;;;;;;;;;;;3103:1;3084:20;;;;;;;;;;;;;;;;;;;;3135:1;3110:26;;;;;;;;;;;;;;;;;;;;3170:7;3143:34;;3184:57;;;;;;;;3247:62;;;;;;;;3315:76;;;;;;;;3398:64;;;;;;;;3468:52;;;;;;;;3526:58;;;;;;;;3590:56;;;;;;;;3652:67;;;;;;;;3725:65;;;;;;;;3797:84;;;;;;;;3887:88;;;;;;;;3981:87;;;;;;;;4074:91;;;;;;;;4171:84;;;;;;;;4261:88;;;;;;;;4355:87;;;;;;;;4448:91;;;;;;;;4545:87;;;;;;;;4638:91;;;;;;;;4736:62;;;;;;;;4804:66;;;;;;;;4876:64;;;;;;;;4946:68;;;;;;;;5021:51;;;;;;;;5078:76;;;;;;;;5160:75;;;;;;;;5242:65;;;;;;;;5313:79;;;;;;;;5398:89;;;;;;;;5494:68;;;;;;;;5568:56;;;;;;;;5630:72;;;;;;;;5740:91;;;;;;;;5838:72;;;;;;;;5916:76;;;;;;;;5999:78;;;;;;;;6083:76;;;;;;;;6166:73;;;;;;;;6245:77;;;;;;;;6329;;;;;;;;6412:81;;;;;;;;6500:79;;;;;;;;6585:75;;;;;;;;6667:74;;;;;;;;6747;;;;;;;;6828:83;;;;;;;;6917:86;;;;;;;;7009;;;;;;;;7102:67;;;;;;;;7175;;;;;;;;7249:63;;;;;;;;7319:77;;;;;;;;7403:66;;;;;;;;7476:71;;;;;;;;7554:72;;;;;;;;7632:78;;;;;;;;7716:82;;;;;;;;7805:62;;;;;;;;7873:68;;;;;;;;2844:124:57;8:9:-1;5:2;;;30:1;27;20:12;5:2;2844:124:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2915:45;2920:28;;2950:9;2915:4;;;:45;;;:::i;:::-;2907:54;;;;;;;;2844:124;232:10951;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;232:10951:57:-;;;;;;;",
  "deployedSourceMap": "232:10951:57:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;10654:299:57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10654:299:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5739:287;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5739:287:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2363:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2363:68:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2974:1810:57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2974:1810:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6235:1818;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6235:1818:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9412:732;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9412:732:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4790:202;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4790:202:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;723:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;723:48:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5217:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5217:229:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4998:213;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4998:213:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8592:814;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8592:814:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10150:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10150:217:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10959:222;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10959:222:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1910:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1910:67:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2766:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2766:71:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1643:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1643:59:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8059:527;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8059:527:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6032:197;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6032:197:57;;;;;;;;;;;;;;;;;;;;;;;;;;5452:281;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5452:281:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;1189::57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:31:57;;;;;;;;;;;;;;;;;;;;;;;533:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;533:68:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10373:275;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10373:275:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;10654:299:57:-;10774:46;10877:15;:31;10893:14;10877:31;;;;;;;;;;;:69;;;10836:110;;10654:299;;;:::o;5739:287::-;5864:87;;;;;;;;;;5880:28;;5864:87;;;;;;;;;;5910:26;;5864:87;;;;;;;;;;5938:11;;5864:87;;;;;;;;;:14;:87::i;:::-;5856:96;;;;;;;;6007:12;5962:35;:42;5998:5;5962:42;;;;;;;;;;;;;;;:57;;;;5739:287;;:::o;2363:68::-;;;;;;;;;;;;;;;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;2974:1810:57:-;3599:39;3609:28;;3599:9;:39::i;:::-;3591:48;;;;;;;;3709:26;3649:15;:31;3665:14;3649:31;;;;;;;;;;;:57;;:86;;;;3805:26;3745:15;:31;3761:14;3745:31;;;;;;;;;;;:57;;:86;;;;3904:29;3841:15;:31;3857:14;3841:31;;;;;;;;;;;:60;;:92;;;;4010:33;3943:15;:31;3959:14;3943:31;;;;;;;;;;;:64;;:100;;;;4123:29;4054:15;:31;4070:14;4054:31;;;;;;;;;;;:66;;:98;;;;4231:35;4162:15;:31;4178:14;4162:31;;;;;;;;;;;:66;;:104;;;;4348:38;4276:15;:31;4292:14;4276:31;;;;;;;;;;;:69;;:110;;;;4468:38;4396:15;:31;4412:14;4396:31;;;;;;;;;;;:69;;:110;;;;4570:19;4517:15;:31;4533:14;4517:31;;;;;;;;;;;:50;;:72;;;;4659:26;4599:15;:31;4615:14;4599:31;;;;;;;;;;;:57;;:86;;;;4753:24;4695:15;:31;4711:14;4695:31;;;;;;;;;;;:55;;:82;;;;2974:1810;;;;;;;;;;;;:::o;6235:1818::-;6342:34;6390;6438:37;6489:41;6545:37;6596:43;6653:46;6713;6774:27;6815:34;6863:32;6949:15;:31;6965:14;6949:31;;;;;;;;;;;:57;;;6920:86;;7045:15;:31;7061:14;7045:31;;;;;;;;;;;:57;;;7016:86;;7144:15;:31;7160:14;7144:31;;;;;;;;;;;:60;;;7112:92;;7250:15;:31;7266:14;7250:31;;;;;;;;;;;:64;;;7214:100;;7356:15;:31;7372:14;7356:31;;;;;;;;;;;:66;;;7324:98;;7470:15;:31;7486:14;7470:31;;;;;;;;;;;:66;;;7432:104;;7587:15;:31;7603:14;7587:31;;;;;;;;;;;:69;;;7546:110;;7707:15;:31;7723:14;7707:31;;;;;;;;;;;:69;;;7666:110;;7808:15;:31;7824:14;7808:31;;;;;;;;;;;:50;;;7786:72;;7897:15;:31;7913:14;7897:31;;;;;;;;;;;:57;;;7868:86;;7991:15;:31;8007:14;7991:31;;;;;;;;;;;:55;;;7964:82;;6235:1818;;;;;;;;;;;;;:::o;9412:732::-;9530:34;9578;9626:37;9677:41;9772:15;:31;9788:14;9772:31;;;;;;;;;;;:57;;;9743:86;;9868:15;:31;9884:14;9868:31;;;;;;;;;;;:57;;;9839:86;;9967:15;:31;9983:14;9967:31;;;;;;;;;;;:60;;;9935:92;;10073:15;:31;10089:14;10073:31;;;;;;;;;;;:64;;;10037:100;;9412:732;;;;;:::o;4790:202::-;4896:39;4906:28;;4896:9;:39::i;:::-;4888:48;;;;;;;;4969:16;4946:13;:20;4960:5;4946:20;;;;;;;;;;;;;;;:39;;;;4790:202;;:::o;723:48::-;;;;;;;;;;;;;;;;;:::o;5217:229::-;5338:37;5348:26;;5338:9;:37::i;:::-;5330:46;;;;;;;;5427:12;5386:31;:38;5418:5;5386:38;;;;;;;;;;;;;;;:53;;;;5217:229;;:::o;4998:213::-;5111:37;5121:26;;5111:9;:37::i;:::-;5103:46;;;;;;;;5192:12;5159:23;:30;5183:5;5159:30;;;;;;;;;;;;;;;:45;;;;4998:213;;:::o;8592:814::-;8708:37;8759:43;8816:46;8876;8979:15;:31;8995:14;8979:31;;;;;;;;;;;:66;;;8947:98;;9093:15;:31;9109:14;9093:31;;;;;;;;;;;:66;;;9055:104;;9210:15;:31;9226:14;9210:31;;;;;;;;;;;:69;;;9169:110;;9330:15;:31;9346:14;9330:31;;;;;;;;;;;:69;;;9289:110;;8592:814;;;;;:::o;10150:217::-;10251:24;10310:15;:31;10326:14;10310:31;;;;;;;;;;;:50;;;10291:69;;10150:217;;;:::o;10959:222::-;11066:20;11117:15;:31;11133:14;11117:31;;;;;;;;;;;:57;;;11102:72;;10959:222;;;:::o;1910:67::-;;;;;;;;;;;;;;;;;:::o;2766:71::-;;;;;;;;;;;;;;;;;:::o;1643:59::-;;;;;;;;;;;;;;;;;:::o;8059:527::-;8173:27;8214:34;8262:32;8341:15;:31;8357:14;8341:31;;;;;;;;;;;:50;;;8319:72;;8430:15;:31;8446:14;8430:31;;;;;;;;;;;:57;;;8401:86;;8524:15;:31;8540:14;8524:31;;;;;;;;;;;:55;;;8497:82;;8059:527;;;;;:::o;6032:197::-;6120:39;6130:28;;6120:9;:39::i;:::-;6112:48;;;;;;;;6189:33;6210:11;6189:16;;:20;;:33;;;;:::i;:::-;6170:16;:52;;;;6032:197;:::o;5452:281::-;5574:87;;;;;;;;;;5590:28;;5574:87;;;;;;;;;;5620:26;;5574:87;;;;;;;;;;5648:11;;5574:87;;;;;;;;;:14;:87::i;:::-;5566:96;;;;;;;;5714:12;5672:32;:39;5705:5;5672:39;;;;;;;;;;;;;;;:54;;;;5452:281;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;1189::57:-;;;;:::o;533:68::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10373:275::-;10484:41;10577:15;:31;10593:14;10577:31;;;;;;;;;;;:64;;;10541:100;;10373:275;;;:::o;881:350:67:-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o;610:160::-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o",
  "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"../common/DaoConstants.sol\";\nimport \"../lib/DaoStructs.sol\";\n\n// this contract will receive DGXs fees from the DGX fees distributors\ncontract DaoRewardsStorage is ResolverClient, DaoConstants {\n    using DaoStructs for DaoStructs.DaoQuarterInfo;\n\n    // DaoQuarterInfo is a struct that stores the quarter specific information\n    // regarding totalEffectiveDGDs, DGX distribution day, etc. pls check\n    // docs in lib/DaoStructs\n    mapping(uint256 => DaoStructs.DaoQuarterInfo) public allQuartersInfo;\n\n    // Mapping that stores the DGX that can be claimed as rewards by\n    // an address (a participant of DigixDAO)\n    mapping(address => uint256) public claimableDGXs;\n\n    // This stores the total DGX value that has been claimed by participants\n    // this can be done by calling the DaoRewardsManager.claimRewards method\n    // Note that this value is the only outgoing DGX from DaoRewardsManager contract\n    // Note that this value also takes into account the demurrage that has been paid\n    // by participants for simply holding their DGXs in the DaoRewardsManager contract\n    uint256 public totalDGXsClaimed;\n\n    // The Quarter ID in which the user last participated in\n    // To participate means they had locked more than CONFIG_MINIMUM_LOCKED_DGD\n    // DGD tokens. In addition, they should not have withdrawn those tokens in the same\n    // quarter. Basically, in the main phase of the quarter, if DaoCommon.isParticipant(_user)\n    // was true, they were participants. And that quarter was their lastParticipatedQuarter\n    mapping (address => uint256) public lastParticipatedQuarter;\n\n    // This mapping is only used to update the lastParticipatedQuarter to the\n    // previousLastParticipatedQuarter in case users lock and withdraw DGDs\n    // within the same quarter's locking phase\n    mapping (address => uint256) public previousLastParticipatedQuarter;\n\n    // This number marks the Quarter in which the rewards were last updated for that user\n    // Since the rewards calculation for a specific quarter is only done once that\n    // quarter is completed, we need this value to note the last quarter when the rewards were updated\n    // We then start adding the rewards for all quarters after that quarter, until the current quarter\n    mapping (address => uint256) public lastQuarterThatRewardsWasUpdated;\n\n    // Similar as the lastQuarterThatRewardsWasUpdated, but this is for reputation updates\n    // Note that reputation can also be deducted for no participation (not locking DGDs)\n    // This value is used to update the reputation based on all quarters from the lastQuarterThatReputationWasUpdated\n    // to the current quarter\n    mapping (address => uint256) public lastQuarterThatReputationWasUpdated;\n\n    constructor(address _resolver)\n           public\n    {\n        require(init(CONTRACT_STORAGE_DAO_REWARDS, _resolver));\n    }\n\n    function updateQuarterInfo(\n        uint256 _quarterNumber,\n        uint256 _minimalParticipationPoint,\n        uint256 _quarterPointScalingFactor,\n        uint256 _reputationPointScalingFactor,\n        uint256 _totalEffectiveDGDPreviousQuarter,\n\n        uint256 _moderatorMinimalQuarterPoint,\n        uint256 _moderatorQuarterPointScalingFactor,\n        uint256 _moderatorReputationPointScalingFactor,\n        uint256 _totalEffectiveModeratorDGDLastQuarter,\n\n        uint256 _dgxDistributionDay,\n        uint256 _dgxRewardsPoolLastQuarter,\n        uint256 _sumRewardsFromBeginning\n    )\n        public\n    {\n        require(sender_is(CONTRACT_DAO_REWARDS_MANAGER));\n        allQuartersInfo[_quarterNumber].minimalParticipationPoint = _minimalParticipationPoint;\n        allQuartersInfo[_quarterNumber].quarterPointScalingFactor = _quarterPointScalingFactor;\n        allQuartersInfo[_quarterNumber].reputationPointScalingFactor = _reputationPointScalingFactor;\n        allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter = _totalEffectiveDGDPreviousQuarter;\n\n        allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint = _moderatorMinimalQuarterPoint;\n        allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor = _moderatorQuarterPointScalingFactor;\n        allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor = _moderatorReputationPointScalingFactor;\n        allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter = _totalEffectiveModeratorDGDLastQuarter;\n\n        allQuartersInfo[_quarterNumber].dgxDistributionDay = _dgxDistributionDay;\n        allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter = _dgxRewardsPoolLastQuarter;\n        allQuartersInfo[_quarterNumber].sumRewardsFromBeginning = _sumRewardsFromBeginning;\n    }\n\n    function updateClaimableDGX(address _user, uint256 _newClaimableDGX)\n        public\n    {\n        require(sender_is(CONTRACT_DAO_REWARDS_MANAGER));\n        claimableDGXs[_user] = _newClaimableDGX;\n    }\n\n    function updateLastParticipatedQuarter(address _user, uint256 _lastQuarter)\n        public\n    {\n        require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n        lastParticipatedQuarter[_user] = _lastQuarter;\n    }\n\n    function updatePreviousLastParticipatedQuarter(address _user, uint256 _lastQuarter)\n        public\n    {\n        require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n        previousLastParticipatedQuarter[_user] = _lastQuarter;\n    }\n\n    function updateLastQuarterThatRewardsWasUpdated(address _user, uint256 _lastQuarter)\n        public\n    {\n        require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_STAKE_LOCKING, EMPTY_BYTES]));\n        lastQuarterThatRewardsWasUpdated[_user] = _lastQuarter;\n    }\n\n    function updateLastQuarterThatReputationWasUpdated(address _user, uint256 _lastQuarter)\n        public\n    {\n        require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_STAKE_LOCKING, EMPTY_BYTES]));\n        lastQuarterThatReputationWasUpdated[_user] = _lastQuarter;\n    }\n\n    function addToTotalDgxClaimed(uint256 _dgxClaimed)\n        public\n    {\n        require(sender_is(CONTRACT_DAO_REWARDS_MANAGER));\n        totalDGXsClaimed = totalDGXsClaimed.add(_dgxClaimed);\n    }\n\n    function readQuarterInfo(uint256 _quarterNumber)\n        public\n        view\n        returns (\n            uint256 _minimalParticipationPoint,\n            uint256 _quarterPointScalingFactor,\n            uint256 _reputationPointScalingFactor,\n            uint256 _totalEffectiveDGDPreviousQuarter,\n\n            uint256 _moderatorMinimalQuarterPoint,\n            uint256 _moderatorQuarterPointScalingFactor,\n            uint256 _moderatorReputationPointScalingFactor,\n            uint256 _totalEffectiveModeratorDGDLastQuarter,\n\n            uint256 _dgxDistributionDay,\n            uint256 _dgxRewardsPoolLastQuarter,\n            uint256 _sumRewardsFromBeginning\n        )\n    {\n        _minimalParticipationPoint = allQuartersInfo[_quarterNumber].minimalParticipationPoint;\n        _quarterPointScalingFactor = allQuartersInfo[_quarterNumber].quarterPointScalingFactor;\n        _reputationPointScalingFactor = allQuartersInfo[_quarterNumber].reputationPointScalingFactor;\n        _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter;\n        _moderatorMinimalQuarterPoint = allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint;\n        _moderatorQuarterPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor;\n        _moderatorReputationPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor;\n        _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter;\n        _dgxDistributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay;\n        _dgxRewardsPoolLastQuarter = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter;\n        _sumRewardsFromBeginning = allQuartersInfo[_quarterNumber].sumRewardsFromBeginning;\n    }\n\n    function readQuarterGeneralInfo(uint256 _quarterNumber)\n        public\n        view\n        returns (\n            uint256 _dgxDistributionDay,\n            uint256 _dgxRewardsPoolLastQuarter,\n            uint256 _sumRewardsFromBeginning\n        )\n    {\n        _dgxDistributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay;\n        _dgxRewardsPoolLastQuarter = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter;\n        _sumRewardsFromBeginning = allQuartersInfo[_quarterNumber].sumRewardsFromBeginning;\n    }\n\n    function readQuarterModeratorInfo(uint256 _quarterNumber)\n        public\n        view\n        returns (\n            uint256 _moderatorMinimalQuarterPoint,\n            uint256 _moderatorQuarterPointScalingFactor,\n            uint256 _moderatorReputationPointScalingFactor,\n            uint256 _totalEffectiveModeratorDGDLastQuarter\n        )\n    {\n        _moderatorMinimalQuarterPoint = allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint;\n        _moderatorQuarterPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor;\n        _moderatorReputationPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor;\n        _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter;\n    }\n\n    function readQuarterParticipantInfo(uint256 _quarterNumber)\n        public\n        view\n        returns (\n            uint256 _minimalParticipationPoint,\n            uint256 _quarterPointScalingFactor,\n            uint256 _reputationPointScalingFactor,\n            uint256 _totalEffectiveDGDPreviousQuarter\n        )\n    {\n        _minimalParticipationPoint = allQuartersInfo[_quarterNumber].minimalParticipationPoint;\n        _quarterPointScalingFactor = allQuartersInfo[_quarterNumber].quarterPointScalingFactor;\n        _reputationPointScalingFactor = allQuartersInfo[_quarterNumber].reputationPointScalingFactor;\n        _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter;\n    }\n\n    function readDgxDistributionDay(uint256 _quarterNumber)\n        public\n        view\n        returns (uint256 _distributionDay)\n    {\n        _distributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay;\n    }\n\n    function readTotalEffectiveDGDLastQuarter(uint256 _quarterNumber)\n        public\n        view\n        returns (uint256 _totalEffectiveDGDPreviousQuarter)\n    {\n        _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter;\n    }\n\n    function readTotalEffectiveModeratorDGDLastQuarter(uint256 _quarterNumber)\n        public\n        view\n        returns (uint256 _totalEffectiveModeratorDGDLastQuarter)\n    {\n        _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter;\n    }\n\n    function readRewardsPoolOfLastQuarter(uint256 _quarterNumber)\n        public\n        view\n        returns (uint256 _rewardsPool)\n    {\n        _rewardsPool = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter;\n    }\n}\n",
  "sourcePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/storage/DaoRewardsStorage.sol",
  "ast": {
    "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/storage/DaoRewardsStorage.sol",
    "exportedSymbols": {
      "DaoRewardsStorage": [
        15115
      ]
    },
    "id": 15116,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 14547,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:57"
      },
      {
        "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol",
        "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol",
        "id": 14548,
        "nodeType": "ImportDirective",
        "scope": 15116,
        "sourceUnit": 18629,
        "src": "26:64:57",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/common/DaoConstants.sol",
        "file": "../common/DaoConstants.sol",
        "id": 14549,
        "nodeType": "ImportDirective",
        "scope": 15116,
        "sourceUnit": 1630,
        "src": "91:36:57",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/lib/DaoStructs.sol",
        "file": "../lib/DaoStructs.sol",
        "id": 14550,
        "nodeType": "ImportDirective",
        "scope": 15116,
        "sourceUnit": 8452,
        "src": "128:31:57",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 14551,
              "name": "ResolverClient",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 18628,
              "src": "262:14:57",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ResolverClient_$18628",
                "typeString": "contract ResolverClient"
              }
            },
            "id": 14552,
            "nodeType": "InheritanceSpecifier",
            "src": "262:14:57"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 14553,
              "name": "DaoConstants",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1629,
              "src": "278:12:57",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoConstants_$1629",
                "typeString": "contract DaoConstants"
              }
            },
            "id": 14554,
            "nodeType": "InheritanceSpecifier",
            "src": "278:12:57"
          }
        ],
        "contractDependencies": [
          1629,
          18628
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 15115,
        "linearizedBaseContracts": [
          15115,
          1629,
          18628
        ],
        "name": "DaoRewardsStorage",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 14557,
            "libraryName": {
              "contractScope": null,
              "id": 14555,
              "name": "DaoStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8451,
              "src": "303:10:57",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoStructs_$8451",
                "typeString": "library DaoStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "297:47:57",
            "typeName": {
              "contractScope": null,
              "id": 14556,
              "name": "DaoStructs.DaoQuarterInfo",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8441,
              "src": "318:25:57",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage_ptr",
                "typeString": "struct DaoStructs.DaoQuarterInfo"
              }
            }
          },
          {
            "constant": false,
            "id": 14561,
            "name": "allQuartersInfo",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "533:68:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
              "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo)"
            },
            "typeName": {
              "id": 14560,
              "keyType": {
                "id": 14558,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "541:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "533:45:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo)"
              },
              "valueType": {
                "contractScope": null,
                "id": 14559,
                "name": "DaoStructs.DaoQuarterInfo",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 8441,
                "src": "552:25:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage_ptr",
                  "typeString": "struct DaoStructs.DaoQuarterInfo"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14565,
            "name": "claimableDGXs",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "723:48:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 14564,
              "keyType": {
                "id": 14562,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "731:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "723:27:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 14563,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "742:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14567,
            "name": "totalDGXsClaimed",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "1189:31:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 14566,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1189:7:57",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14571,
            "name": "lastParticipatedQuarter",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "1643:59:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 14570,
              "keyType": {
                "id": 14568,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1652:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1643:28:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 14569,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1663:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14575,
            "name": "previousLastParticipatedQuarter",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "1910:67:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 14574,
              "keyType": {
                "id": 14572,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1919:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1910:28:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 14573,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1930:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14579,
            "name": "lastQuarterThatRewardsWasUpdated",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "2363:68:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 14578,
              "keyType": {
                "id": 14576,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "2372:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "2363:28:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 14577,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "2383:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14583,
            "name": "lastQuarterThatReputationWasUpdated",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "2766:71:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 14582,
              "keyType": {
                "id": 14580,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "2775:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "2766:28:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 14581,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "2786:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14595,
              "nodeType": "Block",
              "src": "2897:71:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14590,
                            "name": "CONTRACT_STORAGE_DAO_REWARDS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1421,
                            "src": "2920:28:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 14591,
                            "name": "_resolver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14585,
                            "src": "2950:9:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 14589,
                          "name": "init",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18596,
                          "src": "2915:4:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$",
                            "typeString": "function (bytes32,address) returns (bool)"
                          }
                        },
                        "id": 14592,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2915:45:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14588,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "2907:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14593,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2907:54:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14594,
                  "nodeType": "ExpressionStatement",
                  "src": "2907:54:57"
                }
              ]
            },
            "documentation": null,
            "id": 14596,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14586,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14585,
                  "name": "_resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 14596,
                  "src": "2856:17:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14584,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2856:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2855:19:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14587,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2897:0:57"
            },
            "scope": 15115,
            "src": "2844:124:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14706,
              "nodeType": "Block",
              "src": "3581:1203:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14625,
                            "name": "CONTRACT_DAO_REWARDS_MANAGER",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1367,
                            "src": "3609:28:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 14624,
                          "name": "sender_is",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18461,
                          "src": "3599:9:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 14626,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3599:39:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14623,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "3591:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14627,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3591:48:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14628,
                  "nodeType": "ExpressionStatement",
                  "src": "3591:48:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14634,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14629,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "3649:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14631,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14630,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "3665:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3649:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14632,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "minimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8420,
                      "src": "3649:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14633,
                      "name": "_minimalParticipationPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14600,
                      "src": "3709:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3649:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14635,
                  "nodeType": "ExpressionStatement",
                  "src": "3649:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14641,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14636,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "3745:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14638,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14637,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "3761:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3745:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14639,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "quarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8422,
                      "src": "3745:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14640,
                      "name": "_quarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14602,
                      "src": "3805:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3745:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14642,
                  "nodeType": "ExpressionStatement",
                  "src": "3745:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14648,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14643,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "3841:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14645,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14644,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "3857:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3841:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14646,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "reputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8424,
                      "src": "3841:60:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14647,
                      "name": "_reputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14604,
                      "src": "3904:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3841:92:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14649,
                  "nodeType": "ExpressionStatement",
                  "src": "3841:92:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14655,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14650,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "3943:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14652,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14651,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "3959:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3943:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14653,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "totalEffectiveDGDPreviousQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8426,
                      "src": "3943:64:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14654,
                      "name": "_totalEffectiveDGDPreviousQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14606,
                      "src": "4010:33:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3943:100:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14656,
                  "nodeType": "ExpressionStatement",
                  "src": "3943:100:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14662,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14657,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4054:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14659,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14658,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4070:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4054:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14660,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "moderatorMinimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8428,
                      "src": "4054:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14661,
                      "name": "_moderatorMinimalQuarterPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14608,
                      "src": "4123:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4054:98:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14663,
                  "nodeType": "ExpressionStatement",
                  "src": "4054:98:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14669,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14664,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4162:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14666,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14665,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4178:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4162:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14667,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "moderatorQuarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8430,
                      "src": "4162:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14668,
                      "name": "_moderatorQuarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14610,
                      "src": "4231:35:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4162:104:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14670,
                  "nodeType": "ExpressionStatement",
                  "src": "4162:104:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14676,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14671,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4276:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14673,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14672,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4292:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4276:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14674,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "moderatorReputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8432,
                      "src": "4276:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14675,
                      "name": "_moderatorReputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14612,
                      "src": "4348:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4276:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14677,
                  "nodeType": "ExpressionStatement",
                  "src": "4276:110:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14683,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14678,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4396:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14680,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14679,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4412:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4396:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14681,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8434,
                      "src": "4396:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14682,
                      "name": "_totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14614,
                      "src": "4468:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4396:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14684,
                  "nodeType": "ExpressionStatement",
                  "src": "4396:110:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14690,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14685,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4517:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14687,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14686,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4533:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4517:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14688,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "dgxDistributionDay",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8436,
                      "src": "4517:50:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14689,
                      "name": "_dgxDistributionDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14616,
                      "src": "4570:19:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4517:72:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14691,
                  "nodeType": "ExpressionStatement",
                  "src": "4517:72:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14697,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14692,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4599:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14694,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14693,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4615:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4599:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14695,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "dgxRewardsPoolLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8438,
                      "src": "4599:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14696,
                      "name": "_dgxRewardsPoolLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14618,
                      "src": "4659:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4599:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14698,
                  "nodeType": "ExpressionStatement",
                  "src": "4599:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14704,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14699,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4695:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14701,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14700,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4711:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4695:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14702,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "sumRewardsFromBeginning",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8440,
                      "src": "4695:55:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14703,
                      "name": "_sumRewardsFromBeginning",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14620,
                      "src": "4753:24:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4695:82:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14705,
                  "nodeType": "ExpressionStatement",
                  "src": "4695:82:57"
                }
              ]
            },
            "documentation": null,
            "id": 14707,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updateQuarterInfo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14621,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14598,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3010:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14597,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3010:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14600,
                  "name": "_minimalParticipationPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3042:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14599,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3042:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14602,
                  "name": "_quarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3086:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14601,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3086:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14604,
                  "name": "_reputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3130:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14603,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3130:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14606,
                  "name": "_totalEffectiveDGDPreviousQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3177:41:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14605,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3177:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14608,
                  "name": "_moderatorMinimalQuarterPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3229:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14607,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3229:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14610,
                  "name": "_moderatorQuarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3276:43:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14609,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3276:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14612,
                  "name": "_moderatorReputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3329:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14611,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3329:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14614,
                  "name": "_totalEffectiveModeratorDGDLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3385:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14613,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3385:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14616,
                  "name": "_dgxDistributionDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3442:27:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14615,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3442:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14618,
                  "name": "_dgxRewardsPoolLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3479:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14617,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3479:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14620,
                  "name": "_sumRewardsFromBeginning",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3523:32:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14619,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3523:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3000:561:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14622,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3581:0:57"
            },
            "scope": 15115,
            "src": "2974:1810:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14726,
              "nodeType": "Block",
              "src": "4878:114:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14716,
                            "name": "CONTRACT_DAO_REWARDS_MANAGER",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1367,
                            "src": "4906:28:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 14715,
                          "name": "sender_is",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18461,
                          "src": "4896:9:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 14717,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4896:39:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14714,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "4888:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14718,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4888:48:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14719,
                  "nodeType": "ExpressionStatement",
                  "src": "4888:48:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14724,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 14720,
                        "name": "claimableDGXs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14565,
                        "src": "4946:13:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 14722,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 14721,
                        "name": "_user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14709,
                        "src": "4960:5:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "4946:20:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14723,
                      "name": "_newClaimableDGX",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14711,
                      "src": "4969:16:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4946:39:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14725,
                  "nodeType": "ExpressionStatement",
                  "src": "4946:39:57"
                }
              ]
            },
            "documentation": null,
            "id": 14727,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updateClaimableDGX",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14712,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14709,
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 14727,
                  "src": "4818:13:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14708,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4818:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14711,
                  "name": "_newClaimableDGX",
                  "nodeType": "VariableDeclaration",
                  "scope": 14727,
                  "src": "4833:24:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14710,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4833:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4817:41:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14713,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4878:0:57"
            },
            "scope": 15115,
            "src": "4790:202:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14746,
              "nodeType": "Block",
              "src": "5093:118:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14736,
                            "name": "CONTRACT_DAO_STAKE_LOCKING",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1352,
                            "src": "5121:26:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 14735,
                          "name": "sender_is",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18461,
                          "src": "5111:9:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 14737,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5111:37:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14734,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "5103:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14738,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5103:46:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14739,
                  "nodeType": "ExpressionStatement",
                  "src": "5103:46:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14744,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 14740,
                        "name": "lastParticipatedQuarter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14571,
                        "src": "5159:23:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 14742,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 14741,
                        "name": "_user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14729,
                        "src": "5183:5:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5159:30:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14743,
                      "name": "_lastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14731,
                      "src": "5192:12:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5159:45:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14745,
                  "nodeType": "ExpressionStatement",
                  "src": "5159:45:57"
                }
              ]
            },
            "documentation": null,
            "id": 14747,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updateLastParticipatedQuarter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14732,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14729,
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 14747,
                  "src": "5037:13:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14728,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5037:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14731,
                  "name": "_lastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14747,
                  "src": "5052:20:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14730,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5052:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5036:37:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14733,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5093:0:57"
            },
            "scope": 15115,
            "src": "4998:213:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14766,
              "nodeType": "Block",
              "src": "5320:126:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14756,
                            "name": "CONTRACT_DAO_STAKE_LOCKING",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1352,
                            "src": "5348:26:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 14755,
                          "name": "sender_is",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18461,
                          "src": "5338:9:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 14757,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5338:37:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14754,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "5330:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14758,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5330:46:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14759,
                  "nodeType": "ExpressionStatement",
                  "src": "5330:46:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14764,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 14760,
                        "name": "previousLastParticipatedQuarter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14575,
                        "src": "5386:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 14762,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 14761,
                        "name": "_user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14749,
                        "src": "5418:5:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5386:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14763,
                      "name": "_lastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14751,
                      "src": "5427:12:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5386:53:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14765,
                  "nodeType": "ExpressionStatement",
                  "src": "5386:53:57"
                }
              ]
            },
            "documentation": null,
            "id": 14767,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updatePreviousLastParticipatedQuarter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14752,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14749,
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 14767,
                  "src": "5264:13:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14748,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5264:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14751,
                  "name": "_lastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14767,
                  "src": "5279:20:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14750,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5279:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5263:37:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14753,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5320:0:57"
            },
            "scope": 15115,
            "src": "5217:229:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14789,
              "nodeType": "Block",
              "src": "5556:177:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 14776,
                                "name": "CONTRACT_DAO_REWARDS_MANAGER",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1367,
                                "src": "5590:28:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 14777,
                                "name": "CONTRACT_DAO_STAKE_LOCKING",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1352,
                                "src": "5620:26:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 14778,
                                "name": "EMPTY_BYTES",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1293,
                                "src": "5648:11:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "id": 14779,
                            "isConstant": false,
                            "isInlineArray": true,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "5589:71:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr",
                              "typeString": "bytes32[3] memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr",
                              "typeString": "bytes32[3] memory"
                            }
                          ],
                          "id": 14775,
                          "name": "sender_is_from",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18529,
                          "src": "5574:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (bytes32[3] memory) view returns (bool)"
                          }
                        },
                        "id": 14780,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5574:87:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14774,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "5566:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14781,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5566:96:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14782,
                  "nodeType": "ExpressionStatement",
                  "src": "5566:96:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14787,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 14783,
                        "name": "lastQuarterThatRewardsWasUpdated",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14579,
                        "src": "5672:32:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 14785,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 14784,
                        "name": "_user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14769,
                        "src": "5705:5:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5672:39:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14786,
                      "name": "_lastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14771,
                      "src": "5714:12:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5672:54:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14788,
                  "nodeType": "ExpressionStatement",
                  "src": "5672:54:57"
                }
              ]
            },
            "documentation": null,
            "id": 14790,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updateLastQuarterThatRewardsWasUpdated",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14772,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14769,
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 14790,
                  "src": "5500:13:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14768,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5500:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14771,
                  "name": "_lastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14790,
                  "src": "5515:20:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14770,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5515:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5499:37:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14773,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5556:0:57"
            },
            "scope": 15115,
            "src": "5452:281:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14812,
              "nodeType": "Block",
              "src": "5846:180:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 14799,
                                "name": "CONTRACT_DAO_REWARDS_MANAGER",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1367,
                                "src": "5880:28:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 14800,
                                "name": "CONTRACT_DAO_STAKE_LOCKING",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1352,
                                "src": "5910:26:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 14801,
                                "name": "EMPTY_BYTES",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1293,
                                "src": "5938:11:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "id": 14802,
                            "isConstant": false,
                            "isInlineArray": true,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "5879:71:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr",
                              "typeString": "bytes32[3] memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr",
                              "typeString": "bytes32[3] memory"
                            }
                          ],
                          "id": 14798,
                          "name": "sender_is_from",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18529,
                          "src": "5864:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (bytes32[3] memory) view returns (bool)"
                          }
                        },
                        "id": 14803,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5864:87:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14797,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "5856:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14804,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5856:96:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14805,
                  "nodeType": "ExpressionStatement",
                  "src": "5856:96:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14810,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 14806,
                        "name": "lastQuarterThatReputationWasUpdated",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14583,
                        "src": "5962:35:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 14808,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 14807,
                        "name": "_user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14792,
                        "src": "5998:5:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5962:42:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14809,
                      "name": "_lastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14794,
                      "src": "6007:12:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5962:57:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14811,
                  "nodeType": "ExpressionStatement",
                  "src": "5962:57:57"
                }
              ]
            },
            "documentation": null,
            "id": 14813,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updateLastQuarterThatReputationWasUpdated",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14795,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14792,
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 14813,
                  "src": "5790:13:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14791,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5790:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14794,
                  "name": "_lastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14813,
                  "src": "5805:20:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14793,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5805:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5789:37:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14796,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5846:0:57"
            },
            "scope": 15115,
            "src": "5739:287:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14831,
              "nodeType": "Block",
              "src": "6102:127:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14820,
                            "name": "CONTRACT_DAO_REWARDS_MANAGER",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1367,
                            "src": "6130:28:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 14819,
                          "name": "sender_is",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18461,
                          "src": "6120:9:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 14821,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6120:39:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14818,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "6112:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14822,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6112:48:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14823,
                  "nodeType": "ExpressionStatement",
                  "src": "6112:48:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14829,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14824,
                      "name": "totalDGXsClaimed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14567,
                      "src": "6170:16:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 14827,
                          "name": "_dgxClaimed",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14815,
                          "src": "6210:11:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 14825,
                          "name": "totalDGXsClaimed",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14567,
                          "src": "6189:16:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 14826,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "6189:20:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 14828,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6189:33:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6170:52:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14830,
                  "nodeType": "ExpressionStatement",
                  "src": "6170:52:57"
                }
              ]
            },
            "documentation": null,
            "id": 14832,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "addToTotalDgxClaimed",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14816,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14815,
                  "name": "_dgxClaimed",
                  "nodeType": "VariableDeclaration",
                  "scope": 14832,
                  "src": "6062:19:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14814,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6062:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6061:21:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14817,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6102:0:57"
            },
            "scope": 15115,
            "src": "6032:197:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14936,
              "nodeType": "Block",
              "src": "6910:1143:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14864,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14859,
                      "name": "_minimalParticipationPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14837,
                      "src": "6920:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14860,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "6949:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14862,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14861,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "6965:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6949:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14863,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "minimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8420,
                      "src": "6949:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6920:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14865,
                  "nodeType": "ExpressionStatement",
                  "src": "6920:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14871,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14866,
                      "name": "_quarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14839,
                      "src": "7016:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14867,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7045:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14869,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14868,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7061:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7045:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14870,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "quarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8422,
                      "src": "7045:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7016:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14872,
                  "nodeType": "ExpressionStatement",
                  "src": "7016:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14878,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14873,
                      "name": "_reputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14841,
                      "src": "7112:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14874,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7144:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14876,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14875,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7160:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7144:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14877,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "reputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8424,
                      "src": "7144:60:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7112:92:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14879,
                  "nodeType": "ExpressionStatement",
                  "src": "7112:92:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14885,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14880,
                      "name": "_totalEffectiveDGDPreviousQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14843,
                      "src": "7214:33:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14881,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7250:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14883,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14882,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7266:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7250:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14884,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveDGDPreviousQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8426,
                      "src": "7250:64:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7214:100:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14886,
                  "nodeType": "ExpressionStatement",
                  "src": "7214:100:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14892,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14887,
                      "name": "_moderatorMinimalQuarterPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14845,
                      "src": "7324:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14888,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7356:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14890,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14889,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7372:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7356:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14891,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorMinimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8428,
                      "src": "7356:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7324:98:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14893,
                  "nodeType": "ExpressionStatement",
                  "src": "7324:98:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14899,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14894,
                      "name": "_moderatorQuarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14847,
                      "src": "7432:35:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14895,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7470:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14897,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14896,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7486:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7470:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14898,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorQuarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8430,
                      "src": "7470:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7432:104:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14900,
                  "nodeType": "ExpressionStatement",
                  "src": "7432:104:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14906,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14901,
                      "name": "_moderatorReputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14849,
                      "src": "7546:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14902,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7587:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14904,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14903,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7603:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7587:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14905,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorReputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8432,
                      "src": "7587:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7546:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14907,
                  "nodeType": "ExpressionStatement",
                  "src": "7546:110:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14913,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14908,
                      "name": "_totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14851,
                      "src": "7666:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14909,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7707:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14911,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14910,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7723:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7707:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14912,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8434,
                      "src": "7707:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7666:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14914,
                  "nodeType": "ExpressionStatement",
                  "src": "7666:110:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14920,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14915,
                      "name": "_dgxDistributionDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14853,
                      "src": "7786:19:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14916,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7808:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14918,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14917,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7824:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7808:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14919,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxDistributionDay",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8436,
                      "src": "7808:50:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7786:72:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14921,
                  "nodeType": "ExpressionStatement",
                  "src": "7786:72:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14927,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14922,
                      "name": "_dgxRewardsPoolLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14855,
                      "src": "7868:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14923,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7897:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14925,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14924,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7913:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7897:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14926,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxRewardsPoolLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8438,
                      "src": "7897:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7868:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14928,
                  "nodeType": "ExpressionStatement",
                  "src": "7868:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14934,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14929,
                      "name": "_sumRewardsFromBeginning",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14857,
                      "src": "7964:24:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14930,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7991:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14932,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14931,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "8007:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7991:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14933,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sumRewardsFromBeginning",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8440,
                      "src": "7991:55:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7964:82:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14935,
                  "nodeType": "ExpressionStatement",
                  "src": "7964:82:57"
                }
              ]
            },
            "documentation": null,
            "id": 14937,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readQuarterInfo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14835,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14834,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6260:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14833,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6260:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6259:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14858,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14837,
                  "name": "_minimalParticipationPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6342:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14836,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6342:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14839,
                  "name": "_quarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6390:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14838,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6390:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14841,
                  "name": "_reputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6438:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14840,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6438:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14843,
                  "name": "_totalEffectiveDGDPreviousQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6489:41:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14842,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6489:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14845,
                  "name": "_moderatorMinimalQuarterPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6545:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14844,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6545:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14847,
                  "name": "_moderatorQuarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6596:43:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14846,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6596:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14849,
                  "name": "_moderatorReputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6653:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14848,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6653:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14851,
                  "name": "_totalEffectiveModeratorDGDLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6713:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14850,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6713:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14853,
                  "name": "_dgxDistributionDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6774:27:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14852,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6774:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14855,
                  "name": "_dgxRewardsPoolLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6815:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14854,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6815:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14857,
                  "name": "_sumRewardsFromBeginning",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6863:32:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14856,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6863:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6328:577:57"
            },
            "scope": 15115,
            "src": "6235:1818:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14969,
              "nodeType": "Block",
              "src": "8309:277:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14953,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14948,
                      "name": "_dgxDistributionDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14942,
                      "src": "8319:19:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14949,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "8341:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14951,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14950,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14939,
                          "src": "8357:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8341:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14952,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxDistributionDay",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8436,
                      "src": "8341:50:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8319:72:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14954,
                  "nodeType": "ExpressionStatement",
                  "src": "8319:72:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14960,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14955,
                      "name": "_dgxRewardsPoolLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14944,
                      "src": "8401:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14956,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "8430:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14958,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14957,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14939,
                          "src": "8446:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8430:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14959,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxRewardsPoolLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8438,
                      "src": "8430:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8401:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14961,
                  "nodeType": "ExpressionStatement",
                  "src": "8401:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14967,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14962,
                      "name": "_sumRewardsFromBeginning",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14946,
                      "src": "8497:24:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14963,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "8524:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14965,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14964,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14939,
                          "src": "8540:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8524:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14966,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sumRewardsFromBeginning",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8440,
                      "src": "8524:55:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8497:82:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14968,
                  "nodeType": "ExpressionStatement",
                  "src": "8497:82:57"
                }
              ]
            },
            "documentation": null,
            "id": 14970,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readQuarterGeneralInfo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14940,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14939,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 14970,
                  "src": "8091:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14938,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8091:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8090:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14947,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14942,
                  "name": "_dgxDistributionDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 14970,
                  "src": "8173:27:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14941,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8173:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14944,
                  "name": "_dgxRewardsPoolLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14970,
                  "src": "8214:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14943,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8214:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14946,
                  "name": "_sumRewardsFromBeginning",
                  "nodeType": "VariableDeclaration",
                  "scope": 14970,
                  "src": "8262:32:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14945,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8262:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8159:145:57"
            },
            "scope": 15115,
            "src": "8059:527:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15011,
              "nodeType": "Block",
              "src": "8937:469:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14988,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14983,
                      "name": "_moderatorMinimalQuarterPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14975,
                      "src": "8947:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14984,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "8979:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14986,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14985,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14972,
                          "src": "8995:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8979:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14987,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorMinimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8428,
                      "src": "8979:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8947:98:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14989,
                  "nodeType": "ExpressionStatement",
                  "src": "8947:98:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14995,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14990,
                      "name": "_moderatorQuarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14977,
                      "src": "9055:35:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14991,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9093:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14993,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14992,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14972,
                          "src": "9109:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9093:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14994,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorQuarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8430,
                      "src": "9093:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9055:104:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14996,
                  "nodeType": "ExpressionStatement",
                  "src": "9055:104:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15002,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14997,
                      "name": "_moderatorReputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14979,
                      "src": "9169:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14998,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9210:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15000,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14999,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14972,
                          "src": "9226:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9210:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15001,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorReputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8432,
                      "src": "9210:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9169:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15003,
                  "nodeType": "ExpressionStatement",
                  "src": "9169:110:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15009,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15004,
                      "name": "_totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14981,
                      "src": "9289:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15005,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9330:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15007,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15006,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14972,
                          "src": "9346:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9330:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15008,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8434,
                      "src": "9330:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9289:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15010,
                  "nodeType": "ExpressionStatement",
                  "src": "9289:110:57"
                }
              ]
            },
            "documentation": null,
            "id": 15012,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readQuarterModeratorInfo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14973,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14972,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15012,
                  "src": "8626:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14971,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8626:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8625:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14982,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14975,
                  "name": "_moderatorMinimalQuarterPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 15012,
                  "src": "8708:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14974,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8708:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14977,
                  "name": "_moderatorQuarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 15012,
                  "src": "8759:43:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14976,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8759:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14979,
                  "name": "_moderatorReputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 15012,
                  "src": "8816:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14978,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8816:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14981,
                  "name": "_totalEffectiveModeratorDGDLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 15012,
                  "src": "8876:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14980,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8876:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8694:238:57"
            },
            "scope": 15115,
            "src": "8592:814:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15053,
              "nodeType": "Block",
              "src": "9733:411:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15030,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15025,
                      "name": "_minimalParticipationPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15017,
                      "src": "9743:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15026,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9772:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15028,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15027,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15014,
                          "src": "9788:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9772:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15029,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "minimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8420,
                      "src": "9772:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9743:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15031,
                  "nodeType": "ExpressionStatement",
                  "src": "9743:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15037,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15032,
                      "name": "_quarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15019,
                      "src": "9839:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15033,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9868:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15035,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15034,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15014,
                          "src": "9884:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9868:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15036,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "quarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8422,
                      "src": "9868:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9839:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15038,
                  "nodeType": "ExpressionStatement",
                  "src": "9839:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15044,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15039,
                      "name": "_reputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15021,
                      "src": "9935:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15040,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9967:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15042,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15041,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15014,
                          "src": "9983:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9967:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15043,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "reputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8424,
                      "src": "9967:60:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9935:92:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15045,
                  "nodeType": "ExpressionStatement",
                  "src": "9935:92:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15051,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15046,
                      "name": "_totalEffectiveDGDPreviousQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15023,
                      "src": "10037:33:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15047,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "10073:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15049,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15048,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15014,
                          "src": "10089:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "10073:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15050,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveDGDPreviousQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8426,
                      "src": "10073:64:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10037:100:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15052,
                  "nodeType": "ExpressionStatement",
                  "src": "10037:100:57"
                }
              ]
            },
            "documentation": null,
            "id": 15054,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readQuarterParticipantInfo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15015,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15014,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15054,
                  "src": "9448:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15013,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9448:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9447:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 15024,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15017,
                  "name": "_minimalParticipationPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 15054,
                  "src": "9530:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15016,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9530:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15019,
                  "name": "_quarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 15054,
                  "src": "9578:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15018,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9578:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15021,
                  "name": "_reputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 15054,
                  "src": "9626:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15020,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9626:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15023,
                  "name": "_totalEffectiveDGDPreviousQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 15054,
                  "src": "9677:41:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15022,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9677:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9516:212:57"
            },
            "scope": 15115,
            "src": "9412:732:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15068,
              "nodeType": "Block",
              "src": "10281:86:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15066,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15061,
                      "name": "_distributionDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15059,
                      "src": "10291:16:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15062,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "10310:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15064,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15063,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15056,
                          "src": "10326:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "10310:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15065,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxDistributionDay",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8436,
                      "src": "10310:50:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10291:69:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15067,
                  "nodeType": "ExpressionStatement",
                  "src": "10291:69:57"
                }
              ]
            },
            "documentation": null,
            "id": 15069,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readDgxDistributionDay",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15057,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15056,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15069,
                  "src": "10182:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15055,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10182:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10181:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 15060,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15059,
                  "name": "_distributionDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 15069,
                  "src": "10251:24:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15058,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10251:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10250:26:57"
            },
            "scope": 15115,
            "src": "10150:217:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15083,
              "nodeType": "Block",
              "src": "10531:117:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15081,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15076,
                      "name": "_totalEffectiveDGDPreviousQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15074,
                      "src": "10541:33:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15077,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "10577:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15079,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15078,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15071,
                          "src": "10593:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "10577:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15080,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveDGDPreviousQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8426,
                      "src": "10577:64:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10541:100:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15082,
                  "nodeType": "ExpressionStatement",
                  "src": "10541:100:57"
                }
              ]
            },
            "documentation": null,
            "id": 15084,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readTotalEffectiveDGDLastQuarter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15072,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15071,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15084,
                  "src": "10415:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15070,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10415:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10414:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 15075,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15074,
                  "name": "_totalEffectiveDGDPreviousQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 15084,
                  "src": "10484:41:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15073,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10484:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10483:43:57"
            },
            "scope": 15115,
            "src": "10373:275:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15098,
              "nodeType": "Block",
              "src": "10826:127:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15096,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15091,
                      "name": "_totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15089,
                      "src": "10836:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15092,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "10877:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15094,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15093,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15086,
                          "src": "10893:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "10877:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15095,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8434,
                      "src": "10877:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10836:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15097,
                  "nodeType": "ExpressionStatement",
                  "src": "10836:110:57"
                }
              ]
            },
            "documentation": null,
            "id": 15099,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readTotalEffectiveModeratorDGDLastQuarter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15087,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15086,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15099,
                  "src": "10705:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15085,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10705:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10704:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 15090,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15089,
                  "name": "_totalEffectiveModeratorDGDLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 15099,
                  "src": "10774:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15088,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10774:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10773:48:57"
            },
            "scope": 15115,
            "src": "10654:299:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15113,
              "nodeType": "Block",
              "src": "11092:89:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15111,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15106,
                      "name": "_rewardsPool",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15104,
                      "src": "11102:12:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15107,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "11117:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15109,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15108,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15101,
                          "src": "11133:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "11117:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15110,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxRewardsPoolLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8438,
                      "src": "11117:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "11102:72:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15112,
                  "nodeType": "ExpressionStatement",
                  "src": "11102:72:57"
                }
              ]
            },
            "documentation": null,
            "id": 15114,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readRewardsPoolOfLastQuarter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15102,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15101,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15114,
                  "src": "10997:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15100,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10997:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10996:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 15105,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15104,
                  "name": "_rewardsPool",
                  "nodeType": "VariableDeclaration",
                  "scope": 15114,
                  "src": "11066:20:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15103,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11066:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11065:22:57"
            },
            "scope": 15115,
            "src": "10959:222:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 15116,
        "src": "232:10951:57"
      }
    ],
    "src": "0:11184:57"
  },
  "legacyAST": {
    "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/storage/DaoRewardsStorage.sol",
    "exportedSymbols": {
      "DaoRewardsStorage": [
        15115
      ]
    },
    "id": 15116,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 14547,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".25"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:57"
      },
      {
        "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol",
        "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol",
        "id": 14548,
        "nodeType": "ImportDirective",
        "scope": 15116,
        "sourceUnit": 18629,
        "src": "26:64:57",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/common/DaoConstants.sol",
        "file": "../common/DaoConstants.sol",
        "id": 14549,
        "nodeType": "ImportDirective",
        "scope": 15116,
        "sourceUnit": 1630,
        "src": "91:36:57",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/aeufemio/projects/dgx/contracts/dao-contracts/contracts/lib/DaoStructs.sol",
        "file": "../lib/DaoStructs.sol",
        "id": 14550,
        "nodeType": "ImportDirective",
        "scope": 15116,
        "sourceUnit": 8452,
        "src": "128:31:57",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 14551,
              "name": "ResolverClient",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 18628,
              "src": "262:14:57",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ResolverClient_$18628",
                "typeString": "contract ResolverClient"
              }
            },
            "id": 14552,
            "nodeType": "InheritanceSpecifier",
            "src": "262:14:57"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 14553,
              "name": "DaoConstants",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1629,
              "src": "278:12:57",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoConstants_$1629",
                "typeString": "contract DaoConstants"
              }
            },
            "id": 14554,
            "nodeType": "InheritanceSpecifier",
            "src": "278:12:57"
          }
        ],
        "contractDependencies": [
          1629,
          18628
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 15115,
        "linearizedBaseContracts": [
          15115,
          1629,
          18628
        ],
        "name": "DaoRewardsStorage",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 14557,
            "libraryName": {
              "contractScope": null,
              "id": 14555,
              "name": "DaoStructs",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8451,
              "src": "303:10:57",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DaoStructs_$8451",
                "typeString": "library DaoStructs"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "297:47:57",
            "typeName": {
              "contractScope": null,
              "id": 14556,
              "name": "DaoStructs.DaoQuarterInfo",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8441,
              "src": "318:25:57",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage_ptr",
                "typeString": "struct DaoStructs.DaoQuarterInfo"
              }
            }
          },
          {
            "constant": false,
            "id": 14561,
            "name": "allQuartersInfo",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "533:68:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
              "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo)"
            },
            "typeName": {
              "id": 14560,
              "keyType": {
                "id": 14558,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "541:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "533:45:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo)"
              },
              "valueType": {
                "contractScope": null,
                "id": 14559,
                "name": "DaoStructs.DaoQuarterInfo",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 8441,
                "src": "552:25:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage_ptr",
                  "typeString": "struct DaoStructs.DaoQuarterInfo"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14565,
            "name": "claimableDGXs",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "723:48:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 14564,
              "keyType": {
                "id": 14562,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "731:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "723:27:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 14563,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "742:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14567,
            "name": "totalDGXsClaimed",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "1189:31:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 14566,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1189:7:57",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14571,
            "name": "lastParticipatedQuarter",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "1643:59:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 14570,
              "keyType": {
                "id": 14568,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1652:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1643:28:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 14569,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1663:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14575,
            "name": "previousLastParticipatedQuarter",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "1910:67:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 14574,
              "keyType": {
                "id": 14572,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1919:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1910:28:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 14573,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1930:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14579,
            "name": "lastQuarterThatRewardsWasUpdated",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "2363:68:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 14578,
              "keyType": {
                "id": 14576,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "2372:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "2363:28:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 14577,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "2383:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 14583,
            "name": "lastQuarterThatReputationWasUpdated",
            "nodeType": "VariableDeclaration",
            "scope": 15115,
            "src": "2766:71:57",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 14582,
              "keyType": {
                "id": 14580,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "2775:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "2766:28:57",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 14581,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "2786:7:57",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14595,
              "nodeType": "Block",
              "src": "2897:71:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14590,
                            "name": "CONTRACT_STORAGE_DAO_REWARDS",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1421,
                            "src": "2920:28:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 14591,
                            "name": "_resolver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14585,
                            "src": "2950:9:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 14589,
                          "name": "init",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18596,
                          "src": "2915:4:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$",
                            "typeString": "function (bytes32,address) returns (bool)"
                          }
                        },
                        "id": 14592,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2915:45:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14588,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "2907:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14593,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2907:54:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14594,
                  "nodeType": "ExpressionStatement",
                  "src": "2907:54:57"
                }
              ]
            },
            "documentation": null,
            "id": 14596,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14586,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14585,
                  "name": "_resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 14596,
                  "src": "2856:17:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14584,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2856:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2855:19:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14587,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2897:0:57"
            },
            "scope": 15115,
            "src": "2844:124:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14706,
              "nodeType": "Block",
              "src": "3581:1203:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14625,
                            "name": "CONTRACT_DAO_REWARDS_MANAGER",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1367,
                            "src": "3609:28:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 14624,
                          "name": "sender_is",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18461,
                          "src": "3599:9:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 14626,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3599:39:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14623,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "3591:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14627,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3591:48:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14628,
                  "nodeType": "ExpressionStatement",
                  "src": "3591:48:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14634,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14629,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "3649:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14631,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14630,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "3665:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3649:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14632,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "minimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8420,
                      "src": "3649:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14633,
                      "name": "_minimalParticipationPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14600,
                      "src": "3709:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3649:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14635,
                  "nodeType": "ExpressionStatement",
                  "src": "3649:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14641,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14636,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "3745:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14638,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14637,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "3761:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3745:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14639,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "quarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8422,
                      "src": "3745:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14640,
                      "name": "_quarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14602,
                      "src": "3805:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3745:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14642,
                  "nodeType": "ExpressionStatement",
                  "src": "3745:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14648,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14643,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "3841:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14645,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14644,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "3857:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3841:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14646,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "reputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8424,
                      "src": "3841:60:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14647,
                      "name": "_reputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14604,
                      "src": "3904:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3841:92:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14649,
                  "nodeType": "ExpressionStatement",
                  "src": "3841:92:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14655,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14650,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "3943:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14652,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14651,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "3959:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3943:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14653,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "totalEffectiveDGDPreviousQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8426,
                      "src": "3943:64:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14654,
                      "name": "_totalEffectiveDGDPreviousQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14606,
                      "src": "4010:33:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3943:100:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14656,
                  "nodeType": "ExpressionStatement",
                  "src": "3943:100:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14662,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14657,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4054:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14659,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14658,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4070:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4054:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14660,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "moderatorMinimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8428,
                      "src": "4054:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14661,
                      "name": "_moderatorMinimalQuarterPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14608,
                      "src": "4123:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4054:98:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14663,
                  "nodeType": "ExpressionStatement",
                  "src": "4054:98:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14669,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14664,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4162:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14666,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14665,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4178:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4162:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14667,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "moderatorQuarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8430,
                      "src": "4162:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14668,
                      "name": "_moderatorQuarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14610,
                      "src": "4231:35:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4162:104:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14670,
                  "nodeType": "ExpressionStatement",
                  "src": "4162:104:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14676,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14671,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4276:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14673,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14672,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4292:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4276:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14674,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "moderatorReputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8432,
                      "src": "4276:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14675,
                      "name": "_moderatorReputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14612,
                      "src": "4348:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4276:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14677,
                  "nodeType": "ExpressionStatement",
                  "src": "4276:110:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14683,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14678,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4396:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14680,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14679,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4412:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4396:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14681,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8434,
                      "src": "4396:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14682,
                      "name": "_totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14614,
                      "src": "4468:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4396:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14684,
                  "nodeType": "ExpressionStatement",
                  "src": "4396:110:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14690,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14685,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4517:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14687,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14686,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4533:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4517:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14688,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "dgxDistributionDay",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8436,
                      "src": "4517:50:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14689,
                      "name": "_dgxDistributionDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14616,
                      "src": "4570:19:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4517:72:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14691,
                  "nodeType": "ExpressionStatement",
                  "src": "4517:72:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14697,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14692,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4599:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14694,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14693,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4615:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4599:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14695,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "dgxRewardsPoolLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8438,
                      "src": "4599:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14696,
                      "name": "_dgxRewardsPoolLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14618,
                      "src": "4659:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4599:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14698,
                  "nodeType": "ExpressionStatement",
                  "src": "4599:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14704,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14699,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "4695:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14701,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14700,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14598,
                          "src": "4711:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4695:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14702,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "sumRewardsFromBeginning",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8440,
                      "src": "4695:55:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14703,
                      "name": "_sumRewardsFromBeginning",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14620,
                      "src": "4753:24:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4695:82:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14705,
                  "nodeType": "ExpressionStatement",
                  "src": "4695:82:57"
                }
              ]
            },
            "documentation": null,
            "id": 14707,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updateQuarterInfo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14621,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14598,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3010:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14597,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3010:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14600,
                  "name": "_minimalParticipationPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3042:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14599,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3042:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14602,
                  "name": "_quarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3086:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14601,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3086:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14604,
                  "name": "_reputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3130:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14603,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3130:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14606,
                  "name": "_totalEffectiveDGDPreviousQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3177:41:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14605,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3177:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14608,
                  "name": "_moderatorMinimalQuarterPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3229:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14607,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3229:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14610,
                  "name": "_moderatorQuarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3276:43:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14609,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3276:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14612,
                  "name": "_moderatorReputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3329:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14611,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3329:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14614,
                  "name": "_totalEffectiveModeratorDGDLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3385:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14613,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3385:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14616,
                  "name": "_dgxDistributionDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3442:27:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14615,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3442:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14618,
                  "name": "_dgxRewardsPoolLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3479:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14617,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3479:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14620,
                  "name": "_sumRewardsFromBeginning",
                  "nodeType": "VariableDeclaration",
                  "scope": 14707,
                  "src": "3523:32:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14619,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3523:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3000:561:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14622,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3581:0:57"
            },
            "scope": 15115,
            "src": "2974:1810:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14726,
              "nodeType": "Block",
              "src": "4878:114:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14716,
                            "name": "CONTRACT_DAO_REWARDS_MANAGER",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1367,
                            "src": "4906:28:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 14715,
                          "name": "sender_is",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18461,
                          "src": "4896:9:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 14717,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4896:39:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14714,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "4888:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14718,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4888:48:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14719,
                  "nodeType": "ExpressionStatement",
                  "src": "4888:48:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14724,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 14720,
                        "name": "claimableDGXs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14565,
                        "src": "4946:13:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 14722,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 14721,
                        "name": "_user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14709,
                        "src": "4960:5:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "4946:20:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14723,
                      "name": "_newClaimableDGX",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14711,
                      "src": "4969:16:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4946:39:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14725,
                  "nodeType": "ExpressionStatement",
                  "src": "4946:39:57"
                }
              ]
            },
            "documentation": null,
            "id": 14727,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updateClaimableDGX",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14712,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14709,
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 14727,
                  "src": "4818:13:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14708,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4818:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14711,
                  "name": "_newClaimableDGX",
                  "nodeType": "VariableDeclaration",
                  "scope": 14727,
                  "src": "4833:24:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14710,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4833:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4817:41:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14713,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4878:0:57"
            },
            "scope": 15115,
            "src": "4790:202:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14746,
              "nodeType": "Block",
              "src": "5093:118:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14736,
                            "name": "CONTRACT_DAO_STAKE_LOCKING",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1352,
                            "src": "5121:26:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 14735,
                          "name": "sender_is",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18461,
                          "src": "5111:9:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 14737,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5111:37:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14734,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "5103:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14738,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5103:46:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14739,
                  "nodeType": "ExpressionStatement",
                  "src": "5103:46:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14744,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 14740,
                        "name": "lastParticipatedQuarter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14571,
                        "src": "5159:23:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 14742,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 14741,
                        "name": "_user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14729,
                        "src": "5183:5:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5159:30:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14743,
                      "name": "_lastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14731,
                      "src": "5192:12:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5159:45:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14745,
                  "nodeType": "ExpressionStatement",
                  "src": "5159:45:57"
                }
              ]
            },
            "documentation": null,
            "id": 14747,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updateLastParticipatedQuarter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14732,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14729,
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 14747,
                  "src": "5037:13:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14728,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5037:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14731,
                  "name": "_lastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14747,
                  "src": "5052:20:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14730,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5052:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5036:37:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14733,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5093:0:57"
            },
            "scope": 15115,
            "src": "4998:213:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14766,
              "nodeType": "Block",
              "src": "5320:126:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14756,
                            "name": "CONTRACT_DAO_STAKE_LOCKING",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1352,
                            "src": "5348:26:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 14755,
                          "name": "sender_is",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18461,
                          "src": "5338:9:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 14757,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5338:37:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14754,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "5330:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14758,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5330:46:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14759,
                  "nodeType": "ExpressionStatement",
                  "src": "5330:46:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14764,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 14760,
                        "name": "previousLastParticipatedQuarter",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14575,
                        "src": "5386:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 14762,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 14761,
                        "name": "_user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14749,
                        "src": "5418:5:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5386:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14763,
                      "name": "_lastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14751,
                      "src": "5427:12:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5386:53:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14765,
                  "nodeType": "ExpressionStatement",
                  "src": "5386:53:57"
                }
              ]
            },
            "documentation": null,
            "id": 14767,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updatePreviousLastParticipatedQuarter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14752,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14749,
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 14767,
                  "src": "5264:13:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14748,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5264:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14751,
                  "name": "_lastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14767,
                  "src": "5279:20:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14750,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5279:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5263:37:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14753,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5320:0:57"
            },
            "scope": 15115,
            "src": "5217:229:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14789,
              "nodeType": "Block",
              "src": "5556:177:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 14776,
                                "name": "CONTRACT_DAO_REWARDS_MANAGER",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1367,
                                "src": "5590:28:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 14777,
                                "name": "CONTRACT_DAO_STAKE_LOCKING",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1352,
                                "src": "5620:26:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 14778,
                                "name": "EMPTY_BYTES",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1293,
                                "src": "5648:11:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "id": 14779,
                            "isConstant": false,
                            "isInlineArray": true,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "5589:71:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr",
                              "typeString": "bytes32[3] memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr",
                              "typeString": "bytes32[3] memory"
                            }
                          ],
                          "id": 14775,
                          "name": "sender_is_from",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18529,
                          "src": "5574:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (bytes32[3] memory) view returns (bool)"
                          }
                        },
                        "id": 14780,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5574:87:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14774,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "5566:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14781,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5566:96:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14782,
                  "nodeType": "ExpressionStatement",
                  "src": "5566:96:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14787,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 14783,
                        "name": "lastQuarterThatRewardsWasUpdated",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14579,
                        "src": "5672:32:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 14785,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 14784,
                        "name": "_user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14769,
                        "src": "5705:5:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5672:39:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14786,
                      "name": "_lastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14771,
                      "src": "5714:12:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5672:54:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14788,
                  "nodeType": "ExpressionStatement",
                  "src": "5672:54:57"
                }
              ]
            },
            "documentation": null,
            "id": 14790,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updateLastQuarterThatRewardsWasUpdated",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14772,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14769,
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 14790,
                  "src": "5500:13:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14768,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5500:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14771,
                  "name": "_lastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14790,
                  "src": "5515:20:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14770,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5515:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5499:37:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14773,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5556:0:57"
            },
            "scope": 15115,
            "src": "5452:281:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14812,
              "nodeType": "Block",
              "src": "5846:180:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "id": 14799,
                                "name": "CONTRACT_DAO_REWARDS_MANAGER",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1367,
                                "src": "5880:28:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 14800,
                                "name": "CONTRACT_DAO_STAKE_LOCKING",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1352,
                                "src": "5910:26:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 14801,
                                "name": "EMPTY_BYTES",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1293,
                                "src": "5938:11:57",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "id": 14802,
                            "isConstant": false,
                            "isInlineArray": true,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "5879:71:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr",
                              "typeString": "bytes32[3] memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr",
                              "typeString": "bytes32[3] memory"
                            }
                          ],
                          "id": 14798,
                          "name": "sender_is_from",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18529,
                          "src": "5864:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (bytes32[3] memory) view returns (bool)"
                          }
                        },
                        "id": 14803,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5864:87:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14797,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "5856:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14804,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5856:96:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14805,
                  "nodeType": "ExpressionStatement",
                  "src": "5856:96:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14810,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 14806,
                        "name": "lastQuarterThatReputationWasUpdated",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14583,
                        "src": "5962:35:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 14808,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 14807,
                        "name": "_user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 14792,
                        "src": "5998:5:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5962:42:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 14809,
                      "name": "_lastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14794,
                      "src": "6007:12:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5962:57:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14811,
                  "nodeType": "ExpressionStatement",
                  "src": "5962:57:57"
                }
              ]
            },
            "documentation": null,
            "id": 14813,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "updateLastQuarterThatReputationWasUpdated",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14795,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14792,
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 14813,
                  "src": "5790:13:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 14791,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5790:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14794,
                  "name": "_lastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14813,
                  "src": "5805:20:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14793,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5805:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5789:37:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14796,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5846:0:57"
            },
            "scope": 15115,
            "src": "5739:287:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14831,
              "nodeType": "Block",
              "src": "6102:127:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 14820,
                            "name": "CONTRACT_DAO_REWARDS_MANAGER",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1367,
                            "src": "6130:28:57",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 14819,
                          "name": "sender_is",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 18461,
                          "src": "6120:9:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32) view returns (bool)"
                          }
                        },
                        "id": 14821,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6120:39:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 14818,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        26185,
                        26186
                      ],
                      "referencedDeclaration": 26185,
                      "src": "6112:7:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 14822,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6112:48:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 14823,
                  "nodeType": "ExpressionStatement",
                  "src": "6112:48:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14829,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14824,
                      "name": "totalDGXsClaimed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14567,
                      "src": "6170:16:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 14827,
                          "name": "_dgxClaimed",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14815,
                          "src": "6210:11:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 14825,
                          "name": "totalDGXsClaimed",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14567,
                          "src": "6189:16:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 14826,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "add",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25610,
                        "src": "6189:20:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                          "typeString": "function (uint256,uint256) pure returns (uint256)"
                        }
                      },
                      "id": 14828,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6189:33:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6170:52:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14830,
                  "nodeType": "ExpressionStatement",
                  "src": "6170:52:57"
                }
              ]
            },
            "documentation": null,
            "id": 14832,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "addToTotalDgxClaimed",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14816,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14815,
                  "name": "_dgxClaimed",
                  "nodeType": "VariableDeclaration",
                  "scope": 14832,
                  "src": "6062:19:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14814,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6062:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6061:21:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14817,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6102:0:57"
            },
            "scope": 15115,
            "src": "6032:197:57",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14936,
              "nodeType": "Block",
              "src": "6910:1143:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14864,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14859,
                      "name": "_minimalParticipationPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14837,
                      "src": "6920:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14860,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "6949:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14862,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14861,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "6965:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6949:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14863,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "minimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8420,
                      "src": "6949:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6920:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14865,
                  "nodeType": "ExpressionStatement",
                  "src": "6920:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14871,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14866,
                      "name": "_quarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14839,
                      "src": "7016:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14867,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7045:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14869,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14868,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7061:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7045:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14870,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "quarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8422,
                      "src": "7045:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7016:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14872,
                  "nodeType": "ExpressionStatement",
                  "src": "7016:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14878,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14873,
                      "name": "_reputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14841,
                      "src": "7112:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14874,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7144:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14876,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14875,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7160:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7144:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14877,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "reputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8424,
                      "src": "7144:60:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7112:92:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14879,
                  "nodeType": "ExpressionStatement",
                  "src": "7112:92:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14885,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14880,
                      "name": "_totalEffectiveDGDPreviousQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14843,
                      "src": "7214:33:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14881,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7250:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14883,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14882,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7266:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7250:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14884,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveDGDPreviousQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8426,
                      "src": "7250:64:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7214:100:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14886,
                  "nodeType": "ExpressionStatement",
                  "src": "7214:100:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14892,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14887,
                      "name": "_moderatorMinimalQuarterPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14845,
                      "src": "7324:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14888,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7356:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14890,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14889,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7372:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7356:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14891,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorMinimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8428,
                      "src": "7356:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7324:98:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14893,
                  "nodeType": "ExpressionStatement",
                  "src": "7324:98:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14899,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14894,
                      "name": "_moderatorQuarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14847,
                      "src": "7432:35:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14895,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7470:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14897,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14896,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7486:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7470:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14898,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorQuarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8430,
                      "src": "7470:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7432:104:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14900,
                  "nodeType": "ExpressionStatement",
                  "src": "7432:104:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14906,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14901,
                      "name": "_moderatorReputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14849,
                      "src": "7546:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14902,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7587:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14904,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14903,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7603:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7587:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14905,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorReputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8432,
                      "src": "7587:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7546:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14907,
                  "nodeType": "ExpressionStatement",
                  "src": "7546:110:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14913,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14908,
                      "name": "_totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14851,
                      "src": "7666:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14909,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7707:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14911,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14910,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7723:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7707:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14912,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8434,
                      "src": "7707:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7666:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14914,
                  "nodeType": "ExpressionStatement",
                  "src": "7666:110:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14920,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14915,
                      "name": "_dgxDistributionDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14853,
                      "src": "7786:19:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14916,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7808:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14918,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14917,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7824:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7808:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14919,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxDistributionDay",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8436,
                      "src": "7808:50:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7786:72:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14921,
                  "nodeType": "ExpressionStatement",
                  "src": "7786:72:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14927,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14922,
                      "name": "_dgxRewardsPoolLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14855,
                      "src": "7868:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14923,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7897:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14925,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14924,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "7913:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7897:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14926,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxRewardsPoolLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8438,
                      "src": "7897:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7868:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14928,
                  "nodeType": "ExpressionStatement",
                  "src": "7868:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14934,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14929,
                      "name": "_sumRewardsFromBeginning",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14857,
                      "src": "7964:24:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14930,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "7991:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14932,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14931,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14834,
                          "src": "8007:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "7991:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14933,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sumRewardsFromBeginning",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8440,
                      "src": "7991:55:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7964:82:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14935,
                  "nodeType": "ExpressionStatement",
                  "src": "7964:82:57"
                }
              ]
            },
            "documentation": null,
            "id": 14937,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readQuarterInfo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14835,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14834,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6260:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14833,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6260:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6259:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14858,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14837,
                  "name": "_minimalParticipationPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6342:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14836,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6342:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14839,
                  "name": "_quarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6390:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14838,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6390:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14841,
                  "name": "_reputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6438:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14840,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6438:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14843,
                  "name": "_totalEffectiveDGDPreviousQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6489:41:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14842,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6489:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14845,
                  "name": "_moderatorMinimalQuarterPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6545:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14844,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6545:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14847,
                  "name": "_moderatorQuarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6596:43:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14846,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6596:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14849,
                  "name": "_moderatorReputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6653:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14848,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6653:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14851,
                  "name": "_totalEffectiveModeratorDGDLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6713:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14850,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6713:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14853,
                  "name": "_dgxDistributionDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6774:27:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14852,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6774:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14855,
                  "name": "_dgxRewardsPoolLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6815:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14854,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6815:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14857,
                  "name": "_sumRewardsFromBeginning",
                  "nodeType": "VariableDeclaration",
                  "scope": 14937,
                  "src": "6863:32:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14856,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6863:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6328:577:57"
            },
            "scope": 15115,
            "src": "6235:1818:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 14969,
              "nodeType": "Block",
              "src": "8309:277:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14953,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14948,
                      "name": "_dgxDistributionDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14942,
                      "src": "8319:19:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14949,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "8341:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14951,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14950,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14939,
                          "src": "8357:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8341:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14952,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxDistributionDay",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8436,
                      "src": "8341:50:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8319:72:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14954,
                  "nodeType": "ExpressionStatement",
                  "src": "8319:72:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14960,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14955,
                      "name": "_dgxRewardsPoolLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14944,
                      "src": "8401:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14956,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "8430:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14958,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14957,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14939,
                          "src": "8446:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8430:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14959,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxRewardsPoolLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8438,
                      "src": "8430:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8401:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14961,
                  "nodeType": "ExpressionStatement",
                  "src": "8401:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14967,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14962,
                      "name": "_sumRewardsFromBeginning",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14946,
                      "src": "8497:24:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14963,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "8524:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14965,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14964,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14939,
                          "src": "8540:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8524:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14966,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "sumRewardsFromBeginning",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8440,
                      "src": "8524:55:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8497:82:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14968,
                  "nodeType": "ExpressionStatement",
                  "src": "8497:82:57"
                }
              ]
            },
            "documentation": null,
            "id": 14970,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readQuarterGeneralInfo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14940,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14939,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 14970,
                  "src": "8091:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14938,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8091:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8090:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14947,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14942,
                  "name": "_dgxDistributionDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 14970,
                  "src": "8173:27:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14941,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8173:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14944,
                  "name": "_dgxRewardsPoolLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 14970,
                  "src": "8214:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14943,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8214:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14946,
                  "name": "_sumRewardsFromBeginning",
                  "nodeType": "VariableDeclaration",
                  "scope": 14970,
                  "src": "8262:32:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14945,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8262:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8159:145:57"
            },
            "scope": 15115,
            "src": "8059:527:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15011,
              "nodeType": "Block",
              "src": "8937:469:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14988,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14983,
                      "name": "_moderatorMinimalQuarterPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14975,
                      "src": "8947:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14984,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "8979:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14986,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14985,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14972,
                          "src": "8995:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8979:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14987,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorMinimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8428,
                      "src": "8979:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8947:98:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14989,
                  "nodeType": "ExpressionStatement",
                  "src": "8947:98:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 14995,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14990,
                      "name": "_moderatorQuarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14977,
                      "src": "9055:35:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14991,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9093:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 14993,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14992,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14972,
                          "src": "9109:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9093:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 14994,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorQuarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8430,
                      "src": "9093:66:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9055:104:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 14996,
                  "nodeType": "ExpressionStatement",
                  "src": "9055:104:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15002,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 14997,
                      "name": "_moderatorReputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14979,
                      "src": "9169:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 14998,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9210:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15000,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 14999,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14972,
                          "src": "9226:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9210:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15001,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "moderatorReputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8432,
                      "src": "9210:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9169:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15003,
                  "nodeType": "ExpressionStatement",
                  "src": "9169:110:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15009,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15004,
                      "name": "_totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 14981,
                      "src": "9289:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15005,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9330:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15007,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15006,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14972,
                          "src": "9346:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9330:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15008,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8434,
                      "src": "9330:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9289:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15010,
                  "nodeType": "ExpressionStatement",
                  "src": "9289:110:57"
                }
              ]
            },
            "documentation": null,
            "id": 15012,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readQuarterModeratorInfo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 14973,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14972,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15012,
                  "src": "8626:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14971,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8626:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8625:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 14982,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 14975,
                  "name": "_moderatorMinimalQuarterPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 15012,
                  "src": "8708:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14974,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8708:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14977,
                  "name": "_moderatorQuarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 15012,
                  "src": "8759:43:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14976,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8759:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14979,
                  "name": "_moderatorReputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 15012,
                  "src": "8816:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14978,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8816:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 14981,
                  "name": "_totalEffectiveModeratorDGDLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 15012,
                  "src": "8876:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 14980,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8876:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8694:238:57"
            },
            "scope": 15115,
            "src": "8592:814:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15053,
              "nodeType": "Block",
              "src": "9733:411:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15030,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15025,
                      "name": "_minimalParticipationPoint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15017,
                      "src": "9743:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15026,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9772:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15028,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15027,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15014,
                          "src": "9788:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9772:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15029,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "minimalParticipationPoint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8420,
                      "src": "9772:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9743:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15031,
                  "nodeType": "ExpressionStatement",
                  "src": "9743:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15037,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15032,
                      "name": "_quarterPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15019,
                      "src": "9839:26:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15033,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9868:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15035,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15034,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15014,
                          "src": "9884:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9868:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15036,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "quarterPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8422,
                      "src": "9868:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9839:86:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15038,
                  "nodeType": "ExpressionStatement",
                  "src": "9839:86:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15044,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15039,
                      "name": "_reputationPointScalingFactor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15021,
                      "src": "9935:29:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15040,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "9967:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15042,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15041,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15014,
                          "src": "9983:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "9967:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15043,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "reputationPointScalingFactor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8424,
                      "src": "9967:60:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9935:92:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15045,
                  "nodeType": "ExpressionStatement",
                  "src": "9935:92:57"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15051,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15046,
                      "name": "_totalEffectiveDGDPreviousQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15023,
                      "src": "10037:33:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15047,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "10073:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15049,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15048,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15014,
                          "src": "10089:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "10073:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15050,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveDGDPreviousQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8426,
                      "src": "10073:64:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10037:100:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15052,
                  "nodeType": "ExpressionStatement",
                  "src": "10037:100:57"
                }
              ]
            },
            "documentation": null,
            "id": 15054,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readQuarterParticipantInfo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15015,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15014,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15054,
                  "src": "9448:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15013,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9448:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9447:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 15024,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15017,
                  "name": "_minimalParticipationPoint",
                  "nodeType": "VariableDeclaration",
                  "scope": 15054,
                  "src": "9530:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15016,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9530:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15019,
                  "name": "_quarterPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 15054,
                  "src": "9578:34:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15018,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9578:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15021,
                  "name": "_reputationPointScalingFactor",
                  "nodeType": "VariableDeclaration",
                  "scope": 15054,
                  "src": "9626:37:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15020,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9626:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 15023,
                  "name": "_totalEffectiveDGDPreviousQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 15054,
                  "src": "9677:41:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15022,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9677:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9516:212:57"
            },
            "scope": 15115,
            "src": "9412:732:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15068,
              "nodeType": "Block",
              "src": "10281:86:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15066,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15061,
                      "name": "_distributionDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15059,
                      "src": "10291:16:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15062,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "10310:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15064,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15063,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15056,
                          "src": "10326:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "10310:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15065,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxDistributionDay",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8436,
                      "src": "10310:50:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10291:69:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15067,
                  "nodeType": "ExpressionStatement",
                  "src": "10291:69:57"
                }
              ]
            },
            "documentation": null,
            "id": 15069,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readDgxDistributionDay",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15057,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15056,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15069,
                  "src": "10182:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15055,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10182:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10181:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 15060,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15059,
                  "name": "_distributionDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 15069,
                  "src": "10251:24:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15058,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10251:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10250:26:57"
            },
            "scope": 15115,
            "src": "10150:217:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15083,
              "nodeType": "Block",
              "src": "10531:117:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15081,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15076,
                      "name": "_totalEffectiveDGDPreviousQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15074,
                      "src": "10541:33:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15077,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "10577:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15079,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15078,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15071,
                          "src": "10593:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "10577:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15080,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveDGDPreviousQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8426,
                      "src": "10577:64:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10541:100:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15082,
                  "nodeType": "ExpressionStatement",
                  "src": "10541:100:57"
                }
              ]
            },
            "documentation": null,
            "id": 15084,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readTotalEffectiveDGDLastQuarter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15072,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15071,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15084,
                  "src": "10415:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15070,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10415:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10414:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 15075,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15074,
                  "name": "_totalEffectiveDGDPreviousQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 15084,
                  "src": "10484:41:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15073,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10484:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10483:43:57"
            },
            "scope": 15115,
            "src": "10373:275:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15098,
              "nodeType": "Block",
              "src": "10826:127:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15096,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15091,
                      "name": "_totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15089,
                      "src": "10836:38:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15092,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "10877:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15094,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15093,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15086,
                          "src": "10893:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "10877:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15095,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "totalEffectiveModeratorDGDLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8434,
                      "src": "10877:69:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10836:110:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15097,
                  "nodeType": "ExpressionStatement",
                  "src": "10836:110:57"
                }
              ]
            },
            "documentation": null,
            "id": 15099,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readTotalEffectiveModeratorDGDLastQuarter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15087,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15086,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15099,
                  "src": "10705:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15085,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10705:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10704:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 15090,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15089,
                  "name": "_totalEffectiveModeratorDGDLastQuarter",
                  "nodeType": "VariableDeclaration",
                  "scope": 15099,
                  "src": "10774:46:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15088,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10774:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10773:48:57"
            },
            "scope": 15115,
            "src": "10654:299:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 15113,
              "nodeType": "Block",
              "src": "11092:89:57",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 15111,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 15106,
                      "name": "_rewardsPool",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 15104,
                      "src": "11102:12:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 15107,
                          "name": "allQuartersInfo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14561,
                          "src": "11117:15:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8441_storage_$",
                            "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)"
                          }
                        },
                        "id": 15109,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 15108,
                          "name": "_quarterNumber",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 15101,
                          "src": "11133:14:57",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "11117:31:57",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_DaoQuarterInfo_$8441_storage",
                          "typeString": "struct DaoStructs.DaoQuarterInfo storage ref"
                        }
                      },
                      "id": 15110,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "dgxRewardsPoolLastQuarter",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8438,
                      "src": "11117:57:57",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "11102:72:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 15112,
                  "nodeType": "ExpressionStatement",
                  "src": "11102:72:57"
                }
              ]
            },
            "documentation": null,
            "id": 15114,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "readRewardsPoolOfLastQuarter",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 15102,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15101,
                  "name": "_quarterNumber",
                  "nodeType": "VariableDeclaration",
                  "scope": 15114,
                  "src": "10997:22:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15100,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10997:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10996:24:57"
            },
            "payable": false,
            "returnParameters": {
              "id": 15105,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 15104,
                  "name": "_rewardsPool",
                  "nodeType": "VariableDeclaration",
                  "scope": 15114,
                  "src": "11066:20:57",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 15103,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "11066:7:57",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11065:22:57"
            },
            "scope": 15115,
            "src": "10959:222:57",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 15116,
        "src": "232:10951:57"
      }
    ],
    "src": "0:11184:57"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {
    "42": {
      "events": {},
      "links": {},
      "address": "0x361800c6a29a8086a9ef035a52812539af9e2b79",
      "transactionHash": "0xe8d8c5666f47b573f76f99f4d8a436f2f3bfc9fecadf246cc13491aba29a3576"
    }
  },
  "schemaVersion": "2.0.2",
  "updatedAt": "2020-03-16T08:53:12.910Z"
}