```\n   function _beforeTokenTransfer(address from, address to, uint256) internal virtual override {\n        // Restrictions ignored for minting and burning\n        // If transferRestrictor is not set, no restrictions are applied\n\n        // @audit\n        // why don't you not apply mint and burn in blacklist?\n        if (from == address(0) || to == address(0) || address(transferRestrictor) == address(0)) {\n            return;\n        }\n\n        // Check transfer restrictions\n        transferRestrictor.requireNotRestricted(from, to);\n    }\n```\n