<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def extract_arguments(frame):
 """ Extracts the arguments from given frame. :param frame: Frame. :type frame: object :return: Arguments. :rtype: tuple """


    arguments = ([], None, None)
    try:
        source = textwrap.dedent("".join(inspect.getsourcelines(frame)[0]).replace("\\\n", ""))
    except (IOError, TypeError) as error:
        return arguments

    try:
        node = ast.parse(source)
    except:
        return arguments

    if not node.body:
        return arguments

    node = node.body[0]
    if not isinstance(node, ast.FunctionDef):
        return arguments

    return [arg.id for arg in node.args.args], node.args.vararg, node.args.kwarg