```\nfunction changeMaintainer(\n bytes calldata password,\n bytes32 newPasswordHash,\n address newMaintainer\n)\n external\n virtual\n override\n onlyPortal\n whenNotPaused\n returns (bool success)\n{\n require(\n SELF.PASSWORD\_HASH == bytes32(0) ||\n SELF.PASSWORD\_HASH ==\n keccak256(abi.encodePacked(SELF.ID, password))\n );\n SELF.PASSWORD\_HASH = newPasswordHash;\n\n \_refreshSenate(newMaintainer);\n\n success = true;\n}\n```\n