<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def cherry_pick_cli( ctx, dry_run, pr_remote, abort, status, push, config_path, commit_sha1, branches ):
 """cherry-pick COMMIT_SHA1 into target BRANCHES."""


    click.echo("\U0001F40D \U0001F352 \u26CF")

    chosen_config_path, config = load_config(config_path)

    try:
        cherry_picker = CherryPicker(
            pr_remote,
            commit_sha1,
            branches,
            dry_run=dry_run,
            push=push,
            config=config,
            chosen_config_path=chosen_config_path,
        )
    except InvalidRepoException:
        click.echo(f"You're not inside a {config['repo']} repo right now! \U0001F645")
        sys.exit(-1)
    except ValueError as exc:
        ctx.fail(exc)

    if abort is not None:
        if abort:
            cherry_picker.abort_cherry_pick()
        else:
            cherry_picker.continue_cherry_pick()

    elif status:
        click.echo(cherry_picker.status())
    else:
        try:
            cherry_picker.backport()
        except BranchCheckoutException:
            sys.exit(-1)
        except CherryPickException:
            sys.exit(-1)