```\nfunction _validateSenderAndPaymaster(bytes calldata initCode, address sender, bytes calldata paymasterAndData) external view {\n    if (initCode.length == 0 && sender.code.length == 0) {\n        // it would revert anyway. but give a meaningful message\n        revert("AA20 account not deployed");\n    }\n    if (paymasterAndData.length >= 20) {\n        address paymaster = address(bytes20(paymasterAndData[0 : 20]));\n        if (paymaster.code.length == 0) {\n            // it would revert anyway. but give a meaningful message\n            revert("AA30 paymaster not deployed");\n        }\n    }\n    // always revert\n    revert("");\n}\n```\n