# This script was generated by crazy-complete.
# crazy-complete: A tool that creates robust and reliable autocompletion scripts for Bash, Fish and Zsh.
# For more information, visit: https://github.com/crazy-complete/crazy-complete

_fpm_compgen_w_replacement() {
  local cur word append=0

  [[ "$1" == "-a" ]] && { shift; append=1; }
  [[ "$1" == "--" ]] && { shift; }

  cur="$1"
  shift

  (( append )) || COMPREPLY=()

  for word; do
    if [[ "$word" == "$cur"* ]]; then
      COMPREPLY+=("$(printf '%q' "$word")")
    fi
  done
}

_fpm_prefix_compreply() {
  local i=0 prefix="$1"
  for ((i=0; i < ${#COMPREPLY[@]}; ++i)); do
    COMPREPLY[i]="$prefix${COMPREPLY[i]}"
  done
}

_fpm_parse_commandline() {
  POSITIONALS=()
  END_OF_OPTIONS=0
  POSITIONAL_NUM=0

  local cmd="${words[0]}" argi arg i char trailing_chars

  for ((argi=1; argi < ${#words[@]} - 1; ++argi)); do
    arg="${words[argi]}"

    case "$arg" in
      --)
        END_OF_OPTIONS=1
        for ((++argi; argi < ${#words[@]}; ++argi)); do
          POSITIONALS[POSITIONAL_NUM++]="${words[argi]}"
        done
        break;;
      -)
        POSITIONALS[POSITIONAL_NUM++]="-";;
      -*)
        case "$cmd" in fpm)
          case "$arg" in
            --output-type)
              OPT_output_type+=("${words[++argi]}")
              continue;;
            --output-type=*)
              OPT_output_type+=("${arg#*=}")
              continue;;
            --input-type)
              OPT_input_type+=("${words[++argi]}")
              continue;;
            --input-type=*)
              OPT_input_type+=("${arg#*=}")
              continue;;
            --chdir)
              OPT_chdir+=("${words[++argi]}")
              continue;;
            --chdir=*)
              OPT_chdir+=("${arg#*=}")
              continue;;
            --prefix)
              OPT_prefix+=("${words[++argi]}")
              continue;;
            --prefix=*)
              OPT_prefix+=("${arg#*=}")
              continue;;
            --package)
              OPT_package+=("${words[++argi]}")
              continue;;
            --package=*)
              OPT_package+=("${arg#*=}")
              continue;;
            --force)
              OPT_force+=(_OPT_ISSET_)
              continue;;
            --name)
              OPT_name+=("${words[++argi]}")
              continue;;
            --name=*)
              OPT_name+=("${arg#*=}")
              continue;;
            --log)
              OPT_log+=("${words[++argi]}")
              continue;;
            --log=*)
              OPT_log+=("${arg#*=}")
              continue;;
            --verbose)
              OPT_verbose+=(_OPT_ISSET_)
              continue;;
            --debug)
              OPT_debug+=(_OPT_ISSET_)
              continue;;
            --debug-workspace)
              OPT_debug_workspace+=(_OPT_ISSET_)
              continue;;
            --version)
              OPT_version+=("${words[++argi]}")
              continue;;
            --version=*)
              OPT_version+=("${arg#*=}")
              continue;;
            --iteration)
              OPT_iteration+=("${words[++argi]}")
              continue;;
            --iteration=*)
              OPT_iteration+=("${arg#*=}")
              continue;;
            --epoch)
              OPT_epoch+=("${words[++argi]}")
              continue;;
            --epoch=*)
              OPT_epoch+=("${arg#*=}")
              continue;;
            --license)
              OPT_license+=("${words[++argi]}")
              continue;;
            --license=*)
              OPT_license+=("${arg#*=}")
              continue;;
            --vendor)
              OPT_vendor+=("${words[++argi]}")
              continue;;
            --vendor=*)
              OPT_vendor+=("${arg#*=}")
              continue;;
            --category)
              OPT_category+=("${words[++argi]}")
              continue;;
            --category=*)
              OPT_category+=("${arg#*=}")
              continue;;
            --depends)
              OPT_depends+=("${words[++argi]}")
              continue;;
            --depends=*)
              OPT_depends+=("${arg#*=}")
              continue;;
            --no-depends)
              OPT_no_depends+=(_OPT_ISSET_)
              continue;;
            --no-auto-depends)
              OPT_no_auto_depends+=(_OPT_ISSET_)
              continue;;
            --provides)
              OPT_provides+=("${words[++argi]}")
              continue;;
            --provides=*)
              OPT_provides+=("${arg#*=}")
              continue;;
            --conflicts)
              OPT_conflicts+=("${words[++argi]}")
              continue;;
            --conflicts=*)
              OPT_conflicts+=("${arg#*=}")
              continue;;
            --replaces)
              OPT_replaces+=("${words[++argi]}")
              continue;;
            --replaces=*)
              OPT_replaces+=("${arg#*=}")
              continue;;
            --config-files)
              OPT_config_files+=("${words[++argi]}")
              continue;;
            --config-files=*)
              OPT_config_files+=("${arg#*=}")
              continue;;
            --directories)
              OPT_directories+=("${words[++argi]}")
              continue;;
            --directories=*)
              OPT_directories+=("${arg#*=}")
              continue;;
            --architecture)
              OPT_architecture+=("${words[++argi]}")
              continue;;
            --architecture=*)
              OPT_architecture+=("${arg#*=}")
              continue;;
            --maintainer)
              OPT_maintainer+=("${words[++argi]}")
              continue;;
            --maintainer=*)
              OPT_maintainer+=("${arg#*=}")
              continue;;
            --package-name-suffix)
              OPT_package_name_suffix+=("${words[++argi]}")
              continue;;
            --package-name-suffix=*)
              OPT_package_name_suffix+=("${arg#*=}")
              continue;;
            --edit)
              OPT_edit+=(_OPT_ISSET_)
              continue;;
            --exclude)
              OPT_exclude+=("${words[++argi]}")
              continue;;
            --exclude=*)
              OPT_exclude+=("${arg#*=}")
              continue;;
            --exclude-file)
              OPT_exclude_file+=("${words[++argi]}")
              continue;;
            --exclude-file=*)
              OPT_exclude_file+=("${arg#*=}")
              continue;;
            --description)
              OPT_description+=("${words[++argi]}")
              continue;;
            --description=*)
              OPT_description+=("${arg#*=}")
              continue;;
            --url)
              OPT_url+=("${words[++argi]}")
              continue;;
            --url=*)
              OPT_url+=("${arg#*=}")
              continue;;
            --inputs)
              OPT_inputs+=("${words[++argi]}")
              continue;;
            --inputs=*)
              OPT_inputs+=("${arg#*=}")
              continue;;
            --post-install)
              OPT_post_install+=("${words[++argi]}")
              continue;;
            --post-install=*)
              OPT_post_install+=("${arg#*=}")
              continue;;
            --pre-install)
              OPT_pre_install+=("${words[++argi]}")
              continue;;
            --pre-install=*)
              OPT_pre_install+=("${arg#*=}")
              continue;;
            --post-uninstall)
              OPT_post_uninstall+=("${words[++argi]}")
              continue;;
            --post-uninstall=*)
              OPT_post_uninstall+=("${arg#*=}")
              continue;;
            --pre-uninstall)
              OPT_pre_uninstall+=("${words[++argi]}")
              continue;;
            --pre-uninstall=*)
              OPT_pre_uninstall+=("${arg#*=}")
              continue;;
            --after-install)
              OPT_after_install+=("${words[++argi]}")
              continue;;
            --after-install=*)
              OPT_after_install+=("${arg#*=}")
              continue;;
            --before-install)
              OPT_before_install+=("${words[++argi]}")
              continue;;
            --before-install=*)
              OPT_before_install+=("${arg#*=}")
              continue;;
            --after-remove)
              OPT_after_remove+=("${words[++argi]}")
              continue;;
            --after-remove=*)
              OPT_after_remove+=("${arg#*=}")
              continue;;
            --before-remove)
              OPT_before_remove+=("${words[++argi]}")
              continue;;
            --before-remove=*)
              OPT_before_remove+=("${arg#*=}")
              continue;;
            --after-upgrade)
              OPT_after_upgrade+=("${words[++argi]}")
              continue;;
            --after-upgrade=*)
              OPT_after_upgrade+=("${arg#*=}")
              continue;;
            --before-upgrade)
              OPT_before_upgrade+=("${words[++argi]}")
              continue;;
            --before-upgrade=*)
              OPT_before_upgrade+=("${arg#*=}")
              continue;;
            --template-scripts)
              OPT_template_scripts+=(_OPT_ISSET_)
              continue;;
            --template-value)
              OPT_template_value+=("${words[++argi]}")
              continue;;
            --template-value=*)
              OPT_template_value+=("${arg#*=}")
              continue;;
            --workdir)
              OPT_workdir+=("${words[++argi]}")
              continue;;
            --workdir=*)
              OPT_workdir+=("${arg#*=}")
              continue;;
            --source-date-epoch-from-changelog)
              OPT_source_date_epoch_from_changelog+=(_OPT_ISSET_)
              continue;;
            --source-date-epoch-default)
              OPT_source_date_epoch_default+=("${words[++argi]}")
              continue;;
            --source-date-epoch-default=*)
              OPT_source_date_epoch_default+=("${arg#*=}")
              continue;;
            --fpm-options-file)
              OPT_fpm_options_file+=("${words[++argi]}")
              continue;;
            --fpm-options-file=*)
              OPT_fpm_options_file+=("${arg#*=}")
              continue;;
            --gem-bin-path)
              OPT_gem_bin_path+=("${words[++argi]}")
              continue;;
            --gem-bin-path=*)
              OPT_gem_bin_path+=("${arg#*=}")
              continue;;
            --gem-package-prefix)
              OPT_gem_package_prefix+=("${words[++argi]}")
              continue;;
            --gem-package-prefix=*)
              OPT_gem_package_prefix+=("${arg#*=}")
              continue;;
            --gem-package-name-prefix)
              OPT_gem_package_name_prefix+=("${words[++argi]}")
              continue;;
            --gem-package-name-prefix=*)
              OPT_gem_package_name_prefix+=("${arg#*=}")
              continue;;
            --gem-gem)
              OPT_gem_gem+=("${words[++argi]}")
              continue;;
            --gem-gem=*)
              OPT_gem_gem+=("${arg#*=}")
              continue;;
            --gem-shebang)
              OPT_gem_shebang+=("${words[++argi]}")
              continue;;
            --gem-shebang=*)
              OPT_gem_shebang+=("${arg#*=}")
              continue;;
            --gem-fix-name)
              OPT_gem_fix_name+=(_OPT_ISSET_)
              continue;;
            --no-gem-fix-name)
              OPT_no_gem_fix_name+=(_OPT_ISSET_)
              continue;;
            --gem-fix-dependencies)
              OPT_gem_fix_dependencies+=(_OPT_ISSET_)
              continue;;
            --no-gem-fix-dependencies)
              OPT_no_gem_fix_dependencies+=(_OPT_ISSET_)
              continue;;
            --gem-env-shebang)
              OPT_gem_env_shebang+=(_OPT_ISSET_)
              continue;;
            --no-gem-env-shebang)
              OPT_no_gem_env_shebang+=(_OPT_ISSET_)
              continue;;
            --gem-prerelease)
              OPT_gem_prerelease+=(_OPT_ISSET_)
              continue;;
            --no-gem-prerelease)
              OPT_no_gem_prerelease+=(_OPT_ISSET_)
              continue;;
            --gem-disable-dependency)
              OPT_gem_disable_dependency+=("${words[++argi]}")
              continue;;
            --gem-disable-dependency=*)
              OPT_gem_disable_dependency+=("${arg#*=}")
              continue;;
            --gem-embed-dependencies)
              OPT_gem_embed_dependencies+=(_OPT_ISSET_)
              continue;;
            --no-gem-embed-dependencies)
              OPT_no_gem_embed_dependencies+=(_OPT_ISSET_)
              continue;;
            --gem-version-bins)
              OPT_gem_version_bins+=(_OPT_ISSET_)
              continue;;
            --no-gem-version-bins)
              OPT_no_gem_version_bins+=(_OPT_ISSET_)
              continue;;
            --gem-stagingdir)
              OPT_gem_stagingdir+=("${words[++argi]}")
              continue;;
            --gem-stagingdir=*)
              OPT_gem_stagingdir+=("${arg#*=}")
              continue;;
            --gem-git-repo)
              OPT_gem_git_repo+=("${words[++argi]}")
              continue;;
            --gem-git-repo=*)
              OPT_gem_git_repo+=("${arg#*=}")
              continue;;
            --gem-git-branch)
              OPT_gem_git_branch+=("${words[++argi]}")
              continue;;
            --gem-git-branch=*)
              OPT_gem_git_branch+=("${arg#*=}")
              continue;;
            --cpan-perl-bin)
              OPT_cpan_perl_bin+=("${words[++argi]}")
              continue;;
            --cpan-perl-bin=*)
              OPT_cpan_perl_bin+=("${arg#*=}")
              continue;;
            --cpan-cpanm-bin)
              OPT_cpan_cpanm_bin+=("${words[++argi]}")
              continue;;
            --cpan-cpanm-bin=*)
              OPT_cpan_cpanm_bin+=("${arg#*=}")
              continue;;
            --cpan-mirror)
              OPT_cpan_mirror+=("${words[++argi]}")
              continue;;
            --cpan-mirror=*)
              OPT_cpan_mirror+=("${arg#*=}")
              continue;;
            --cpan-mirror-only)
              OPT_cpan_mirror_only+=(_OPT_ISSET_)
              continue;;
            --no-cpan-mirror-only)
              OPT_no_cpan_mirror_only+=(_OPT_ISSET_)
              continue;;
            --cpan-package-name-prefix)
              OPT_cpan_package_name_prefix+=("${words[++argi]}")
              continue;;
            --cpan-package-name-prefix=*)
              OPT_cpan_package_name_prefix+=("${arg#*=}")
              continue;;
            --cpan-test)
              OPT_cpan_test+=(_OPT_ISSET_)
              continue;;
            --no-cpan-test)
              OPT_no_cpan_test+=(_OPT_ISSET_)
              continue;;
            --cpan-verbose)
              OPT_cpan_verbose+=(_OPT_ISSET_)
              continue;;
            --no-cpan-verbose)
              OPT_no_cpan_verbose+=(_OPT_ISSET_)
              continue;;
            --cpan-perl-lib-path)
              OPT_cpan_perl_lib_path+=("${words[++argi]}")
              continue;;
            --cpan-perl-lib-path=*)
              OPT_cpan_perl_lib_path+=("${arg#*=}")
              continue;;
            --cpan-sandbox-non-core)
              OPT_cpan_sandbox_non_core+=(_OPT_ISSET_)
              continue;;
            --no-cpan-sandbox-non-core)
              OPT_no_cpan_sandbox_non_core+=(_OPT_ISSET_)
              continue;;
            --cpan-cpanm-force)
              OPT_cpan_cpanm_force+=(_OPT_ISSET_)
              continue;;
            --no-cpan-cpanm-force)
              OPT_no_cpan_cpanm_force+=(_OPT_ISSET_)
              continue;;
            --deb-ignore-iteration-in-dependencies)
              OPT_deb_ignore_iteration_in_dependencies+=(_OPT_ISSET_)
              continue;;
            --no-deb-ignore-iteration-in-dependencies)
              OPT_no_deb_ignore_iteration_in_dependencies+=(_OPT_ISSET_)
              continue;;
            --deb-build-depends)
              OPT_deb_build_depends+=("${words[++argi]}")
              continue;;
            --deb-build-depends=*)
              OPT_deb_build_depends+=("${arg#*=}")
              continue;;
            --deb-pre-depends)
              OPT_deb_pre_depends+=("${words[++argi]}")
              continue;;
            --deb-pre-depends=*)
              OPT_deb_pre_depends+=("${arg#*=}")
              continue;;
            --deb-compression)
              OPT_deb_compression+=("${words[++argi]}")
              continue;;
            --deb-compression=*)
              OPT_deb_compression+=("${arg#*=}")
              continue;;
            --deb-dist)
              OPT_deb_dist+=("${words[++argi]}")
              continue;;
            --deb-dist=*)
              OPT_deb_dist+=("${arg#*=}")
              continue;;
            --deb-custom-control)
              OPT_deb_custom_control+=("${words[++argi]}")
              continue;;
            --deb-custom-control=*)
              OPT_deb_custom_control+=("${arg#*=}")
              continue;;
            --deb-config)
              OPT_deb_config+=("${words[++argi]}")
              continue;;
            --deb-config=*)
              OPT_deb_config+=("${arg#*=}")
              continue;;
            --deb-templates)
              OPT_deb_templates+=("${words[++argi]}")
              continue;;
            --deb-templates=*)
              OPT_deb_templates+=("${arg#*=}")
              continue;;
            --deb-installed-size)
              OPT_deb_installed_size+=("${words[++argi]}")
              continue;;
            --deb-installed-size=*)
              OPT_deb_installed_size+=("${arg#*=}")
              continue;;
            --deb-priority)
              OPT_deb_priority+=("${words[++argi]}")
              continue;;
            --deb-priority=*)
              OPT_deb_priority+=("${arg#*=}")
              continue;;
            --deb-use-file-permissions)
              OPT_deb_use_file_permissions+=(_OPT_ISSET_)
              continue;;
            --no-deb-use-file-permissions)
              OPT_no_deb_use_file_permissions+=(_OPT_ISSET_)
              continue;;
            --deb-user)
              OPT_deb_user+=("${words[++argi]}")
              continue;;
            --deb-user=*)
              OPT_deb_user+=("${arg#*=}")
              continue;;
            --deb-group)
              OPT_deb_group+=("${words[++argi]}")
              continue;;
            --deb-group=*)
              OPT_deb_group+=("${arg#*=}")
              continue;;
            --deb-changelog)
              OPT_deb_changelog+=("${words[++argi]}")
              continue;;
            --deb-changelog=*)
              OPT_deb_changelog+=("${arg#*=}")
              continue;;
            --deb-generate-changes)
              OPT_deb_generate_changes+=(_OPT_ISSET_)
              continue;;
            --no-deb-generate-changes)
              OPT_no_deb_generate_changes+=(_OPT_ISSET_)
              continue;;
            --deb-upstream-changelog)
              OPT_deb_upstream_changelog+=("${words[++argi]}")
              continue;;
            --deb-upstream-changelog=*)
              OPT_deb_upstream_changelog+=("${arg#*=}")
              continue;;
            --deb-recommends)
              OPT_deb_recommends+=("${words[++argi]}")
              continue;;
            --deb-recommends=*)
              OPT_deb_recommends+=("${arg#*=}")
              continue;;
            --deb-suggests)
              OPT_deb_suggests+=("${words[++argi]}")
              continue;;
            --deb-suggests=*)
              OPT_deb_suggests+=("${arg#*=}")
              continue;;
            --deb-meta-file)
              OPT_deb_meta_file+=("${words[++argi]}")
              continue;;
            --deb-meta-file=*)
              OPT_deb_meta_file+=("${arg#*=}")
              continue;;
            --deb-interest)
              OPT_deb_interest+=("${words[++argi]}")
              continue;;
            --deb-interest=*)
              OPT_deb_interest+=("${arg#*=}")
              continue;;
            --deb-activate)
              OPT_deb_activate+=("${words[++argi]}")
              continue;;
            --deb-activate=*)
              OPT_deb_activate+=("${arg#*=}")
              continue;;
            --deb-interest-noawait)
              OPT_deb_interest_noawait+=("${words[++argi]}")
              continue;;
            --deb-interest-noawait=*)
              OPT_deb_interest_noawait+=("${arg#*=}")
              continue;;
            --deb-activate-noawait)
              OPT_deb_activate_noawait+=("${words[++argi]}")
              continue;;
            --deb-activate-noawait=*)
              OPT_deb_activate_noawait+=("${arg#*=}")
              continue;;
            --deb-field)
              OPT_deb_field+=("${words[++argi]}")
              continue;;
            --deb-field=*)
              OPT_deb_field+=("${arg#*=}")
              continue;;
            --deb-no-default-config-files)
              OPT_deb_no_default_config_files+=(_OPT_ISSET_)
              continue;;
            --no-deb-no-default-config-files)
              OPT_no_deb_no_default_config_files+=(_OPT_ISSET_)
              continue;;
            --deb-auto-config-files)
              OPT_deb_auto_config_files+=(_OPT_ISSET_)
              continue;;
            --no-deb-auto-config-files)
              OPT_no_deb_auto_config_files+=(_OPT_ISSET_)
              continue;;
            --deb-shlibs)
              OPT_deb_shlibs+=("${words[++argi]}")
              continue;;
            --deb-shlibs=*)
              OPT_deb_shlibs+=("${arg#*=}")
              continue;;
            --deb-init)
              OPT_deb_init+=("${words[++argi]}")
              continue;;
            --deb-init=*)
              OPT_deb_init+=("${arg#*=}")
              continue;;
            --deb-default)
              OPT_deb_default+=("${words[++argi]}")
              continue;;
            --deb-default=*)
              OPT_deb_default+=("${arg#*=}")
              continue;;
            --deb-upstart)
              OPT_deb_upstart+=("${words[++argi]}")
              continue;;
            --deb-upstart=*)
              OPT_deb_upstart+=("${arg#*=}")
              continue;;
            --deb-systemd)
              OPT_deb_systemd+=("${words[++argi]}")
              continue;;
            --deb-systemd=*)
              OPT_deb_systemd+=("${arg#*=}")
              continue;;
            --deb-systemd-enable)
              OPT_deb_systemd_enable+=(_OPT_ISSET_)
              continue;;
            --no-deb-systemd-enable)
              OPT_no_deb_systemd_enable+=(_OPT_ISSET_)
              continue;;
            --deb-systemd-auto-start)
              OPT_deb_systemd_auto_start+=(_OPT_ISSET_)
              continue;;
            --no-deb-systemd-auto-start)
              OPT_no_deb_systemd_auto_start+=(_OPT_ISSET_)
              continue;;
            --deb-systemd-restart-after-upgrade)
              OPT_deb_systemd_restart_after_upgrade+=(_OPT_ISSET_)
              continue;;
            --no-deb-systemd-restart-after-upgrade)
              OPT_no_deb_systemd_restart_after_upgrade+=(_OPT_ISSET_)
              continue;;
            --deb-after-purge)
              OPT_deb_after_purge+=("${words[++argi]}")
              continue;;
            --deb-after-purge=*)
              OPT_deb_after_purge+=("${arg#*=}")
              continue;;
            --deb-maintainerscripts-force-errorchecks)
              OPT_deb_maintainerscripts_force_errorchecks+=(_OPT_ISSET_)
              continue;;
            --no-deb-maintainerscripts-force-errorchecks)
              OPT_no_deb_maintainerscripts_force_errorchecks+=(_OPT_ISSET_)
              continue;;
            --npm-bin)
              OPT_npm_bin+=("${words[++argi]}")
              continue;;
            --npm-bin=*)
              OPT_npm_bin+=("${arg#*=}")
              continue;;
            --npm-package-name-prefix)
              OPT_npm_package_name_prefix+=("${words[++argi]}")
              continue;;
            --npm-package-name-prefix=*)
              OPT_npm_package_name_prefix+=("${arg#*=}")
              continue;;
            --npm-registry)
              OPT_npm_registry+=("${words[++argi]}")
              continue;;
            --npm-registry=*)
              OPT_npm_registry+=("${arg#*=}")
              continue;;
            --rpm-use-file-permissions)
              OPT_rpm_use_file_permissions+=(_OPT_ISSET_)
              continue;;
            --no-rpm-use-file-permissions)
              OPT_no_rpm_use_file_permissions+=(_OPT_ISSET_)
              continue;;
            --rpm-user)
              OPT_rpm_user+=("${words[++argi]}")
              continue;;
            --rpm-user=*)
              OPT_rpm_user+=("${arg#*=}")
              continue;;
            --rpm-group)
              OPT_rpm_group+=("${words[++argi]}")
              continue;;
            --rpm-group=*)
              OPT_rpm_group+=("${arg#*=}")
              continue;;
            --rpm-defattrfile)
              OPT_rpm_defattrfile+=("${words[++argi]}")
              continue;;
            --rpm-defattrfile=*)
              OPT_rpm_defattrfile+=("${arg#*=}")
              continue;;
            --rpm-defattrdir)
              OPT_rpm_defattrdir+=("${words[++argi]}")
              continue;;
            --rpm-defattrdir=*)
              OPT_rpm_defattrdir+=("${arg#*=}")
              continue;;
            --rpm-rpmbuild-define)
              OPT_rpm_rpmbuild_define+=("${words[++argi]}")
              continue;;
            --rpm-rpmbuild-define=*)
              OPT_rpm_rpmbuild_define+=("${arg#*=}")
              continue;;
            --rpm-dist)
              OPT_rpm_dist+=("${words[++argi]}")
              continue;;
            --rpm-dist=*)
              OPT_rpm_dist+=("${arg#*=}")
              continue;;
            --rpm-digest)
              OPT_rpm_digest+=("${words[++argi]}")
              continue;;
            --rpm-digest=*)
              OPT_rpm_digest+=("${arg#*=}")
              continue;;
            --rpm-compression-level)
              OPT_rpm_compression_level+=("${words[++argi]}")
              continue;;
            --rpm-compression-level=*)
              OPT_rpm_compression_level+=("${arg#*=}")
              continue;;
            --rpm-compression)
              OPT_rpm_compression+=("${words[++argi]}")
              continue;;
            --rpm-compression=*)
              OPT_rpm_compression+=("${arg#*=}")
              continue;;
            --rpm-os)
              OPT_rpm_os+=("${words[++argi]}")
              continue;;
            --rpm-os=*)
              OPT_rpm_os+=("${arg#*=}")
              continue;;
            --rpm-changelog)
              OPT_rpm_changelog+=("${words[++argi]}")
              continue;;
            --rpm-changelog=*)
              OPT_rpm_changelog+=("${arg#*=}")
              continue;;
            --rpm-summary)
              OPT_rpm_summary+=("${words[++argi]}")
              continue;;
            --rpm-summary=*)
              OPT_rpm_summary+=("${arg#*=}")
              continue;;
            --rpm-sign)
              OPT_rpm_sign+=(_OPT_ISSET_)
              continue;;
            --no-rpm-sign)
              OPT_no_rpm_sign+=(_OPT_ISSET_)
              continue;;
            --rpm-auto-add-directories)
              OPT_rpm_auto_add_directories+=(_OPT_ISSET_)
              continue;;
            --no-rpm-auto-add-directories)
              OPT_no_rpm_auto_add_directories+=(_OPT_ISSET_)
              continue;;
            --rpm-auto-add-exclude-directories)
              OPT_rpm_auto_add_exclude_directories+=("${words[++argi]}")
              continue;;
            --rpm-auto-add-exclude-directories=*)
              OPT_rpm_auto_add_exclude_directories+=("${arg#*=}")
              continue;;
            --rpm-autoreqprov)
              OPT_rpm_autoreqprov+=(_OPT_ISSET_)
              continue;;
            --no-rpm-autoreqprov)
              OPT_no_rpm_autoreqprov+=(_OPT_ISSET_)
              continue;;
            --rpm-autoreq)
              OPT_rpm_autoreq+=(_OPT_ISSET_)
              continue;;
            --no-rpm-autoreq)
              OPT_no_rpm_autoreq+=(_OPT_ISSET_)
              continue;;
            --rpm-autoprov)
              OPT_rpm_autoprov+=(_OPT_ISSET_)
              continue;;
            --no-rpm-autoprov)
              OPT_no_rpm_autoprov+=(_OPT_ISSET_)
              continue;;
            --rpm-attr)
              OPT_rpm_attr+=("${words[++argi]}")
              continue;;
            --rpm-attr=*)
              OPT_rpm_attr+=("${arg#*=}")
              continue;;
            --rpm-init)
              OPT_rpm_init+=("${words[++argi]}")
              continue;;
            --rpm-init=*)
              OPT_rpm_init+=("${arg#*=}")
              continue;;
            --rpm-filter-from-provides)
              OPT_rpm_filter_from_provides+=("${words[++argi]}")
              continue;;
            --rpm-filter-from-provides=*)
              OPT_rpm_filter_from_provides+=("${arg#*=}")
              continue;;
            --rpm-filter-from-requires)
              OPT_rpm_filter_from_requires+=("${words[++argi]}")
              continue;;
            --rpm-filter-from-requires=*)
              OPT_rpm_filter_from_requires+=("${arg#*=}")
              continue;;
            --rpm-tag)
              OPT_rpm_tag+=("${words[++argi]}")
              continue;;
            --rpm-tag=*)
              OPT_rpm_tag+=("${arg#*=}")
              continue;;
            --rpm-ignore-iteration-in-dependencies)
              OPT_rpm_ignore_iteration_in_dependencies+=(_OPT_ISSET_)
              continue;;
            --no-rpm-ignore-iteration-in-dependencies)
              OPT_no_rpm_ignore_iteration_in_dependencies+=(_OPT_ISSET_)
              continue;;
            --rpm-verbatim-gem-dependencies)
              OPT_rpm_verbatim_gem_dependencies+=(_OPT_ISSET_)
              continue;;
            --no-rpm-verbatim-gem-dependencies)
              OPT_no_rpm_verbatim_gem_dependencies+=(_OPT_ISSET_)
              continue;;
            --rpm-macro-expansion)
              OPT_rpm_macro_expansion+=(_OPT_ISSET_)
              continue;;
            --no-rpm-macro-expansion)
              OPT_no_rpm_macro_expansion+=(_OPT_ISSET_)
              continue;;
            --rpm-verifyscript)
              OPT_rpm_verifyscript+=("${words[++argi]}")
              continue;;
            --rpm-verifyscript=*)
              OPT_rpm_verifyscript+=("${arg#*=}")
              continue;;
            --rpm-pretrans)
              OPT_rpm_pretrans+=("${words[++argi]}")
              continue;;
            --rpm-pretrans=*)
              OPT_rpm_pretrans+=("${arg#*=}")
              continue;;
            --rpm-posttrans)
              OPT_rpm_posttrans+=("${words[++argi]}")
              continue;;
            --rpm-posttrans=*)
              OPT_rpm_posttrans+=("${arg#*=}")
              continue;;
            --rpm-trigger-before-install)
              OPT_rpm_trigger_before_install+=("${words[++argi]}")
              continue;;
            --rpm-trigger-before-install=*)
              OPT_rpm_trigger_before_install+=("${arg#*=}")
              continue;;
            --rpm-trigger-after-install)
              OPT_rpm_trigger_after_install+=("${words[++argi]}")
              continue;;
            --rpm-trigger-after-install=*)
              OPT_rpm_trigger_after_install+=("${arg#*=}")
              continue;;
            --rpm-trigger-before-uninstall)
              OPT_rpm_trigger_before_uninstall+=("${words[++argi]}")
              continue;;
            --rpm-trigger-before-uninstall=*)
              OPT_rpm_trigger_before_uninstall+=("${arg#*=}")
              continue;;
            --rpm-trigger-after-target-uninstall)
              OPT_rpm_trigger_after_target_uninstall+=("${words[++argi]}")
              continue;;
            --rpm-trigger-after-target-uninstall=*)
              OPT_rpm_trigger_after_target_uninstall+=("${arg#*=}")
              continue;;
            --pear-package-name-prefix)
              OPT_pear_package_name_prefix+=("${words[++argi]}")
              continue;;
            --pear-package-name-prefix=*)
              OPT_pear_package_name_prefix+=("${arg#*=}")
              continue;;
            --pear-channel)
              OPT_pear_channel+=("${words[++argi]}")
              continue;;
            --pear-channel=*)
              OPT_pear_channel+=("${arg#*=}")
              continue;;
            --pear-channel-update)
              OPT_pear_channel_update+=(_OPT_ISSET_)
              continue;;
            --no-pear-channel-update)
              OPT_no_pear_channel_update+=(_OPT_ISSET_)
              continue;;
            --pear-bin-dir)
              OPT_pear_bin_dir+=("${words[++argi]}")
              continue;;
            --pear-bin-dir=*)
              OPT_pear_bin_dir+=("${arg#*=}")
              continue;;
            --pear-php-bin)
              OPT_pear_php_bin+=("${words[++argi]}")
              continue;;
            --pear-php-bin=*)
              OPT_pear_php_bin+=("${arg#*=}")
              continue;;
            --pear-php-dir)
              OPT_pear_php_dir+=("${words[++argi]}")
              continue;;
            --pear-php-dir=*)
              OPT_pear_php_dir+=("${arg#*=}")
              continue;;
            --pear-data-dir)
              OPT_pear_data_dir+=("${words[++argi]}")
              continue;;
            --pear-data-dir=*)
              OPT_pear_data_dir+=("${arg#*=}")
              continue;;
            --python-bin)
              OPT_python_bin+=("${words[++argi]}")
              continue;;
            --python-bin=*)
              OPT_python_bin+=("${arg#*=}")
              continue;;
            --python-easyinstall)
              OPT_python_easyinstall+=("${words[++argi]}")
              continue;;
            --python-easyinstall=*)
              OPT_python_easyinstall+=("${arg#*=}")
              continue;;
            --python-pip)
              OPT_python_pip+=("${words[++argi]}")
              continue;;
            --python-pip=*)
              OPT_python_pip+=("${arg#*=}")
              continue;;
            --python-pypi)
              OPT_python_pypi+=("${words[++argi]}")
              continue;;
            --python-pypi=*)
              OPT_python_pypi+=("${arg#*=}")
              continue;;
            --python-trusted-host)
              OPT_python_trusted_host+=("${words[++argi]}")
              continue;;
            --python-trusted-host=*)
              OPT_python_trusted_host+=("${arg#*=}")
              continue;;
            --python-package-prefix)
              OPT_python_package_prefix+=("${words[++argi]}")
              continue;;
            --python-package-prefix=*)
              OPT_python_package_prefix+=("${arg#*=}")
              continue;;
            --python-package-name-prefix)
              OPT_python_package_name_prefix+=("${words[++argi]}")
              continue;;
            --python-package-name-prefix=*)
              OPT_python_package_name_prefix+=("${arg#*=}")
              continue;;
            --python-fix-name)
              OPT_python_fix_name+=(_OPT_ISSET_)
              continue;;
            --no-python-fix-name)
              OPT_no_python_fix_name+=(_OPT_ISSET_)
              continue;;
            --python-fix-dependencies)
              OPT_python_fix_dependencies+=(_OPT_ISSET_)
              continue;;
            --no-python-fix-dependencies)
              OPT_no_python_fix_dependencies+=(_OPT_ISSET_)
              continue;;
            --python-downcase-name)
              OPT_python_downcase_name+=(_OPT_ISSET_)
              continue;;
            --no-python-downcase-name)
              OPT_no_python_downcase_name+=(_OPT_ISSET_)
              continue;;
            --python-downcase-dependencies)
              OPT_python_downcase_dependencies+=(_OPT_ISSET_)
              continue;;
            --no-python-downcase-dependencies)
              OPT_no_python_downcase_dependencies+=(_OPT_ISSET_)
              continue;;
            --python-install-bin)
              OPT_python_install_bin+=("${words[++argi]}")
              continue;;
            --python-install-bin=*)
              OPT_python_install_bin+=("${arg#*=}")
              continue;;
            --python-install-lib)
              OPT_python_install_lib+=("${words[++argi]}")
              continue;;
            --python-install-lib=*)
              OPT_python_install_lib+=("${arg#*=}")
              continue;;
            --python-install-data)
              OPT_python_install_data+=("${words[++argi]}")
              continue;;
            --python-install-data=*)
              OPT_python_install_data+=("${arg#*=}")
              continue;;
            --python-dependencies)
              OPT_python_dependencies+=(_OPT_ISSET_)
              continue;;
            --no-python-dependencies)
              OPT_no_python_dependencies+=(_OPT_ISSET_)
              continue;;
            --python-obey-requirements-txt)
              OPT_python_obey_requirements_txt+=(_OPT_ISSET_)
              continue;;
            --no-python-obey-requirements-txt)
              OPT_no_python_obey_requirements_txt+=(_OPT_ISSET_)
              continue;;
            --python-scripts-executable)
              OPT_python_scripts_executable+=("${words[++argi]}")
              continue;;
            --python-scripts-executable=*)
              OPT_python_scripts_executable+=("${arg#*=}")
              continue;;
            --python-disable-dependency)
              OPT_python_disable_dependency+=("${words[++argi]}")
              continue;;
            --python-disable-dependency=*)
              OPT_python_disable_dependency+=("${arg#*=}")
              continue;;
            --python-setup-py-arguments)
              OPT_python_setup_py_arguments+=("${words[++argi]}")
              continue;;
            --python-setup-py-arguments=*)
              OPT_python_setup_py_arguments+=("${arg#*=}")
              continue;;
            --python-internal-pip)
              OPT_python_internal_pip+=(_OPT_ISSET_)
              continue;;
            --no-python-internal-pip)
              OPT_no_python_internal_pip+=(_OPT_ISSET_)
              continue;;
            --osxpkg-identifier-prefix)
              OPT_osxpkg_identifier_prefix+=("${words[++argi]}")
              continue;;
            --osxpkg-identifier-prefix=*)
              OPT_osxpkg_identifier_prefix+=("${arg#*=}")
              continue;;
            --osxpkg-payload-free)
              OPT_osxpkg_payload_free+=(_OPT_ISSET_)
              continue;;
            --no-osxpkg-payload-free)
              OPT_no_osxpkg_payload_free+=(_OPT_ISSET_)
              continue;;
            --osxpkg-ownership)
              OPT_osxpkg_ownership+=("${words[++argi]}")
              continue;;
            --osxpkg-ownership=*)
              OPT_osxpkg_ownership+=("${arg#*=}")
              continue;;
            --osxpkg-postinstall-action)
              OPT_osxpkg_postinstall_action+=("${words[++argi]}")
              continue;;
            --osxpkg-postinstall-action=*)
              OPT_osxpkg_postinstall_action+=("${arg#*=}")
              continue;;
            --osxpkg-dont-obsolete)
              OPT_osxpkg_dont_obsolete+=("${words[++argi]}")
              continue;;
            --osxpkg-dont-obsolete=*)
              OPT_osxpkg_dont_obsolete+=("${arg#*=}")
              continue;;
            --solaris-user)
              OPT_solaris_user+=("${words[++argi]}")
              continue;;
            --solaris-user=*)
              OPT_solaris_user+=("${arg#*=}")
              continue;;
            --solaris-group)
              OPT_solaris_group+=("${words[++argi]}")
              continue;;
            --solaris-group=*)
              OPT_solaris_group+=("${arg#*=}")
              continue;;
            --p5p-user)
              OPT_p5p_user+=("${words[++argi]}")
              continue;;
            --p5p-user=*)
              OPT_p5p_user+=("${arg#*=}")
              continue;;
            --p5p-group)
              OPT_p5p_group+=("${words[++argi]}")
              continue;;
            --p5p-group=*)
              OPT_p5p_group+=("${arg#*=}")
              continue;;
            --p5p-zonetype)
              OPT_p5p_zonetype+=("${words[++argi]}")
              continue;;
            --p5p-zonetype=*)
              OPT_p5p_zonetype+=("${arg#*=}")
              continue;;
            --p5p-publisher)
              OPT_p5p_publisher+=("${words[++argi]}")
              continue;;
            --p5p-publisher=*)
              OPT_p5p_publisher+=("${arg#*=}")
              continue;;
            --p5p-lint)
              OPT_p5p_lint+=(_OPT_ISSET_)
              continue;;
            --no-p5p-lint)
              OPT_no_p5p_lint+=(_OPT_ISSET_)
              continue;;
            --p5p-validate)
              OPT_p5p_validate+=(_OPT_ISSET_)
              continue;;
            --no-p5p-validate)
              OPT_no_p5p_validate+=(_OPT_ISSET_)
              continue;;
            --freebsd-origin)
              OPT_freebsd_origin+=("${words[++argi]}")
              continue;;
            --freebsd-origin=*)
              OPT_freebsd_origin+=("${arg#*=}")
              continue;;
            --snap-yaml)
              OPT_snap_yaml+=("${words[++argi]}")
              continue;;
            --snap-yaml=*)
              OPT_snap_yaml+=("${arg#*=}")
              continue;;
            --snap-confinement)
              OPT_snap_confinement+=("${words[++argi]}")
              continue;;
            --snap-confinement=*)
              OPT_snap_confinement+=("${arg#*=}")
              continue;;
            --snap-grade)
              OPT_snap_grade+=("${words[++argi]}")
              continue;;
            --snap-grade=*)
              OPT_snap_grade+=("${arg#*=}")
              continue;;
            --pacman-optional-depends)
              OPT_pacman_optional_depends+=("${words[++argi]}")
              continue;;
            --pacman-optional-depends=*)
              OPT_pacman_optional_depends+=("${arg#*=}")
              continue;;
            --pacman-use-file-permissions)
              OPT_pacman_use_file_permissions+=(_OPT_ISSET_)
              continue;;
            --no-pacman-use-file-permissions)
              OPT_no_pacman_use_file_permissions+=(_OPT_ISSET_)
              continue;;
            --pacman-user)
              OPT_pacman_user+=("${words[++argi]}")
              continue;;
            --pacman-user=*)
              OPT_pacman_user+=("${arg#*=}")
              continue;;
            --pacman-group)
              OPT_pacman_group+=("${words[++argi]}")
              continue;;
            --pacman-group=*)
              OPT_pacman_group+=("${arg#*=}")
              continue;;
            --pacman-compression)
              OPT_pacman_compression+=("${words[++argi]}")
              continue;;
            --pacman-compression=*)
              OPT_pacman_compression+=("${arg#*=}")
              continue;;
            --pleaserun-name)
              OPT_pleaserun_name+=("${words[++argi]}")
              continue;;
            --pleaserun-name=*)
              OPT_pleaserun_name+=("${arg#*=}")
              continue;;
            --pleaserun-chdir)
              OPT_pleaserun_chdir+=("${words[++argi]}")
              continue;;
            --pleaserun-chdir=*)
              OPT_pleaserun_chdir+=("${arg#*=}")
              continue;;
            --pleaserun-user)
              OPT_pleaserun_user+=("${words[++argi]}")
              continue;;
            --pleaserun-user=*)
              OPT_pleaserun_user+=("${arg#*=}")
              continue;;
            --virtualenv-pypi)
              OPT_virtualenv_pypi+=("${words[++argi]}")
              continue;;
            --virtualenv-pypi=*)
              OPT_virtualenv_pypi+=("${arg#*=}")
              continue;;
            --virtualenv-package-name-prefix)
              OPT_virtualenv_package_name_prefix+=("${words[++argi]}")
              continue;;
            --virtualenv-package-name-prefix=*)
              OPT_virtualenv_package_name_prefix+=("${arg#*=}")
              continue;;
            --virtualenv-install-location)
              OPT_virtualenv_install_location+=("${words[++argi]}")
              continue;;
            --virtualenv-install-location=*)
              OPT_virtualenv_install_location+=("${arg#*=}")
              continue;;
            --virtualenv-fix-name)
              OPT_virtualenv_fix_name+=(_OPT_ISSET_)
              continue;;
            --no-virtualenv-fix-name)
              OPT_no_virtualenv_fix_name+=(_OPT_ISSET_)
              continue;;
            --virtualenv-other-files-dir)
              OPT_virtualenv_other_files_dir+=("${words[++argi]}")
              continue;;
            --virtualenv-other-files-dir=*)
              OPT_virtualenv_other_files_dir+=("${arg#*=}")
              continue;;
            --virtualenv-pypi-extra-url)
              OPT_virtualenv_pypi_extra_url+=("${words[++argi]}")
              continue;;
            --virtualenv-pypi-extra-url=*)
              OPT_virtualenv_pypi_extra_url+=("${arg#*=}")
              continue;;
            --virtualenv-setup-install)
              OPT_virtualenv_setup_install+=(_OPT_ISSET_)
              continue;;
            --no-virtualenv-setup-install)
              OPT_no_virtualenv_setup_install+=(_OPT_ISSET_)
              continue;;
            --virtualenv-system-site-packages)
              OPT_virtualenv_system_site_packages+=(_OPT_ISSET_)
              continue;;
            --no-virtualenv-system-site-packages)
              OPT_no_virtualenv_system_site_packages+=(_OPT_ISSET_)
              continue;;
            --virtualenv-find-links)
              OPT_virtualenv_find_links+=("${words[++argi]}")
              continue;;
            --virtualenv-find-links=*)
              OPT_virtualenv_find_links+=("${arg#*=}")
              continue;;
          esac
        esac
        for ((i=1; i < ${#arg}; ++i)); do
          char="${arg:$i:1}"
          trailing_chars="${arg:$((i + 1))}"
          case "$cmd" in fpm)
            case "$char" in
              t)
                if [[ -n "$trailing_chars" ]]
                then OPT_output_type+=("$trailing_chars")
                else OPT_output_type+=("${words[++argi]}")
                fi
                continue 2;;
              s)
                if [[ -n "$trailing_chars" ]]
                then OPT_input_type+=("$trailing_chars")
                else OPT_input_type+=("${words[++argi]}")
                fi
                continue 2;;
              C)
                if [[ -n "$trailing_chars" ]]
                then OPT_chdir+=("$trailing_chars")
                else OPT_chdir+=("${words[++argi]}")
                fi
                continue 2;;
              p)
                if [[ -n "$trailing_chars" ]]
                then OPT_package+=("$trailing_chars")
                else OPT_package+=("${words[++argi]}")
                fi
                continue 2;;
              f)
                OPT_force+=(_OPT_ISSET_);;
              n)
                if [[ -n "$trailing_chars" ]]
                then OPT_name+=("$trailing_chars")
                else OPT_name+=("${words[++argi]}")
                fi
                continue 2;;
              v)
                if [[ -n "$trailing_chars" ]]
                then OPT_version+=("$trailing_chars")
                else OPT_version+=("${words[++argi]}")
                fi
                continue 2;;
              d)
                if [[ -n "$trailing_chars" ]]
                then OPT_depends+=("$trailing_chars")
                else OPT_depends+=("${words[++argi]}")
                fi
                continue 2;;
              a)
                if [[ -n "$trailing_chars" ]]
                then OPT_architecture+=("$trailing_chars")
                else OPT_architecture+=("${words[++argi]}")
                fi
                continue 2;;
              m)
                if [[ -n "$trailing_chars" ]]
                then OPT_maintainer+=("$trailing_chars")
                else OPT_maintainer+=("${words[++argi]}")
                fi
                continue 2;;
              S)
                if [[ -n "$trailing_chars" ]]
                then OPT_package_name_suffix+=("$trailing_chars")
                else OPT_package_name_suffix+=("${words[++argi]}")
                fi
                continue 2;;
              e)
                OPT_edit+=(_OPT_ISSET_);;
              x)
                if [[ -n "$trailing_chars" ]]
                then OPT_exclude+=("$trailing_chars")
                else OPT_exclude+=("${words[++argi]}")
                fi
                continue 2;;
            esac
          esac
        done;;
      *)
        POSITIONALS[POSITIONAL_NUM++]="$arg"
        ;;
    esac
  done

  for ((; argi < ${#words[@]}; ++argi)); do
    arg="${words[$argi]}"

    case "$arg" in
      -) POSITIONALS[POSITIONAL_NUM++]="$arg";;
      -*);;
      *) POSITIONALS[POSITIONAL_NUM++]="$arg";;
    esac
  done
}

_fpm() {
  local cur prev words cword split
  _init_completion -n = || return

  local END_OF_OPTIONS POSITIONALS POSITIONAL_NUM
  local -a OPT_output_type OPT_input_type OPT_chdir OPT_prefix OPT_package OPT_force OPT_name OPT_log OPT_verbose OPT_debug OPT_debug_workspace OPT_version OPT_iteration OPT_epoch OPT_license OPT_vendor OPT_category OPT_depends OPT_no_depends OPT_no_auto_depends OPT_provides OPT_conflicts OPT_replaces OPT_config_files OPT_directories OPT_architecture OPT_maintainer OPT_package_name_suffix OPT_edit OPT_exclude OPT_exclude_file OPT_description OPT_url OPT_inputs OPT_post_install OPT_pre_install OPT_post_uninstall OPT_pre_uninstall OPT_after_install OPT_before_install OPT_after_remove OPT_before_remove OPT_after_upgrade OPT_before_upgrade OPT_template_scripts OPT_template_value OPT_workdir OPT_source_date_epoch_from_changelog OPT_source_date_epoch_default OPT_fpm_options_file OPT_gem_bin_path OPT_gem_package_prefix OPT_gem_package_name_prefix OPT_gem_gem OPT_gem_shebang OPT_gem_fix_name OPT_no_gem_fix_name OPT_gem_fix_dependencies OPT_no_gem_fix_dependencies OPT_gem_env_shebang OPT_no_gem_env_shebang OPT_gem_prerelease OPT_no_gem_prerelease OPT_gem_disable_dependency OPT_gem_embed_dependencies OPT_no_gem_embed_dependencies OPT_gem_version_bins OPT_no_gem_version_bins OPT_gem_stagingdir OPT_gem_git_repo OPT_gem_git_branch OPT_cpan_perl_bin OPT_cpan_cpanm_bin OPT_cpan_mirror OPT_cpan_mirror_only OPT_no_cpan_mirror_only OPT_cpan_package_name_prefix OPT_cpan_test OPT_no_cpan_test OPT_cpan_verbose OPT_no_cpan_verbose OPT_cpan_perl_lib_path OPT_cpan_sandbox_non_core OPT_no_cpan_sandbox_non_core OPT_cpan_cpanm_force OPT_no_cpan_cpanm_force OPT_deb_ignore_iteration_in_dependencies OPT_no_deb_ignore_iteration_in_dependencies OPT_deb_build_depends OPT_deb_pre_depends OPT_deb_compression OPT_deb_dist OPT_deb_custom_control OPT_deb_config OPT_deb_templates OPT_deb_installed_size OPT_deb_priority OPT_deb_use_file_permissions OPT_no_deb_use_file_permissions OPT_deb_user OPT_deb_group OPT_deb_changelog OPT_deb_generate_changes OPT_no_deb_generate_changes OPT_deb_upstream_changelog OPT_deb_recommends OPT_deb_suggests OPT_deb_meta_file OPT_deb_interest OPT_deb_activate OPT_deb_interest_noawait OPT_deb_activate_noawait OPT_deb_field OPT_deb_no_default_config_files OPT_no_deb_no_default_config_files OPT_deb_auto_config_files OPT_no_deb_auto_config_files OPT_deb_shlibs OPT_deb_init OPT_deb_default OPT_deb_upstart OPT_deb_systemd OPT_deb_systemd_enable OPT_no_deb_systemd_enable OPT_deb_systemd_auto_start OPT_no_deb_systemd_auto_start OPT_deb_systemd_restart_after_upgrade OPT_no_deb_systemd_restart_after_upgrade OPT_deb_after_purge OPT_deb_maintainerscripts_force_errorchecks OPT_no_deb_maintainerscripts_force_errorchecks OPT_npm_bin OPT_npm_package_name_prefix OPT_npm_registry OPT_rpm_use_file_permissions OPT_no_rpm_use_file_permissions OPT_rpm_user OPT_rpm_group OPT_rpm_defattrfile OPT_rpm_defattrdir OPT_rpm_rpmbuild_define OPT_rpm_dist OPT_rpm_digest OPT_rpm_compression_level OPT_rpm_compression OPT_rpm_os OPT_rpm_changelog OPT_rpm_summary OPT_rpm_sign OPT_no_rpm_sign OPT_rpm_auto_add_directories OPT_no_rpm_auto_add_directories OPT_rpm_auto_add_exclude_directories OPT_rpm_autoreqprov OPT_no_rpm_autoreqprov OPT_rpm_autoreq OPT_no_rpm_autoreq OPT_rpm_autoprov OPT_no_rpm_autoprov OPT_rpm_attr OPT_rpm_init OPT_rpm_filter_from_provides OPT_rpm_filter_from_requires OPT_rpm_tag OPT_rpm_ignore_iteration_in_dependencies OPT_no_rpm_ignore_iteration_in_dependencies OPT_rpm_verbatim_gem_dependencies OPT_no_rpm_verbatim_gem_dependencies OPT_rpm_macro_expansion OPT_no_rpm_macro_expansion OPT_rpm_verifyscript OPT_rpm_pretrans OPT_rpm_posttrans OPT_rpm_trigger_before_install OPT_rpm_trigger_after_install OPT_rpm_trigger_before_uninstall OPT_rpm_trigger_after_target_uninstall OPT_pear_package_name_prefix OPT_pear_channel OPT_pear_channel_update OPT_no_pear_channel_update OPT_pear_bin_dir OPT_pear_php_bin OPT_pear_php_dir OPT_pear_data_dir OPT_python_bin OPT_python_easyinstall OPT_python_pip OPT_python_pypi OPT_python_trusted_host OPT_python_package_prefix OPT_python_package_name_prefix OPT_python_fix_name OPT_no_python_fix_name OPT_python_fix_dependencies OPT_no_python_fix_dependencies OPT_python_downcase_name OPT_no_python_downcase_name OPT_python_downcase_dependencies OPT_no_python_downcase_dependencies OPT_python_install_bin OPT_python_install_lib OPT_python_install_data OPT_python_dependencies OPT_no_python_dependencies OPT_python_obey_requirements_txt OPT_no_python_obey_requirements_txt OPT_python_scripts_executable OPT_python_disable_dependency OPT_python_setup_py_arguments OPT_python_internal_pip OPT_no_python_internal_pip OPT_osxpkg_identifier_prefix OPT_osxpkg_payload_free OPT_no_osxpkg_payload_free OPT_osxpkg_ownership OPT_osxpkg_postinstall_action OPT_osxpkg_dont_obsolete OPT_solaris_user OPT_solaris_group OPT_p5p_user OPT_p5p_group OPT_p5p_zonetype OPT_p5p_publisher OPT_p5p_lint OPT_no_p5p_lint OPT_p5p_validate OPT_no_p5p_validate OPT_freebsd_origin OPT_snap_yaml OPT_snap_confinement OPT_snap_grade OPT_pacman_optional_depends OPT_pacman_use_file_permissions OPT_no_pacman_use_file_permissions OPT_pacman_user OPT_pacman_group OPT_pacman_compression OPT_pleaserun_name OPT_pleaserun_chdir OPT_pleaserun_user OPT_virtualenv_pypi OPT_virtualenv_package_name_prefix OPT_virtualenv_install_location OPT_virtualenv_fix_name OPT_no_virtualenv_fix_name OPT_virtualenv_other_files_dir OPT_virtualenv_pypi_extra_url OPT_virtualenv_setup_install OPT_no_virtualenv_setup_install OPT_virtualenv_system_site_packages OPT_no_virtualenv_system_site_packages OPT_virtualenv_find_links

  _fpm_parse_commandline

  __complete_option() {
    local opt="$1" cur="$2" mode="$3"

    case "$opt" in
      --output-type|-t|--input-type|-s)
        _fpm_compgen_w_replacement -- "$cur" apk cpan deb dir empty freebsd gem npm osxpkg p5p pacman pear pkgin pleaserun puppet python rpm sh snap solaris tar virtualenv zip
        return 0;;
      --chdir|-C|--workdir)
        _filedir -d
        return 0;;
      --prefix|--package|-p|--name|-n|--version|-v|--iteration|--epoch|--license|--vendor|--category|--depends|-d|--provides|--conflicts|--replaces|--config-files|--directories|--architecture|-a|--maintainer|-m|--package-name-suffix|-S|--exclude|-x|--description|--url|--template-value|--source-date-epoch-default)
        return 0;;
      --log)
        _fpm_compgen_w_replacement -- "$cur" error warn info debug
        return 0;;
      --exclude-file|--inputs|--post-install|--pre-install|--post-uninstall|--pre-uninstall|--after-install|--before-install|--after-remove|--before-remove|--after-upgrade|--before-upgrade|--fpm-options-file)
        _filedir
        return 0;;
    esac

    case "$opt" in --gem-bin-path)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --gem-package-prefix)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --gem-package-name-prefix)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --gem-gem)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --gem-shebang)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --gem-disable-dependency)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --gem-stagingdir)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --gem-git-repo)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --gem-git-branch)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --cpan-perl-bin)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; }; then
        COMPREPLY=($(compgen -A command -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --cpan-cpanm-bin)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; }; then
        COMPREPLY=($(compgen -A command -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --cpan-mirror)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --cpan-package-name-prefix)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --cpan-perl-lib-path)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-build-depends)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-pre-depends)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-compression)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _fpm_compgen_w_replacement -- "$cur" gz bzip2 xz none
        return 0
      fi;;
    esac

    case "$opt" in --deb-dist)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-custom-control)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --deb-config)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --deb-templates)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --deb-installed-size)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-priority)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-user)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        COMPREPLY=($(compgen -A user -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --deb-group)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        COMPREPLY=($(compgen -A group -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --deb-changelog)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --deb-upstream-changelog)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --deb-recommends)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-suggests)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-meta-file)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --deb-interest)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-activate)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-interest-noawait)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-activate-noawait)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-field)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-shlibs)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --deb-init)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --deb-default)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --deb-upstart)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --deb-systemd)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --deb-after-purge)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --npm-bin)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == npm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == npm ]]; }; }; then
        COMPREPLY=($(compgen -A command -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --npm-package-name-prefix)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == npm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == npm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --npm-registry)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == npm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == npm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-user)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        COMPREPLY=($(compgen -A user -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --rpm-group)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        COMPREPLY=($(compgen -A group -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --rpm-defattrfile)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-defattrdir)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-rpmbuild-define)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-dist)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-digest)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        _fpm_compgen_w_replacement -- "$cur" md5 sha1 sha256 sha384 sha512
        return 0
      fi;;
    esac

    case "$opt" in --rpm-compression-level)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        COMPREPLY=($(compgen -W '{0..9}' -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --rpm-compression)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        _fpm_compgen_w_replacement -- "$cur" none xz xzmt gzip bzip2
        return 0
      fi;;
    esac

    case "$opt" in --rpm-os)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-changelog)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --rpm-summary)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-auto-add-exclude-directories)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-attr)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-init)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --rpm-filter-from-provides)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-filter-from-requires)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-tag)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-verifyscript)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --rpm-pretrans)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --rpm-posttrans)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --rpm-trigger-before-install)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-trigger-after-install)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-trigger-before-uninstall)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --rpm-trigger-after-target-uninstall)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --pear-package-name-prefix)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --pear-channel)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --pear-bin-dir)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --pear-php-bin)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --pear-php-dir)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --pear-data-dir)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --python-bin)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        COMPREPLY=($(compgen -A command -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --python-easyinstall)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        COMPREPLY=($(compgen -A command -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --python-pip)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        COMPREPLY=($(compgen -A command -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --python-pypi)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --python-trusted-host)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --python-package-prefix)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --python-package-name-prefix)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --python-install-bin)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --python-install-lib)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --python-install-data)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --python-scripts-executable)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        COMPREPLY=($(compgen -A command -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --python-disable-dependency)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --python-setup-py-arguments)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --osxpkg-identifier-prefix)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == osxpkg ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == osxpkg ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --osxpkg-ownership)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == osxpkg ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == osxpkg ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --osxpkg-postinstall-action)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == osxpkg ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == osxpkg ]]; }; }; then
        _fpm_compgen_w_replacement -- "$cur" logout restart shutdown
        return 0
      fi;;
    esac

    case "$opt" in --osxpkg-dont-obsolete)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == osxpkg ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == osxpkg ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --solaris-user)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == solaris ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == solaris ]]; }; }; then
        COMPREPLY=($(compgen -A user -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --solaris-group)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == solaris ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == solaris ]]; }; }; then
        COMPREPLY=($(compgen -A group -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --p5p-user)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --p5p-group)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --p5p-zonetype)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --p5p-publisher)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --freebsd-origin)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == freebsd ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == freebsd ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --snap-yaml)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == snap ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == snap ]]; }; }; then
        _filedir
        return 0
      fi;;
    esac

    case "$opt" in --snap-confinement)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == snap ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == snap ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --snap-grade)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == snap ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == snap ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --pacman-optional-depends)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pacman ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pacman ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --pacman-user)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pacman ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pacman ]]; }; }; then
        COMPREPLY=($(compgen -A user -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --pacman-group)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pacman ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pacman ]]; }; }; then
        COMPREPLY=($(compgen -A group -- "$cur"))
        return 0
      fi;;
    esac

    case "$opt" in --pacman-compression)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pacman ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pacman ]]; }; }; then
        _fpm_compgen_w_replacement -- "$cur" gz bzip2 xz zstd none
        return 0
      fi;;
    esac

    case "$opt" in --pleaserun-name)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pleaserun ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pleaserun ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --pleaserun-chdir)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pleaserun ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pleaserun ]]; }; }; then
        _filedir -d
        return 0
      fi;;
    esac

    case "$opt" in --pleaserun-user)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pleaserun ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pleaserun ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --virtualenv-pypi)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --virtualenv-package-name-prefix)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --virtualenv-install-location)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --virtualenv-other-files-dir)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --virtualenv-pypi-extra-url)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; }; then
        return 0
      fi;;
    esac

    case "$opt" in --virtualenv-find-links)
      if { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; }; then
        return 0
      fi;;
    esac

    return 1
  }

  case "$prev" in
    --*)
      __complete_option "$prev" "$cur" WITHOUT_OPTIONALS && return 0;;
    -*)
      case "$prev" in -*([fe])[tsCpnvdamSx])
        __complete_option "-${prev: -1}" "$cur" WITHOUT_OPTIONALS && return 0
      esac;;
  esac

  case "$cur" in
    --*=*)
      __complete_option "${cur%%=*}" "${cur#*=}" WITH_OPTIONALS && return 0;;
    -*=*);;
    --*);;
    -*)
        local i
        for ((i=2; i <= ${#cur}; ++i)); do
          local pre="${cur:0:$i}" value="${cur:$i}"
          __complete_option "-${pre: -1}" "$value" WITH_OPTIONALS && {
            _fpm_prefix_compreply "$pre"
            return 0
          }
        done;;
  esac

  if (( ! END_OF_OPTIONS )) && [[ "$cur" = -* ]]; then
    local -a opts=()
    (( ! ${#OPT_output_type} )) && opts+=(-t --output-type=)
    (( ! ${#OPT_input_type} )) && opts+=(-s --input-type=)
    (( ! ${#OPT_chdir} )) && opts+=(-C --chdir=)
    (( ! ${#OPT_prefix} )) && opts+=(--prefix=)
    (( ! ${#OPT_package} )) && opts+=(-p --package=)
    (( ! ${#OPT_force} )) && opts+=(-f --force)
    (( ! ${#OPT_name} )) && opts+=(-n --name=)
    (( ! ${#OPT_log} )) && opts+=(--log=)
    (( ! ${#OPT_verbose} )) && opts+=(--verbose)
    (( ! ${#OPT_debug} )) && opts+=(--debug)
    (( ! ${#OPT_debug_workspace} )) && opts+=(--debug-workspace)
    (( ! ${#OPT_version} )) && opts+=(-v --version=)
    (( ! ${#OPT_iteration} )) && opts+=(--iteration=)
    (( ! ${#OPT_epoch} )) && opts+=(--epoch=)
    (( ! ${#OPT_license} )) && opts+=(--license=)
    (( ! ${#OPT_vendor} )) && opts+=(--vendor=)
    (( ! ${#OPT_category} )) && opts+=(--category=)
    opts+=(-d --depends=)
    (( ! ${#OPT_no_depends} )) && opts+=(--no-depends)
    (( ! ${#OPT_no_auto_depends} )) && opts+=(--no-auto-depends)
    opts+=(--provides=)
    opts+=(--conflicts=)
    opts+=(--replaces=)
    opts+=(--config-files=)
    opts+=(--directories=)
    (( ! ${#OPT_architecture} )) && opts+=(-a --architecture=)
    (( ! ${#OPT_maintainer} )) && opts+=(-m --maintainer=)
    (( ! ${#OPT_package_name_suffix} )) && opts+=(-S --package-name-suffix=)
    (( ! ${#OPT_edit} )) && opts+=(-e --edit)
    opts+=(-x --exclude=)
    (( ! ${#OPT_exclude_file} )) && opts+=(--exclude-file=)
    (( ! ${#OPT_description} )) && opts+=(--description=)
    (( ! ${#OPT_url} )) && opts+=(--url=)
    (( ! ${#OPT_inputs} )) && opts+=(--inputs=)
    (( ! ${#OPT_post_install} )) && opts+=(--post-install=)
    (( ! ${#OPT_pre_install} )) && opts+=(--pre-install=)
    (( ! ${#OPT_post_uninstall} )) && opts+=(--post-uninstall=)
    (( ! ${#OPT_pre_uninstall} )) && opts+=(--pre-uninstall=)
    (( ! ${#OPT_after_install} )) && opts+=(--after-install=)
    (( ! ${#OPT_before_install} )) && opts+=(--before-install=)
    (( ! ${#OPT_after_remove} )) && opts+=(--after-remove=)
    (( ! ${#OPT_before_remove} )) && opts+=(--before-remove=)
    (( ! ${#OPT_after_upgrade} )) && opts+=(--after-upgrade=)
    (( ! ${#OPT_before_upgrade} )) && opts+=(--before-upgrade=)
    (( ! ${#OPT_template_scripts} )) && opts+=(--template-scripts)
    (( ! ${#OPT_template_value} )) && opts+=(--template-value=)
    (( ! ${#OPT_workdir} )) && opts+=(--workdir=)
    (( ! ${#OPT_source_date_epoch_from_changelog} )) && opts+=(--source-date-epoch-from-changelog)
    (( ! ${#OPT_source_date_epoch_default} )) && opts+=(--source-date-epoch-default=)
    (( ! ${#OPT_fpm_options_file} )) && opts+=(--fpm-options-file=)
    (( ! ${#OPT_gem_bin_path} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-bin-path=)
    (( ! ${#OPT_gem_package_prefix} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-package-prefix=)
    (( ! ${#OPT_gem_package_name_prefix} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-package-name-prefix=)
    (( ! ${#OPT_gem_gem} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-gem=)
    (( ! ${#OPT_gem_shebang} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-shebang=)
    (( ! ${#OPT_gem_fix_name} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-fix-name)
    (( ! ${#OPT_no_gem_fix_name} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--no-gem-fix-name)
    (( ! ${#OPT_gem_fix_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-fix-dependencies)
    (( ! ${#OPT_no_gem_fix_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--no-gem-fix-dependencies)
    (( ! ${#OPT_gem_env_shebang} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-env-shebang)
    (( ! ${#OPT_no_gem_env_shebang} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--no-gem-env-shebang)
    (( ! ${#OPT_gem_prerelease} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-prerelease)
    (( ! ${#OPT_no_gem_prerelease} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--no-gem-prerelease)
    (( ! ${#OPT_gem_disable_dependency} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-disable-dependency=)
    (( ! ${#OPT_gem_embed_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-embed-dependencies)
    (( ! ${#OPT_no_gem_embed_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--no-gem-embed-dependencies)
    (( ! ${#OPT_gem_version_bins} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-version-bins)
    (( ! ${#OPT_no_gem_version_bins} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--no-gem-version-bins)
    (( ! ${#OPT_gem_stagingdir} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-stagingdir=)
    (( ! ${#OPT_gem_git_repo} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-git-repo=)
    (( ! ${#OPT_gem_git_branch} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == gem ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == gem ]]; }; } && opts+=(--gem-git-branch=)
    (( ! ${#OPT_cpan_perl_bin} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--cpan-perl-bin=)
    (( ! ${#OPT_cpan_cpanm_bin} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--cpan-cpanm-bin=)
    (( ! ${#OPT_cpan_mirror} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--cpan-mirror=)
    (( ! ${#OPT_cpan_mirror_only} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--cpan-mirror-only)
    (( ! ${#OPT_no_cpan_mirror_only} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--no-cpan-mirror-only)
    (( ! ${#OPT_cpan_package_name_prefix} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--cpan-package-name-prefix=)
    (( ! ${#OPT_cpan_test} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--cpan-test)
    (( ! ${#OPT_no_cpan_test} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--no-cpan-test)
    (( ! ${#OPT_cpan_verbose} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--cpan-verbose)
    (( ! ${#OPT_no_cpan_verbose} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--no-cpan-verbose)
    (( ! ${#OPT_cpan_perl_lib_path} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--cpan-perl-lib-path=)
    (( ! ${#OPT_cpan_sandbox_non_core} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--cpan-sandbox-non-core)
    (( ! ${#OPT_no_cpan_sandbox_non_core} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--no-cpan-sandbox-non-core)
    (( ! ${#OPT_cpan_cpanm_force} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--cpan-cpanm-force)
    (( ! ${#OPT_no_cpan_cpanm_force} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == cpan ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == cpan ]]; }; } && opts+=(--no-cpan-cpanm-force)
    (( ! ${#OPT_deb_ignore_iteration_in_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-ignore-iteration-in-dependencies)
    (( ! ${#OPT_no_deb_ignore_iteration_in_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--no-deb-ignore-iteration-in-dependencies)
    (( ! ${#OPT_deb_build_depends} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-build-depends=)
    (( ! ${#OPT_deb_pre_depends} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-pre-depends=)
    (( ! ${#OPT_deb_compression} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-compression=)
    (( ! ${#OPT_deb_dist} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-dist=)
    (( ! ${#OPT_deb_custom_control} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-custom-control=)
    (( ! ${#OPT_deb_config} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-config=)
    (( ! ${#OPT_deb_templates} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-templates=)
    (( ! ${#OPT_deb_installed_size} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-installed-size=)
    (( ! ${#OPT_deb_priority} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-priority=)
    (( ! ${#OPT_deb_use_file_permissions} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-use-file-permissions)
    (( ! ${#OPT_no_deb_use_file_permissions} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--no-deb-use-file-permissions)
    (( ! ${#OPT_deb_user} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-user=)
    (( ! ${#OPT_deb_group} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-group=)
    (( ! ${#OPT_deb_changelog} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-changelog=)
    (( ! ${#OPT_deb_generate_changes} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-generate-changes)
    (( ! ${#OPT_no_deb_generate_changes} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--no-deb-generate-changes)
    (( ! ${#OPT_deb_upstream_changelog} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-upstream-changelog=)
    (( ! ${#OPT_deb_recommends} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-recommends=)
    (( ! ${#OPT_deb_suggests} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-suggests=)
    (( ! ${#OPT_deb_meta_file} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-meta-file=)
    (( ! ${#OPT_deb_interest} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-interest=)
    (( ! ${#OPT_deb_activate} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-activate=)
    (( ! ${#OPT_deb_interest_noawait} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-interest-noawait=)
    (( ! ${#OPT_deb_activate_noawait} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-activate-noawait=)
    (( ! ${#OPT_deb_field} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-field=)
    (( ! ${#OPT_deb_no_default_config_files} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-no-default-config-files)
    (( ! ${#OPT_no_deb_no_default_config_files} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--no-deb-no-default-config-files)
    (( ! ${#OPT_deb_auto_config_files} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-auto-config-files)
    (( ! ${#OPT_no_deb_auto_config_files} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--no-deb-auto-config-files)
    (( ! ${#OPT_deb_shlibs} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-shlibs=)
    (( ! ${#OPT_deb_init} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-init=)
    (( ! ${#OPT_deb_default} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-default=)
    (( ! ${#OPT_deb_upstart} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-upstart=)
    (( ! ${#OPT_deb_systemd} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-systemd=)
    (( ! ${#OPT_deb_systemd_enable} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-systemd-enable)
    (( ! ${#OPT_no_deb_systemd_enable} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--no-deb-systemd-enable)
    (( ! ${#OPT_deb_systemd_auto_start} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-systemd-auto-start)
    (( ! ${#OPT_no_deb_systemd_auto_start} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--no-deb-systemd-auto-start)
    (( ! ${#OPT_deb_systemd_restart_after_upgrade} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-systemd-restart-after-upgrade)
    (( ! ${#OPT_no_deb_systemd_restart_after_upgrade} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--no-deb-systemd-restart-after-upgrade)
    (( ! ${#OPT_deb_after_purge} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-after-purge=)
    (( ! ${#OPT_deb_maintainerscripts_force_errorchecks} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--deb-maintainerscripts-force-errorchecks)
    (( ! ${#OPT_no_deb_maintainerscripts_force_errorchecks} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == deb ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == deb ]]; }; } && opts+=(--no-deb-maintainerscripts-force-errorchecks)
    (( ! ${#OPT_npm_bin} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == npm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == npm ]]; }; } && opts+=(--npm-bin=)
    (( ! ${#OPT_npm_package_name_prefix} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == npm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == npm ]]; }; } && opts+=(--npm-package-name-prefix=)
    (( ! ${#OPT_npm_registry} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == npm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == npm ]]; }; } && opts+=(--npm-registry=)
    (( ! ${#OPT_rpm_use_file_permissions} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-use-file-permissions)
    (( ! ${#OPT_no_rpm_use_file_permissions} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--no-rpm-use-file-permissions)
    (( ! ${#OPT_rpm_user} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-user=)
    (( ! ${#OPT_rpm_group} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-group=)
    (( ! ${#OPT_rpm_defattrfile} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-defattrfile=)
    (( ! ${#OPT_rpm_defattrdir} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-defattrdir=)
    (( ! ${#OPT_rpm_rpmbuild_define} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-rpmbuild-define=)
    (( ! ${#OPT_rpm_dist} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-dist=)
    (( ! ${#OPT_rpm_digest} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-digest=)
    (( ! ${#OPT_rpm_compression_level} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-compression-level=)
    (( ! ${#OPT_rpm_compression} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-compression=)
    (( ! ${#OPT_rpm_os} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-os=)
    (( ! ${#OPT_rpm_changelog} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-changelog=)
    (( ! ${#OPT_rpm_summary} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-summary=)
    (( ! ${#OPT_rpm_sign} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-sign)
    (( ! ${#OPT_no_rpm_sign} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--no-rpm-sign)
    (( ! ${#OPT_rpm_auto_add_directories} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-auto-add-directories)
    (( ! ${#OPT_no_rpm_auto_add_directories} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--no-rpm-auto-add-directories)
    (( ! ${#OPT_rpm_auto_add_exclude_directories} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-auto-add-exclude-directories=)
    (( ! ${#OPT_rpm_autoreqprov} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-autoreqprov)
    (( ! ${#OPT_no_rpm_autoreqprov} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--no-rpm-autoreqprov)
    (( ! ${#OPT_rpm_autoreq} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-autoreq)
    (( ! ${#OPT_no_rpm_autoreq} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--no-rpm-autoreq)
    (( ! ${#OPT_rpm_autoprov} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-autoprov)
    (( ! ${#OPT_no_rpm_autoprov} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--no-rpm-autoprov)
    (( ! ${#OPT_rpm_attr} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-attr=)
    (( ! ${#OPT_rpm_init} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-init=)
    (( ! ${#OPT_rpm_filter_from_provides} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-filter-from-provides=)
    (( ! ${#OPT_rpm_filter_from_requires} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-filter-from-requires=)
    (( ! ${#OPT_rpm_tag} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-tag=)
    (( ! ${#OPT_rpm_ignore_iteration_in_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-ignore-iteration-in-dependencies)
    (( ! ${#OPT_no_rpm_ignore_iteration_in_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--no-rpm-ignore-iteration-in-dependencies)
    (( ! ${#OPT_rpm_verbatim_gem_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-verbatim-gem-dependencies)
    (( ! ${#OPT_no_rpm_verbatim_gem_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--no-rpm-verbatim-gem-dependencies)
    (( ! ${#OPT_rpm_macro_expansion} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-macro-expansion)
    (( ! ${#OPT_no_rpm_macro_expansion} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--no-rpm-macro-expansion)
    (( ! ${#OPT_rpm_verifyscript} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-verifyscript=)
    (( ! ${#OPT_rpm_pretrans} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-pretrans=)
    (( ! ${#OPT_rpm_posttrans} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-posttrans=)
    (( ! ${#OPT_rpm_trigger_before_install} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-trigger-before-install=)
    (( ! ${#OPT_rpm_trigger_after_install} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-trigger-after-install=)
    (( ! ${#OPT_rpm_trigger_before_uninstall} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-trigger-before-uninstall=)
    (( ! ${#OPT_rpm_trigger_after_target_uninstall} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == rpm ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == rpm ]]; }; } && opts+=(--rpm-trigger-after-target-uninstall=)
    (( ! ${#OPT_pear_package_name_prefix} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; } && opts+=(--pear-package-name-prefix=)
    (( ! ${#OPT_pear_channel} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; } && opts+=(--pear-channel=)
    (( ! ${#OPT_pear_channel_update} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; } && opts+=(--pear-channel-update)
    (( ! ${#OPT_no_pear_channel_update} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; } && opts+=(--no-pear-channel-update)
    (( ! ${#OPT_pear_bin_dir} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; } && opts+=(--pear-bin-dir=)
    (( ! ${#OPT_pear_php_bin} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; } && opts+=(--pear-php-bin=)
    (( ! ${#OPT_pear_php_dir} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; } && opts+=(--pear-php-dir=)
    (( ! ${#OPT_pear_data_dir} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pear ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pear ]]; }; } && opts+=(--pear-data-dir=)
    (( ! ${#OPT_python_bin} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-bin=)
    (( ! ${#OPT_python_easyinstall} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-easyinstall=)
    (( ! ${#OPT_python_pip} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-pip=)
    (( ! ${#OPT_python_pypi} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-pypi=)
    (( ! ${#OPT_python_trusted_host} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-trusted-host=)
    (( ! ${#OPT_python_package_prefix} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-package-prefix=)
    (( ! ${#OPT_python_package_name_prefix} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-package-name-prefix=)
    (( ! ${#OPT_python_fix_name} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-fix-name)
    (( ! ${#OPT_no_python_fix_name} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--no-python-fix-name)
    (( ! ${#OPT_python_fix_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-fix-dependencies)
    (( ! ${#OPT_no_python_fix_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--no-python-fix-dependencies)
    (( ! ${#OPT_python_downcase_name} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-downcase-name)
    (( ! ${#OPT_no_python_downcase_name} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--no-python-downcase-name)
    (( ! ${#OPT_python_downcase_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-downcase-dependencies)
    (( ! ${#OPT_no_python_downcase_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--no-python-downcase-dependencies)
    (( ! ${#OPT_python_install_bin} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-install-bin=)
    (( ! ${#OPT_python_install_lib} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-install-lib=)
    (( ! ${#OPT_python_install_data} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-install-data=)
    (( ! ${#OPT_python_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-dependencies)
    (( ! ${#OPT_no_python_dependencies} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--no-python-dependencies)
    (( ! ${#OPT_python_obey_requirements_txt} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-obey-requirements-txt)
    (( ! ${#OPT_no_python_obey_requirements_txt} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--no-python-obey-requirements-txt)
    (( ! ${#OPT_python_scripts_executable} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-scripts-executable=)
    (( ! ${#OPT_python_disable_dependency} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-disable-dependency=)
    (( ! ${#OPT_python_setup_py_arguments} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-setup-py-arguments=)
    (( ! ${#OPT_python_internal_pip} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--python-internal-pip)
    (( ! ${#OPT_no_python_internal_pip} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == python ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == python ]]; }; } && opts+=(--no-python-internal-pip)
    (( ! ${#OPT_osxpkg_identifier_prefix} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == osxpkg ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == osxpkg ]]; }; } && opts+=(--osxpkg-identifier-prefix=)
    (( ! ${#OPT_osxpkg_payload_free} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == osxpkg ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == osxpkg ]]; }; } && opts+=(--osxpkg-payload-free)
    (( ! ${#OPT_no_osxpkg_payload_free} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == osxpkg ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == osxpkg ]]; }; } && opts+=(--no-osxpkg-payload-free)
    (( ! ${#OPT_osxpkg_ownership} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == osxpkg ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == osxpkg ]]; }; } && opts+=(--osxpkg-ownership=)
    (( ! ${#OPT_osxpkg_postinstall_action} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == osxpkg ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == osxpkg ]]; }; } && opts+=(--osxpkg-postinstall-action=)
    { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == osxpkg ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == osxpkg ]]; }; } && opts+=(--osxpkg-dont-obsolete=)
    (( ! ${#OPT_solaris_user} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == solaris ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == solaris ]]; }; } && opts+=(--solaris-user=)
    (( ! ${#OPT_solaris_group} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == solaris ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == solaris ]]; }; } && opts+=(--solaris-group=)
    (( ! ${#OPT_p5p_user} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; } && opts+=(--p5p-user=)
    (( ! ${#OPT_p5p_group} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; } && opts+=(--p5p-group=)
    (( ! ${#OPT_p5p_zonetype} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; } && opts+=(--p5p-zonetype=)
    (( ! ${#OPT_p5p_publisher} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; } && opts+=(--p5p-publisher=)
    (( ! ${#OPT_p5p_lint} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; } && opts+=(--p5p-lint)
    (( ! ${#OPT_no_p5p_lint} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; } && opts+=(--no-p5p-lint)
    (( ! ${#OPT_p5p_validate} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; } && opts+=(--p5p-validate)
    (( ! ${#OPT_no_p5p_validate} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == p5p ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == p5p ]]; }; } && opts+=(--no-p5p-validate)
    (( ! ${#OPT_freebsd_origin} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == freebsd ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == freebsd ]]; }; } && opts+=(--freebsd-origin=)
    (( ! ${#OPT_snap_yaml} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == snap ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == snap ]]; }; } && opts+=(--snap-yaml=)
    (( ! ${#OPT_snap_confinement} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == snap ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == snap ]]; }; } && opts+=(--snap-confinement=)
    (( ! ${#OPT_snap_grade} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == snap ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == snap ]]; }; } && opts+=(--snap-grade=)
    (( ! ${#OPT_pacman_optional_depends} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pacman ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pacman ]]; }; } && opts+=(--pacman-optional-depends=)
    (( ! ${#OPT_pacman_use_file_permissions} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pacman ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pacman ]]; }; } && opts+=(--pacman-use-file-permissions)
    (( ! ${#OPT_no_pacman_use_file_permissions} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pacman ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pacman ]]; }; } && opts+=(--no-pacman-use-file-permissions)
    (( ! ${#OPT_pacman_user} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pacman ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pacman ]]; }; } && opts+=(--pacman-user=)
    (( ! ${#OPT_pacman_group} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pacman ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pacman ]]; }; } && opts+=(--pacman-group=)
    (( ! ${#OPT_pacman_compression} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pacman ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pacman ]]; }; } && opts+=(--pacman-compression=)
    (( ! ${#OPT_pleaserun_name} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pleaserun ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pleaserun ]]; }; } && opts+=(--pleaserun-name=)
    (( ! ${#OPT_pleaserun_chdir} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pleaserun ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pleaserun ]]; }; } && opts+=(--pleaserun-chdir=)
    (( ! ${#OPT_pleaserun_user} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == pleaserun ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == pleaserun ]]; }; } && opts+=(--pleaserun-user=)
    (( ! ${#OPT_virtualenv_pypi} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--virtualenv-pypi=)
    (( ! ${#OPT_virtualenv_package_name_prefix} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--virtualenv-package-name-prefix=)
    (( ! ${#OPT_virtualenv_install_location} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--virtualenv-install-location=)
    (( ! ${#OPT_virtualenv_fix_name} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--virtualenv-fix-name)
    (( ! ${#OPT_no_virtualenv_fix_name} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--no-virtualenv-fix-name)
    (( ! ${#OPT_virtualenv_other_files_dir} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--virtualenv-other-files-dir=)
    (( ! ${#OPT_virtualenv_pypi_extra_url} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--virtualenv-pypi-extra-url=)
    (( ! ${#OPT_virtualenv_setup_install} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--virtualenv-setup-install)
    (( ! ${#OPT_no_virtualenv_setup_install} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--no-virtualenv-setup-install)
    (( ! ${#OPT_virtualenv_system_site_packages} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--virtualenv-system-site-packages)
    (( ! ${#OPT_no_virtualenv_system_site_packages} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--no-virtualenv-system-site-packages)
    (( ! ${#OPT_virtualenv_find_links} )) && { { (( ${#OPT_output_type} )) && [[ "${OPT_output_type[-1]}" == virtualenv ]]; } || { (( ${#OPT_input_type} )) && [[ "${OPT_input_type[-1]}" == virtualenv ]]; }; } && opts+=(--virtualenv-find-links=)
    _fpm_compgen_w_replacement -a -- "$cur" "${opts[@]}"
    [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
    return 1
  fi

  test "$POSITIONAL_NUM" -ge 1 && {
    _filedir
    return 0;
  }

  return 1
}

complete -F _fpm fpm

# vim: ft=sh ts=2 sts=2 sw=2 et
