def move(x, y, absolute=True, duration=<NUM_LIT:0>):
x = int(x)<EOL>y = int(y)<EOL>position_x, position_y = get_position()<EOL>if not absolute:<EOL><INDENT>x = position_x + x<EOL>y = position_y + y<EOL><DEDENT>if duration:<EOL><INDENT>start_x = position_x<EOL>start_y = position_y<EOL>dx = x - start_x<EOL>dy = y - start_y<EOL>if dx == <NUM_LIT:0> and dy == <NUM_LIT:0>:<EOL><INDENT>_time.sleep(duration)<EOL><DEDENT>else:<EOL><INDENT>steps = max(<NUM_LIT:1.0>, float(int(duration * <NUM_LIT>)))<EOL>for i in range(int(steps)+<NUM_LIT:1>):<EOL><INDENT>move(start_x + dx*i/steps, start_y + dy*i/steps)<EOL>_time.sleep(duration/steps)<EOL><DEDENT><DEDENT><DEDENT>else:<EOL><INDENT>_os_mouse.move_to(x, y)<EOL><DEDENT>
Moves the mouse. If `absolute`, to position (x, y), otherwise move relative
to the current position. If `duration` is non-zero, animates the movement.