```\n    Checkpoint memory cp = checkpoints[tokenId][_endIndex];\n      uint _lastEpochStart = _bribeStart(cp.timestamp);\n        uint _lastEpochEnd = _lastEpochStart + DURATION;\n    if (block.timestamp > _lastEpochEnd) {\n            reward += (cp.balanceOf * \n         tokenRewardsPerEpoch[token][_lastEpochStart]) /\n           supplyCheckpoints[getPriorSupplyIndex(_lastEpochEnd)].supply;\n```\n