```\\nfunction _executeUserOp(uint256 opIndex, UserOperation calldata userOp, UserOpInfo memory opInfo) private returns (uint256 collected) {\\n    uint256 preGas = gasleft();\\n    bytes memory context = getMemoryBytesFromOffset(opInfo.contextOffset);\\n\\n    try this.innerHandleOp(userOp.callData, opInfo, context) returns (uint256 _actualGasCost) {\\n        collected = _actualGasCost;\\n    } catch {\\n        bytes32 innerRevertCode;\\n        assembly {\\n            returndatacopy(0, 0, 32)\\n            innerRevertCode := mload(0)\\n        }\\n        // handleOps was called with gas limit too low. abort entire bundle.\\n        if (innerRevertCode == INNER_OUT_OF_GAS) {\\n            //report paymaster, since if it is not deliberately caused by the bundler,\\n            // it must be a revert caused by paymaster.\\n            revert FailedOp(opIndex, "AA95 out of gas");\\n        }\\n\\n        uint256 actualGas = preGas - gasleft() + opInfo.preOpGas;\\n        collected = _handlePostOp(opIndex, IPaymaster.PostOpMode.postOpReverted, opInfo, context, actualGas);\\n    }\\n}\\n```\\n