```\nFile: contracts\OperatorTokenomics\SponsorshipPolicies\VoteKickPolicy.sol\n    function _endVote(address target) internal {\n        address flagger = flaggerAddress[target];\n        bool flaggerIsGone = stakedWei[flagger] == 0;\n        bool targetIsGone = stakedWei[target] == 0;\n        uint reviewerCount = reviewers[target].length;\n        // release stake locks before vote resolution so that slashings and kickings during resolution aren't affected\n        // if either the flagger or the target has forceUnstaked or been kicked, the lockedStakeWei was moved to forfeitedStakeWei\n        if (flaggerIsGone) {\n            forfeitedStakeWei -= flagStakeWei[target];\n        } else {\n            lockedStakeWei[flagger] -= flagStakeWei[target];\n        }\n        if (targetIsGone) {\n            forfeitedStakeWei -= targetStakeAtRiskWei[target];\n        } else {\n            lockedStakeWei[target] -= targetStakeAtRiskWei[target]; //@audit revert after forceUnstake() => stake() again\n        }\n```\n