Full Code of buildpack/pack for AI

main e667ae06c260 cached
888 files
21.2 MB
1.1M tokens
3999 symbols
1 requests
Download .txt
Showing preview only (4,353K chars total). Download the full file or copy to clipboard to get everything.
Repository: buildpack/pack
Branch: main
Commit: e667ae06c260
Files: 888
Total size: 21.2 MB

Directory structure:
gitextract_x0kk336i/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug.md
│   │   ├── chore.md
│   │   ├── config.yml
│   │   └── feature.md
│   ├── dependabot.yml
│   ├── labeler.yml
│   ├── pull_request_template.md
│   ├── release-notes.yml
│   └── workflows/
│       ├── actions/
│       │   └── release-notes/
│       │       ├── .gitignore
│       │       ├── README.md
│       │       ├── action.js
│       │       ├── action.yml
│       │       ├── dist/
│       │       │   └── index.js
│       │       ├── local.js
│       │       ├── package.json
│       │       └── release-notes.js
│       ├── benchmark.yml
│       ├── build.yml
│       ├── check-latest-release.yml
│       ├── codeql-analysis.yml
│       ├── compatibility.yml
│       ├── delivery/
│       │   ├── archlinux/
│       │   │   ├── README.md
│       │   │   ├── pack-cli-bin/
│       │   │   │   └── PKGBUILD
│       │   │   ├── pack-cli-git/
│       │   │   │   └── PKGBUILD
│       │   │   ├── publish-package.sh
│       │   │   └── test-install-package.sh
│       │   ├── chocolatey/
│       │   │   ├── pack.nuspec
│       │   │   └── tools/
│       │   │       └── VERIFICATION.txt
│       │   ├── homebrew/
│       │   │   └── pack.rb
│       │   └── ubuntu/
│       │       ├── 1_dependencies.sh
│       │       ├── 2_create-ppa.sh
│       │       ├── 3_test-ppa.sh
│       │       ├── 4_upload-ppa.sh
│       │       ├── debian/
│       │       │   ├── README
│       │       │   ├── changelog
│       │       │   ├── compat
│       │       │   ├── control
│       │       │   ├── copyright
│       │       │   └── rules
│       │       └── deliver.sh
│       ├── delivery-archlinux-git.yml
│       ├── delivery-archlinux.yml
│       ├── delivery-chocolatey.yml
│       ├── delivery-docker.yml
│       ├── delivery-homebrew.yml
│       ├── delivery-release-dispatch.yml
│       ├── delivery-ubuntu.yml
│       ├── privileged-pr-process.yml
│       ├── release-merge.yml
│       └── scripts/
│           ├── generate-release-event.sh
│           ├── generate-workflow_dispatch-event.sh
│           └── test-job.sh
├── .gitignore
├── .gitpod.yml
├── CODEOWNERS
├── CONTRIBUTING.md
├── DEVELOPMENT.md
├── Dockerfile
├── LICENSE
├── Makefile
├── README.md
├── RELEASE.md
├── acceptance/
│   ├── acceptance_test.go
│   ├── assertions/
│   │   ├── image.go
│   │   ├── lifecycle_output.go
│   │   ├── output.go
│   │   └── test_buildpack_output.go
│   ├── buildpacks/
│   │   ├── archive_buildpack.go
│   │   ├── folder_buildpack.go
│   │   ├── manager.go
│   │   ├── package_file_buildpack.go
│   │   └── package_image_buildpack.go
│   ├── config/
│   │   ├── asset_manager.go
│   │   ├── github_asset_fetcher.go
│   │   ├── input_configuration_manager.go
│   │   ├── lifecycle_asset.go
│   │   ├── pack_assets.go
│   │   └── run_combination.go
│   ├── invoke/
│   │   ├── pack.go
│   │   └── pack_fixtures.go
│   ├── managers/
│   │   └── image_manager.go
│   ├── os/
│   │   ├── variables.go
│   │   ├── variables_darwin.go
│   │   ├── variables_darwin_arm64.go
│   │   ├── variables_linux.go
│   │   └── variables_windows.go
│   ├── suite_manager.go
│   ├── testconfig/
│   │   └── all.json
│   └── testdata/
│       ├── mock_app/
│       │   ├── project.toml
│       │   ├── run
│       │   └── run.bat
│       ├── mock_buildpacks/
│       │   ├── descriptor-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── internet-capable-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── meta-buildpack/
│       │   │   ├── buildpack.toml
│       │   │   └── package.toml
│       │   ├── meta-buildpack-dependency/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── multi-platform-buildpack/
│       │   │   ├── buildpack.toml
│       │   │   ├── linux/
│       │   │   │   └── amd64/
│       │   │   │       └── bin/
│       │   │   │           ├── build
│       │   │   │           └── detect
│       │   │   └── windows/
│       │   │       └── amd64/
│       │   │           └── bin/
│       │   │               ├── build.bat
│       │   │               └── detect.bat
│       │   ├── nested-level-1-buildpack/
│       │   │   └── buildpack.toml
│       │   ├── nested-level-2-buildpack/
│       │   │   └── buildpack.toml
│       │   ├── noop-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── noop-buildpack-2/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   └── detect
│       │   │   └── buildpack.toml
│       │   ├── not-in-builder-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── other-stack-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── read-env-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── read-env-extension/
│       │   │   ├── bin/
│       │   │   │   ├── detect
│       │   │   │   └── generate
│       │   │   └── extension.toml
│       │   ├── read-volume-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── read-write-volume-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── simple-layers-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── simple-layers-buildpack-different-sha/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   ├── detect.bat
│       │   │   │   └── extra_file.txt
│       │   │   └── buildpack.toml
│       │   ├── simple-layers-extension/
│       │   │   ├── bin/
│       │   │   │   ├── detect
│       │   │   │   └── generate
│       │   │   └── extension.toml
│       │   ├── simple-layers-parent-buildpack/
│       │   │   └── buildpack.toml
│       │   ├── system-fail-detect/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   └── detect
│       │   │   └── buildpack.toml
│       │   ├── system-post-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   └── detect
│       │   │   └── buildpack.toml
│       │   └── system-pre-buildpack/
│       │       ├── bin/
│       │       │   ├── build
│       │       │   └── detect
│       │       └── buildpack.toml
│       ├── mock_stack/
│       │   ├── create-stack.sh
│       │   ├── linux/
│       │   │   ├── build/
│       │   │   │   └── Dockerfile
│       │   │   └── run/
│       │   │       └── Dockerfile
│       │   └── windows/
│       │       ├── build/
│       │       │   └── Dockerfile
│       │       └── run/
│       │           ├── Dockerfile
│       │           └── server.go
│       ├── pack_fixtures/
│       │   ├── .gitattributes
│       │   ├── builder.toml
│       │   ├── builder_extensions.toml
│       │   ├── builder_multi_platform-no-targets.toml
│       │   ├── builder_multi_platform.toml
│       │   ├── builder_with_failing_system_buildpack.toml
│       │   ├── builder_with_optional_failing_system_buildpack.toml
│       │   ├── builder_with_system_buildpacks.toml
│       │   ├── inspect_0.20.0_builder_nested_depth_2_output.txt
│       │   ├── inspect_0.20.0_builder_nested_output.txt
│       │   ├── inspect_0.20.0_builder_nested_output_json.txt
│       │   ├── inspect_0.20.0_builder_nested_output_toml.txt
│       │   ├── inspect_0.20.0_builder_nested_output_yaml.txt
│       │   ├── inspect_0.20.0_builder_output.txt
│       │   ├── inspect_X.Y.Z_builder_output.txt
│       │   ├── inspect_builder_nested_depth_2_output.txt
│       │   ├── inspect_builder_nested_output.txt
│       │   ├── inspect_builder_nested_output_json.txt
│       │   ├── inspect_builder_nested_output_toml.txt
│       │   ├── inspect_builder_nested_output_yaml.txt
│       │   ├── inspect_builder_output.txt
│       │   ├── inspect_buildpack_output.txt
│       │   ├── inspect_image_local_output.json
│       │   ├── inspect_image_local_output.toml
│       │   ├── inspect_image_local_output.yaml
│       │   ├── inspect_image_published_output.json
│       │   ├── inspect_image_published_output.toml
│       │   ├── inspect_image_published_output.yaml
│       │   ├── invalid_builder.toml
│       │   ├── invalid_package.toml
│       │   ├── nested-level-1-buildpack_package.toml
│       │   ├── nested-level-2-buildpack_package.toml
│       │   ├── nested_builder.toml
│       │   ├── package.toml
│       │   ├── package_aggregate.toml
│       │   ├── package_for_build_cmd.toml
│       │   ├── package_multi_platform.toml
│       │   ├── report_output.txt
│       │   ├── simple-layers-buildpack-different-sha_package.toml
│       │   └── simple-layers-buildpack_package.toml
│       └── pack_previous_fixtures_overrides/
│           └── .gitkeep
├── benchmarks/
│   └── build_test.go
├── builder/
│   ├── buildpack_identifier.go
│   ├── config_reader.go
│   ├── config_reader_test.go
│   └── detection_order.go
├── buildpackage/
│   ├── config_reader.go
│   └── config_reader_test.go
├── cmd/
│   ├── cmd.go
│   └── docker_init.go
├── codecov.yml
├── go.mod
├── go.sum
├── golangci.yaml
├── internal/
│   ├── build/
│   │   ├── container_ops.go
│   │   ├── container_ops_test.go
│   │   ├── docker.go
│   │   ├── fakes/
│   │   │   ├── cache.go
│   │   │   ├── fake_builder.go
│   │   │   ├── fake_phase.go
│   │   │   ├── fake_phase_factory.go
│   │   │   └── fake_termui.go
│   │   ├── lifecycle_execution.go
│   │   ├── lifecycle_execution_test.go
│   │   ├── lifecycle_executor.go
│   │   ├── mount_paths.go
│   │   ├── phase.go
│   │   ├── phase_config_provider.go
│   │   ├── phase_config_provider_test.go
│   │   ├── phase_factory.go
│   │   ├── phase_test.go
│   │   └── testdata/
│   │       ├── fake-app/
│   │       │   ├── fake-app-file
│   │       │   └── file-to-ignore
│   │       └── fake-lifecycle/
│   │           ├── Dockerfile
│   │           ├── go.mod
│   │           ├── go.sum
│   │           ├── phase.go
│   │           └── test-phase
│   ├── builder/
│   │   ├── builder.go
│   │   ├── builder_test.go
│   │   ├── descriptor.go
│   │   ├── descriptor_test.go
│   │   ├── detection_order_calculator.go
│   │   ├── detection_order_calculator_test.go
│   │   ├── fakes/
│   │   │   ├── fake_detection_calculator.go
│   │   │   ├── fake_inspectable.go
│   │   │   ├── fake_inspectable_fetcher.go
│   │   │   ├── fake_label_manager.go
│   │   │   └── fake_label_manager_factory.go
│   │   ├── image_fetcher_wrapper.go
│   │   ├── inspect.go
│   │   ├── inspect_test.go
│   │   ├── label_manager.go
│   │   ├── label_manager_provider.go
│   │   ├── label_manager_test.go
│   │   ├── lifecycle.go
│   │   ├── lifecycle_test.go
│   │   ├── metadata.go
│   │   ├── testdata/
│   │   │   └── lifecycle/
│   │   │       ├── platform-0.3/
│   │   │       │   ├── lifecycle-v0.0.0-arch/
│   │   │       │   │   ├── analyzer
│   │   │       │   │   ├── builder
│   │   │       │   │   ├── creator
│   │   │       │   │   ├── detector
│   │   │       │   │   ├── exporter
│   │   │       │   │   ├── launcher
│   │   │       │   │   └── restorer
│   │   │       │   └── lifecycle.toml
│   │   │       └── platform-0.4/
│   │   │           ├── lifecycle-v0.0.0-arch/
│   │   │           │   ├── analyzer
│   │   │           │   ├── builder
│   │   │           │   ├── creator
│   │   │           │   ├── detector
│   │   │           │   ├── exporter
│   │   │           │   ├── launcher
│   │   │           │   └── restorer
│   │   │           └── lifecycle.toml
│   │   ├── testmocks/
│   │   │   └── mock_lifecycle.go
│   │   ├── trusted_builder.go
│   │   ├── trusted_builder_test.go
│   │   ├── version.go
│   │   ├── version_test.go
│   │   └── writer/
│   │       ├── factory.go
│   │       ├── factory_test.go
│   │       ├── human_readable.go
│   │       ├── human_readable_test.go
│   │       ├── json.go
│   │       ├── json_test.go
│   │       ├── shared_builder_test.go
│   │       ├── structured_format.go
│   │       ├── toml.go
│   │       ├── toml_test.go
│   │       ├── yaml.go
│   │       └── yaml_test.go
│   ├── commands/
│   │   ├── add_registry.go
│   │   ├── add_registry_test.go
│   │   ├── build.go
│   │   ├── build_test.go
│   │   ├── builder.go
│   │   ├── builder_create.go
│   │   ├── builder_create_test.go
│   │   ├── builder_inspect.go
│   │   ├── builder_inspect_test.go
│   │   ├── builder_suggest.go
│   │   ├── builder_suggest_test.go
│   │   ├── builder_test.go
│   │   ├── buildpack.go
│   │   ├── buildpack_inspect.go
│   │   ├── buildpack_inspect_test.go
│   │   ├── buildpack_new.go
│   │   ├── buildpack_new_test.go
│   │   ├── buildpack_package.go
│   │   ├── buildpack_package_test.go
│   │   ├── buildpack_pull.go
│   │   ├── buildpack_pull_test.go
│   │   ├── buildpack_register.go
│   │   ├── buildpack_register_test.go
│   │   ├── buildpack_test.go
│   │   ├── buildpack_yank.go
│   │   ├── buildpack_yank_test.go
│   │   ├── commands.go
│   │   ├── completion.go
│   │   ├── completion_test.go
│   │   ├── config.go
│   │   ├── config_default_builder.go
│   │   ├── config_default_builder_test.go
│   │   ├── config_experimental.go
│   │   ├── config_experimental_test.go
│   │   ├── config_lifecycle_image.go
│   │   ├── config_lifecycle_image_test.go
│   │   ├── config_pull_policy.go
│   │   ├── config_pull_policy_test.go
│   │   ├── config_registries.go
│   │   ├── config_registries_default.go
│   │   ├── config_registries_default_test.go
│   │   ├── config_registries_test.go
│   │   ├── config_registry_mirrors.go
│   │   ├── config_registry_mirrors_test.go
│   │   ├── config_run_image_mirrors.go
│   │   ├── config_run_image_mirrors_test.go
│   │   ├── config_test.go
│   │   ├── config_trusted_builder.go
│   │   ├── config_trusted_builder_test.go
│   │   ├── create_builder.go
│   │   ├── create_builder_test.go
│   │   ├── download_sbom.go
│   │   ├── download_sbom_test.go
│   │   ├── extension.go
│   │   ├── extension_inspect.go
│   │   ├── extension_inspect_test.go
│   │   ├── extension_new.go
│   │   ├── extension_package.go
│   │   ├── extension_package_test.go
│   │   ├── extension_pull.go
│   │   ├── extension_register.go
│   │   ├── extension_test.go
│   │   ├── extension_yank.go
│   │   ├── fakes/
│   │   │   ├── fake_builder_inspector.go
│   │   │   ├── fake_builder_writer.go
│   │   │   ├── fake_builder_writer_factory.go
│   │   │   ├── fake_buildpack_packager.go
│   │   │   ├── fake_extension_packager.go
│   │   │   ├── fake_inspect_image_writer.go
│   │   │   ├── fake_inspect_image_writer_factory.go
│   │   │   └── fake_package_config_reader.go
│   │   ├── inspect_builder.go
│   │   ├── inspect_builder_test.go
│   │   ├── inspect_buildpack.go
│   │   ├── inspect_buildpack_test.go
│   │   ├── inspect_extension.go
│   │   ├── inspect_image.go
│   │   ├── inspect_image_test.go
│   │   ├── list_registries.go
│   │   ├── list_registries_test.go
│   │   ├── list_trusted_builders.go
│   │   ├── list_trusted_builders_test.go
│   │   ├── manifest.go
│   │   ├── manifest_add.go
│   │   ├── manifest_add_test.go
│   │   ├── manifest_annotate.go
│   │   ├── manifest_annotate_test.go
│   │   ├── manifest_create.go
│   │   ├── manifest_create_test.go
│   │   ├── manifest_inspect.go
│   │   ├── manifest_inspect_test.go
│   │   ├── manifest_push.go
│   │   ├── manifest_push_test.go
│   │   ├── manifest_remove.go
│   │   ├── manifest_remove_test.go
│   │   ├── manifest_rm.go
│   │   ├── manifest_rm_test.go
│   │   ├── manifest_test.go
│   │   ├── package_buildpack.go
│   │   ├── package_buildpack_test.go
│   │   ├── rebase.go
│   │   ├── rebase_test.go
│   │   ├── register_buildpack.go
│   │   ├── register_buildpack_test.go
│   │   ├── remove_registry.go
│   │   ├── remove_registry_test.go
│   │   ├── report.go
│   │   ├── report_test.go
│   │   ├── sbom.go
│   │   ├── set_default_builder.go
│   │   ├── set_default_builder_test.go
│   │   ├── set_default_registry.go
│   │   ├── set_default_registry_test.go
│   │   ├── set_run_image_mirrors.go
│   │   ├── set_run_image_mirrors_test.go
│   │   ├── stack.go
│   │   ├── stack_suggest.go
│   │   ├── stack_suggest_test.go
│   │   ├── stack_test.go
│   │   ├── suggest_builders.go
│   │   ├── suggest_builders_test.go
│   │   ├── testdata/
│   │   │   ├── buildpack.toml
│   │   │   ├── inspect_image_output.json
│   │   │   └── project.toml
│   │   ├── testmocks/
│   │   │   ├── mock_inspect_image_writer_factory.go
│   │   │   └── mock_pack_client.go
│   │   ├── trust_builder.go
│   │   ├── trust_builder_test.go
│   │   ├── untrust_builder.go
│   │   ├── untrust_builder_test.go
│   │   ├── version.go
│   │   ├── version_test.go
│   │   ├── yank_buildpack.go
│   │   └── yank_buildpack_test.go
│   ├── config/
│   │   ├── config.go
│   │   ├── config_helpers.go
│   │   └── config_test.go
│   ├── container/
│   │   └── run.go
│   ├── fakes/
│   │   ├── fake_buildpack.go
│   │   ├── fake_buildpack_blob.go
│   │   ├── fake_buildpack_tar.go
│   │   ├── fake_extension.go
│   │   ├── fake_extension_blob.go
│   │   ├── fake_extension_tar.go
│   │   ├── fake_image_fetcher.go
│   │   ├── fake_images.go
│   │   ├── fake_lifecycle.go
│   │   └── fake_package.go
│   ├── inspectimage/
│   │   ├── bom_display.go
│   │   ├── info_display.go
│   │   └── writer/
│   │       ├── bom_json.go
│   │       ├── bom_json_test.go
│   │       ├── bom_yaml.go
│   │       ├── bom_yaml_test.go
│   │       ├── factory.go
│   │       ├── factory_test.go
│   │       ├── human_readable.go
│   │       ├── human_readable_test.go
│   │       ├── json.go
│   │       ├── json_test.go
│   │       ├── structured_bom_format.go
│   │       ├── structured_bom_format_test.go
│   │       ├── structured_format.go
│   │       ├── structured_format_test.go
│   │       ├── toml.go
│   │       ├── toml_test.go
│   │       ├── yaml.go
│   │       └── yaml_test.go
│   ├── layer/
│   │   ├── layer.go
│   │   ├── writer_factory.go
│   │   └── writer_factory_test.go
│   ├── name/
│   │   ├── name.go
│   │   └── name_test.go
│   ├── paths/
│   │   ├── defaults_unix.go
│   │   ├── defaults_windows.go
│   │   ├── paths.go
│   │   └── paths_test.go
│   ├── registry/
│   │   ├── buildpack.go
│   │   ├── buildpack_test.go
│   │   ├── git.go
│   │   ├── git_test.go
│   │   ├── github.go
│   │   ├── github_test.go
│   │   ├── index.go
│   │   ├── index_test.go
│   │   ├── registry_cache.go
│   │   └── registry_cache_test.go
│   ├── slices/
│   │   ├── slices.go
│   │   └── slices_test.go
│   ├── sshdialer/
│   │   ├── posix_test.go
│   │   ├── server_test.go
│   │   ├── ssh_agent_unix.go
│   │   ├── ssh_agent_windows.go
│   │   ├── ssh_dialer.go
│   │   ├── ssh_dialer_test.go
│   │   ├── testdata/
│   │   │   ├── etc/
│   │   │   │   └── ssh/
│   │   │   │       ├── ssh_host_ecdsa_key
│   │   │   │       ├── ssh_host_ecdsa_key.pub
│   │   │   │       ├── ssh_host_ed25519_key
│   │   │   │       ├── ssh_host_ed25519_key.pub
│   │   │   │       ├── ssh_host_rsa_key
│   │   │   │       └── ssh_host_rsa_key.pub
│   │   │   ├── id_dsa
│   │   │   ├── id_dsa.pub
│   │   │   ├── id_ed25519
│   │   │   ├── id_ed25519.pub
│   │   │   ├── id_rsa
│   │   │   └── id_rsa.pub
│   │   └── windows_test.go
│   ├── stack/
│   │   ├── merge.go
│   │   ├── merge_test.go
│   │   ├── mixins.go
│   │   └── mixins_test.go
│   ├── strings/
│   │   ├── strings.go
│   │   └── strings_test.go
│   ├── stringset/
│   │   ├── stringset.go
│   │   └── stringset_test.go
│   ├── style/
│   │   ├── style.go
│   │   └── style_test.go
│   ├── target/
│   │   ├── parse.go
│   │   ├── parse_test.go
│   │   ├── platform.go
│   │   └── platform_test.go
│   ├── term/
│   │   ├── term.go
│   │   └── term_test.go
│   └── termui/
│       ├── branch.go
│       ├── dashboard.go
│       ├── detect.go
│       ├── dive.go
│       ├── dive_test.go
│       ├── fakes/
│       │   ├── app.go
│       │   ├── builder.go
│       │   └── docker_stdwriter.go
│       ├── logger.go
│       ├── termui.go
│       ├── termui_test.go
│       └── testdata/
│           └── generate.sh
├── main.go
├── pkg/
│   ├── README.md
│   ├── archive/
│   │   ├── archive.go
│   │   ├── archive_test.go
│   │   ├── archive_unix.go
│   │   ├── archive_windows.go
│   │   ├── tar_builder.go
│   │   ├── tar_builder_test.go
│   │   ├── testdata/
│   │   │   ├── dir-to-tar/
│   │   │   │   └── some-file.txt
│   │   │   ├── dir-to-tar-with-hardlink/
│   │   │   │   └── original-file
│   │   │   └── jar-file.jar
│   │   └── umask_unix.go
│   ├── blob/
│   │   ├── blob.go
│   │   ├── blob_test.go
│   │   ├── downloader.go
│   │   ├── downloader_test.go
│   │   └── testdata/
│   │       ├── blob/
│   │       │   └── file.txt
│   │       ├── buildpack/
│   │       │   └── buildpack.toml
│   │       └── lifecycle/
│   │           ├── analyzer
│   │           ├── builder
│   │           ├── cacher
│   │           ├── detector
│   │           ├── exporter
│   │           ├── launcher
│   │           └── restorer
│   ├── buildpack/
│   │   ├── build_module_info.go
│   │   ├── build_module_info_test.go
│   │   ├── builder.go
│   │   ├── builder_test.go
│   │   ├── buildpack.go
│   │   ├── buildpack_tar_writer.go
│   │   ├── buildpack_tar_writer_test.go
│   │   ├── buildpack_test.go
│   │   ├── buildpackage.go
│   │   ├── downloader.go
│   │   ├── downloader_test.go
│   │   ├── locator_type.go
│   │   ├── locator_type_test.go
│   │   ├── managed_collection.go
│   │   ├── managed_collection_test.go
│   │   ├── multi_architecture_helper.go
│   │   ├── multi_architecture_helper_test.go
│   │   ├── oci_layout_package.go
│   │   ├── oci_layout_package_test.go
│   │   ├── package.go
│   │   ├── parse_name.go
│   │   ├── parse_name_test.go
│   │   └── testdata/
│   │       ├── buildpack/
│   │       │   ├── bin/
│   │       │   │   ├── build
│   │       │   │   └── detect
│   │       │   └── buildpack.toml
│   │       ├── buildpack-with-hardlink/
│   │       │   ├── bin/
│   │       │   │   ├── build
│   │       │   │   └── detect
│   │       │   ├── buildpack.toml
│   │       │   └── original-file
│   │       ├── extension/
│   │       │   ├── bin/
│   │       │   │   ├── detect
│   │       │   │   └── generate
│   │       │   └── extension.toml
│   │       ├── hello-universe-oci.cnb
│   │       ├── hello-universe.cnb
│   │       ├── package.toml
│   │       └── tree-extension.cnb
│   ├── cache/
│   │   ├── bind_cache.go
│   │   ├── cache_opts.go
│   │   ├── cache_opts_test.go
│   │   ├── consts.go
│   │   ├── image_cache.go
│   │   ├── image_cache_test.go
│   │   ├── volume_cache.go
│   │   └── volume_cache_test.go
│   ├── client/
│   │   ├── build.go
│   │   ├── build_test.go
│   │   ├── client.go
│   │   ├── client_test.go
│   │   ├── common.go
│   │   ├── common_test.go
│   │   ├── create_builder.go
│   │   ├── create_builder_test.go
│   │   ├── docker.go
│   │   ├── docker_context.go
│   │   ├── docker_context_test.go
│   │   ├── download_sbom.go
│   │   ├── download_sbom_test.go
│   │   ├── errors.go
│   │   ├── example_build_test.go
│   │   ├── example_buildpack_downloader_test.go
│   │   ├── example_fetcher_test.go
│   │   ├── input_image_reference.go
│   │   ├── input_image_reference_test.go
│   │   ├── inspect_builder.go
│   │   ├── inspect_builder_test.go
│   │   ├── inspect_buildpack.go
│   │   ├── inspect_buildpack_test.go
│   │   ├── inspect_extension.go
│   │   ├── inspect_extension_test.go
│   │   ├── inspect_image.go
│   │   ├── inspect_image_test.go
│   │   ├── manifest_add.go
│   │   ├── manifest_add_test.go
│   │   ├── manifest_annotate.go
│   │   ├── manifest_annotate_test.go
│   │   ├── manifest_create.go
│   │   ├── manifest_create_test.go
│   │   ├── manifest_inspect.go
│   │   ├── manifest_inspect_test.go
│   │   ├── manifest_push.go
│   │   ├── manifest_push_test.go
│   │   ├── manifest_remove.go
│   │   ├── manifest_remove_test.go
│   │   ├── manifest_rm.go
│   │   ├── manifest_rm_test.go
│   │   ├── new_buildpack.go
│   │   ├── new_buildpack_test.go
│   │   ├── package_buildpack.go
│   │   ├── package_buildpack_test.go
│   │   ├── package_extension.go
│   │   ├── package_extension_test.go
│   │   ├── process_volumes.go
│   │   ├── process_volumes_unix.go
│   │   ├── pull_buildpack.go
│   │   ├── pull_buildpack_test.go
│   │   ├── rebase.go
│   │   ├── rebase_test.go
│   │   ├── register_buildpack.go
│   │   ├── register_buildpack_test.go
│   │   ├── testdata/
│   │   │   ├── builder.toml
│   │   │   ├── buildpack/
│   │   │   │   ├── bin/
│   │   │   │   │   ├── build
│   │   │   │   │   └── detect
│   │   │   │   └── buildpack.toml
│   │   │   ├── buildpack-api-0.4/
│   │   │   │   ├── bin/
│   │   │   │   │   ├── build
│   │   │   │   │   └── detect
│   │   │   │   └── buildpack.toml
│   │   │   ├── buildpack-flatten/
│   │   │   │   ├── buildpack-1/
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-2/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-3/
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-4/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-5/
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-6/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   └── buildpack-7/
│   │   │   │       ├── bin/
│   │   │   │       │   ├── build
│   │   │   │       │   └── detect
│   │   │   │       └── buildpack.toml
│   │   │   ├── buildpack-multi-platform/
│   │   │   │   ├── README.md
│   │   │   │   ├── buildpack-composite/
│   │   │   │   │   ├── buildpack.toml
│   │   │   │   │   └── package.toml
│   │   │   │   ├── buildpack-composite-with-dependencies-on-disk/
│   │   │   │   │   ├── buildpack.toml
│   │   │   │   │   └── package.toml
│   │   │   │   ├── buildpack-new-format/
│   │   │   │   │   └── linux/
│   │   │   │   │       ├── amd64/
│   │   │   │   │       │   ├── bin/
│   │   │   │   │       │   │   ├── build
│   │   │   │   │       │   │   └── detect
│   │   │   │   │       │   └── buildpack.toml
│   │   │   │   │       ├── arm/
│   │   │   │   │       │   ├── bin/
│   │   │   │   │       │   │   ├── build
│   │   │   │   │       │   │   └── detect
│   │   │   │   │       │   └── buildpack.toml
│   │   │   │   │       └── buildpack.toml
│   │   │   │   ├── buildpack-new-format-with-versions/
│   │   │   │   │   └── linux/
│   │   │   │   │       ├── amd64/
│   │   │   │   │       │   └── v5/
│   │   │   │   │       │       ├── ubuntu@18.01/
│   │   │   │   │       │       │   ├── bin/
│   │   │   │   │       │       │   │   ├── build
│   │   │   │   │       │       │   │   └── detect
│   │   │   │   │       │       │   └── buildpack.toml
│   │   │   │   │       │       └── ubuntu@21.01/
│   │   │   │   │       │           ├── bin/
│   │   │   │   │       │           │   ├── build
│   │   │   │   │       │           │   └── detect
│   │   │   │   │       │           └── buildpack.toml
│   │   │   │   │       └── arm/
│   │   │   │   │           └── v6/
│   │   │   │   │               ├── ubuntu@18.01/
│   │   │   │   │               │   ├── bin/
│   │   │   │   │               │   │   ├── build
│   │   │   │   │               │   │   └── detect
│   │   │   │   │               │   └── buildpack.toml
│   │   │   │   │               └── ubuntu@21.01/
│   │   │   │   │                   ├── bin/
│   │   │   │   │                   │   ├── build
│   │   │   │   │                   │   └── detect
│   │   │   │   │                   └── buildpack.toml
│   │   │   │   └── buildpack-old-format/
│   │   │   │       ├── bin/
│   │   │   │       │   ├── build
│   │   │   │       │   └── detect
│   │   │   │       └── buildpack.toml
│   │   │   ├── buildpack-non-deterministic/
│   │   │   │   ├── buildpack-1-version-1/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-1-version-2/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-2-version-1/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   └── buildpack-2-version-2/
│   │   │   │       ├── bin/
│   │   │   │       │   ├── build
│   │   │   │       │   └── detect
│   │   │   │       └── buildpack.toml
│   │   │   ├── buildpack2/
│   │   │   │   ├── bin/
│   │   │   │   │   ├── build
│   │   │   │   │   └── detect
│   │   │   │   └── buildpack.toml
│   │   │   ├── docker-context/
│   │   │   │   ├── error-cases/
│   │   │   │   │   ├── config-does-not-exist/
│   │   │   │   │   │   └── README
│   │   │   │   │   ├── current-context-does-not-match/
│   │   │   │   │   │   ├── config.json
│   │   │   │   │   │   └── contexts/
│   │   │   │   │   │       └── meta/
│   │   │   │   │   │           └── fe9c6bd7a66301f49ca9b6a70b217107cd1284598bfc254700c989b916da791e/
│   │   │   │   │   │               └── meta.json
│   │   │   │   │   ├── docker-endpoint-does-not-exist/
│   │   │   │   │   │   ├── config.json
│   │   │   │   │   │   └── contexts/
│   │   │   │   │   │       └── meta/
│   │   │   │   │   │           └── fe9c6bd7a66301f49ca9b6a70b217107cd1284598bfc254700c989b916da791e/
│   │   │   │   │   │               └── meta.json
│   │   │   │   │   ├── empty-context/
│   │   │   │   │   │   └── config.json
│   │   │   │   │   ├── invalid-config/
│   │   │   │   │   │   └── config.json
│   │   │   │   │   └── invalid-metadata/
│   │   │   │   │       ├── config.json
│   │   │   │   │       └── contexts/
│   │   │   │   │           └── meta/
│   │   │   │   │               └── fe9c6bd7a66301f49ca9b6a70b217107cd1284598bfc254700c989b916da791e/
│   │   │   │   │                   └── meta.json
│   │   │   │   └── happy-cases/
│   │   │   │       ├── current-context-not-defined/
│   │   │   │       │   └── config.json
│   │   │   │       ├── custom-context/
│   │   │   │       │   ├── config.json
│   │   │   │       │   └── contexts/
│   │   │   │       │       └── meta/
│   │   │   │       │           └── fe9c6bd7a66301f49ca9b6a70b217107cd1284598bfc254700c989b916da791e/
│   │   │   │       │               └── meta.json
│   │   │   │       ├── default-context/
│   │   │   │       │   └── config.json
│   │   │   │       └── two-endpoints-context/
│   │   │   │           ├── config.json
│   │   │   │           └── contexts/
│   │   │   │               └── meta/
│   │   │   │                   └── fe9c6bd7a66301f49ca9b6a70b217107cd1284598bfc254700c989b916da791e/
│   │   │   │                       └── meta.json
│   │   │   ├── downloader/
│   │   │   │   └── dirA/
│   │   │   │       └── file.txt
│   │   │   ├── empty-file
│   │   │   ├── extension/
│   │   │   │   ├── bin/
│   │   │   │   │   ├── detect
│   │   │   │   │   └── generate
│   │   │   │   └── extension.toml
│   │   │   ├── extension-api-0.9/
│   │   │   │   ├── bin/
│   │   │   │   │   ├── detect
│   │   │   │   │   └── generate
│   │   │   │   └── extension.toml
│   │   │   ├── jar-file.jar
│   │   │   ├── just-a-file.txt
│   │   │   ├── lifecycle/
│   │   │   │   ├── platform-0.13/
│   │   │   │   │   ├── lifecycle-v0.0.0-arch/
│   │   │   │   │   │   ├── analyzer
│   │   │   │   │   │   ├── builder
│   │   │   │   │   │   ├── creator
│   │   │   │   │   │   ├── detector
│   │   │   │   │   │   ├── exporter
│   │   │   │   │   │   ├── launcher
│   │   │   │   │   │   └── restorer
│   │   │   │   │   └── lifecycle.toml
│   │   │   │   ├── platform-0.3/
│   │   │   │   │   ├── lifecycle-v0.0.0-arch/
│   │   │   │   │   │   ├── analyzer
│   │   │   │   │   │   ├── builder
│   │   │   │   │   │   ├── creator
│   │   │   │   │   │   ├── detector
│   │   │   │   │   │   ├── exporter
│   │   │   │   │   │   ├── launcher
│   │   │   │   │   │   └── restorer
│   │   │   │   │   └── lifecycle.toml
│   │   │   │   └── platform-0.4/
│   │   │   │       ├── lifecycle-v0.0.0-arch/
│   │   │   │       │   ├── analyzer
│   │   │   │       │   ├── builder
│   │   │   │       │   ├── creator
│   │   │   │       │   ├── detector
│   │   │   │       │   ├── exporter
│   │   │   │       │   ├── launcher
│   │   │   │       │   └── restorer
│   │   │   │       └── lifecycle.toml
│   │   │   ├── non-zip-file
│   │   │   ├── registry/
│   │   │   │   ├── 3/
│   │   │   │   │   └── fo/
│   │   │   │   │       └── example_foo
│   │   │   │   └── ja/
│   │   │   │       └── va/
│   │   │   │           └── example_java
│   │   │   └── some-app/
│   │   │       └── .gitignore
│   │   ├── version.go
│   │   ├── yank_buildpack.go
│   │   └── yank_buildpack_test.go
│   ├── dist/
│   │   ├── buildmodule.go
│   │   ├── buildmodule_test.go
│   │   ├── buildpack_descriptor.go
│   │   ├── buildpack_descriptor_test.go
│   │   ├── dist.go
│   │   ├── dist_test.go
│   │   ├── distribution.go
│   │   ├── extension_descriptor.go
│   │   ├── extension_descriptor_test.go
│   │   ├── image.go
│   │   ├── image_test.go
│   │   └── layers.go
│   ├── image/
│   │   ├── fetcher.go
│   │   ├── fetcher_test.go
│   │   ├── platform.go
│   │   ├── pull_policy.go
│   │   └── pull_policy_test.go
│   ├── index/
│   │   ├── index_factory.go
│   │   └── index_factory_test.go
│   ├── logging/
│   │   ├── logger_simple.go
│   │   ├── logger_simple_test.go
│   │   ├── logger_writers.go
│   │   ├── logger_writers_test.go
│   │   ├── logging.go
│   │   ├── logging_test.go
│   │   ├── prefix_writer.go
│   │   └── prefix_writer_test.go
│   ├── project/
│   │   ├── project.go
│   │   ├── project_test.go
│   │   ├── types/
│   │   │   └── types.go
│   │   ├── v01/
│   │   │   └── project.go
│   │   ├── v02/
│   │   │   ├── metadata.go
│   │   │   ├── metadata_test.go
│   │   │   └── project.go
│   │   └── v03/
│   │       └── project.go
│   └── testmocks/
│       ├── mock_access_checker.go
│       ├── mock_blob_downloader.go
│       ├── mock_build_module.go
│       ├── mock_buildpack_downloader.go
│       ├── mock_docker_client.go
│       ├── mock_image.go
│       ├── mock_image_factory.go
│       ├── mock_image_fetcher.go
│       ├── mock_index_factory.go
│       └── mock_registry_resolver.go
├── project.toml
├── registry/
│   └── type.go
├── testdata/
│   ├── builder.toml
│   ├── buildpack/
│   │   ├── bin/
│   │   │   ├── build
│   │   │   └── detect
│   │   └── buildpack.toml
│   ├── buildpack-api-0.4/
│   │   ├── bin/
│   │   │   ├── build
│   │   │   └── detect
│   │   └── buildpack.toml
│   ├── buildpack2/
│   │   ├── bin/
│   │   │   ├── build
│   │   │   └── detect
│   │   └── buildpack.toml
│   ├── downloader/
│   │   └── dirA/
│   │       └── file.txt
│   ├── empty-file
│   ├── jar-file.jar
│   ├── just-a-file.txt
│   ├── lifecycle/
│   │   ├── platform-0.3/
│   │   │   ├── lifecycle-v0.0.0-arch/
│   │   │   │   ├── analyzer
│   │   │   │   ├── builder
│   │   │   │   ├── creator
│   │   │   │   ├── detector
│   │   │   │   ├── exporter
│   │   │   │   ├── launcher
│   │   │   │   └── restorer
│   │   │   └── lifecycle.toml
│   │   └── platform-0.4/
│   │       ├── lifecycle-v0.0.0-arch/
│   │       │   ├── analyzer
│   │       │   ├── builder
│   │       │   ├── creator
│   │       │   ├── detector
│   │       │   ├── exporter
│   │       │   ├── launcher
│   │       │   └── restorer
│   │       └── lifecycle.toml
│   ├── non-zip-file
│   ├── registry/
│   │   ├── 3/
│   │   │   └── fo/
│   │   │       └── example_foo
│   │   └── ja/
│   │       └── va/
│   │           └── example_java
│   └── some-app/
│       └── .gitignore
├── testhelpers/
│   ├── arg_patterns.go
│   ├── assert_file.go
│   ├── assertions.go
│   ├── comparehelpers/
│   │   ├── deep_compare.go
│   │   └── deep_compare_test.go
│   ├── image_index.go
│   ├── registry.go
│   ├── tar_assertions.go
│   ├── tar_verifier.go
│   └── testhelpers.go
└── tools/
    ├── go.mod
    ├── go.sum
    ├── pedantic_imports/
    │   └── main.go
    ├── test-fork.sh
    └── tools.go

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/ISSUE_TEMPLATE/bug.md
================================================
---
name: Bug
about: Bug report
title: ''
labels: status/triage, type/bug
assignees: ''

---
### Summary
<!--- Please provide a general summary of the issue. -->


---

### Reproduction

##### Steps
<!--- What steps should be taken to reproduce the issue? -->

1.
2.
3.


##### Current behavior
<!--- What actually happened? -->


##### Expected behavior
<!--- What did you expect to happen? -->


---

### Environment

##### pack info
<!--- Run `pack report` and copy output here. -->

##### docker info
<!--- Run `docker info` and copy output here. -->


================================================
FILE: .github/ISSUE_TEMPLATE/chore.md
================================================
---
name: Chore
about: Suggest a chore that will help contributors and doesn't affect end users.
title: ''
labels: type/chore, status/triage
assignees: ''

---

### Description
<!-- A concise description of why this chore matters, who will enjoy it and how. -->

### Proposed solution
<!-- A clear and concise description of how do you think the chore should be implemented. -->

### Additional context
<!-- Add any other context or screenshots about the chore that may help. -->


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
contact_links:
  - name: Questions
    url: https://github.com/buildpacks/community/discussions
    about: Have a general question?


================================================
FILE: .github/ISSUE_TEMPLATE/feature.md
================================================
---
name: Feature request
about: Suggest a new feature or an improvement to existing functionality
title: ''
labels: type/enhancement, status/triage
assignees: ''

---

### Description
<!-- A concise description of what problem the feature solves and why solving it matters.
Ex. My shoelaces won't stay tied and I keep tripping... -->

### Proposed solution
<!-- A clear and concise description of what you want to happen.
Ex. We could have velcro on the shoes instead of laces...-->

### Describe alternatives you've considered
<!-- A clear and concise description of any alternative solutions or features you've considered. -->

### Additional context
- [ ] This feature should be documented somewhere

<!-- Add any other context or screenshots about the feature request here. -->


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
  # Set update schedule for gomod
  - package-ecosystem: "gomod"
    directory: "/"
    schedule:
      interval: "weekly"
    groups:
      # Group all minor/patch go dependencies into a single PR.
      go-dependencies:
        update-types:
          - "minor"
          - "patch"
    labels:
      - "dependencies"
      - "go"
      - "type/chore"

  # Set update schedule for GitHub Actions
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
    labels:
      - "dependencies"
      - "github_actions"
      - "type/chore"


================================================
FILE: .github/labeler.yml
================================================
# Rules defined here: https://github.com/actions/labeler
type/chore:
  - '*.md'
  - '**/*.yml'
  - 'acceptance/**/*'
  - '.github/**/*'
  - 'go.mod'
  - 'go.sum'

type/enhancement:
  - '*.go'
  - '**/*.go'


================================================
FILE: .github/pull_request_template.md
================================================
## Summary
<!-- Provide a high-level summary of the change. -->

## Output
<!-- If applicable, please provide examples of the output changes. -->

#### Before

#### After

## Documentation
<!-- If this change should be documented, please create an issue or PR on https://github.com/buildpacks/docs and link below. -->
<!-- NOTE: This can be added (by editing the issue) after the PR is opened. -->

- Should this change be documented?
    - [ ] Yes, see #___
    - [ ] No

## Related
<!-- If this PR addresses an issue, please provide issue number below. -->

Resolves #___


================================================
FILE: .github/release-notes.yml
================================================
labels:
  breaking-change:
    title: Breaking Changes
    description: Changes that may require a little bit of thought before upgrading.
    weight: 8
  experimental:
    title: Experimental
    description: |
      _Experimental features that may change in the future. Use them at your discretion._
      
      _To enable these features, run `pack config experimental true`, or add `experimental = true` to your `~/.pack/config.toml`._
    weight: 9
  type/enhancement:
    title: Features
    weight: 1
  type/bug:
    title: Bugs
    weight: 2

sections:
  contributors:
    title: Contributors
    description: |
      We'd like to acknowledge that this release wouldn't be as good without the help of the following amazing contributors:

================================================
FILE: .github/workflows/actions/release-notes/.gitignore
================================================
node_modules/
changelog.md

================================================
FILE: .github/workflows/actions/release-notes/README.md
================================================
## Changelog

A simple script that generates the changelog for pack based on a pack version (aka milestone).

### Usage

#### Config

This script takes a configuration file in the following format:

```yaml
labels:
  # labels are grouped based on order but displayed based on weight
  <label>:
    # title for the group of issues
    title: <string>
    # description for the group of issues
    description: <string>
    # description for the group of issues
    weight: <number>

sections:
  contributors:
    # title for the contributors section, hidden if empty
    title: <string>
    # description for the contributors section
    description: <string>
```

#### Github Action

```yaml
- name: Generate changelog
  uses: ./.github/workflows/actions/release-notes
  id: changelog
  with:
    github-token: ${{ secrets.GITHUB_TOKEN }}
    milestone: <milestone>
```

#### Local

To run/test locally:

```shell script
# install deps
npm install

# set required info
export GITHUB_TOKEN="<GITHUB_PAT_TOKEN>"

# run locally
npm run local -- <milestone> <config-path>
```

Notice that a file `changelog.md` is created as well for further inspection.

### Updating

This action is packaged for distribution without vendoring `npm_modules` with use of [ncc](https://github.com/vercel/ncc).

When making changes to the action, compile it and commit the changes.

```shell script
npm run-script build
```

================================================
FILE: .github/workflows/actions/release-notes/action.js
================================================
/*
 * This file is the main entrypoint for GitHub Actions (see action.yml)
 */

const core = require('@actions/core');
const github = require('@actions/github');
const releaseNotes = require('./release-notes.js');

try {
  const defaultConfigFile = "./.github/release-notes.yml";

  releaseNotes(
    github.getOctokit(core.getInput("github-token", {required: true})),
    `${github.context.repo.owner}/${github.context.repo.repo}`,
    core.getInput('milestone', {required: true}),
    core.getInput('configFile') || defaultConfigFile,
  )
    .then(contents => {
      console.log("GENERATED CHANGELOG\n=========================\n", contents);
      core.setOutput("contents", contents)
    })
    .catch(error => core.setFailed(error.message))
} catch (error) {
  core.setFailed(error.message);
}

================================================
FILE: .github/workflows/actions/release-notes/action.yml
================================================
name: 'Release Notes'
description: 'Generate release notes based on pull requests in a milestone.'
inputs:
  github-token:
    description: GitHub token used to search for pull requests.
    required: true
  milestone:
    description: The milestone used to look for pull requests.
    required: true
  config-file:
    description: Path to the configuration (yaml) file.
    required: false
    default: "./.github/release-notes.yml"
outputs:
  contents:
    description: The contents of the release notes.
runs:
  using: 'node16'
  main: 'dist/index.js'

================================================
FILE: .github/workflows/actions/release-notes/dist/index.js
================================================
module.exports =
/******/ (() => { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ 4582:
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

/*
 * This file is the main entrypoint for GitHub Actions (see action.yml)
 */

const core = __webpack_require__(2186);
const github = __webpack_require__(5438);
const releaseNotes = __webpack_require__(8571);

try {
  const defaultConfigFile = "./.github/release-notes.yml";

  releaseNotes(
    github.getOctokit(core.getInput("github-token", {required: true})),
    `${github.context.repo.owner}/${github.context.repo.repo}`,
    core.getInput('milestone', {required: true}),
    core.getInput('configFile') || defaultConfigFile,
  )
    .then(contents => {
      console.log("GENERATED CHANGELOG\n=========================\n", contents);
      core.setOutput("contents", contents)
    })
    .catch(error => core.setFailed(error.message))
} catch (error) {
  core.setFailed(error.message);
}

/***/ }),

/***/ 7351:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.issue = exports.issueCommand = void 0;
const os = __importStar(__webpack_require__(2087));
const utils_1 = __webpack_require__(5278);
/**
 * Commands
 *
 * Command Format:
 *   ::name key=value,key=value::message
 *
 * Examples:
 *   ::warning::This is the message
 *   ::set-env name=MY_VAR::some value
 */
function issueCommand(command, properties, message) {
    const cmd = new Command(command, properties, message);
    process.stdout.write(cmd.toString() + os.EOL);
}
exports.issueCommand = issueCommand;
function issue(name, message = '') {
    issueCommand(name, {}, message);
}
exports.issue = issue;
const CMD_STRING = '::';
class Command {
    constructor(command, properties, message) {
        if (!command) {
            command = 'missing.command';
        }
        this.command = command;
        this.properties = properties;
        this.message = message;
    }
    toString() {
        let cmdStr = CMD_STRING + this.command;
        if (this.properties && Object.keys(this.properties).length > 0) {
            cmdStr += ' ';
            let first = true;
            for (const key in this.properties) {
                if (this.properties.hasOwnProperty(key)) {
                    const val = this.properties[key];
                    if (val) {
                        if (first) {
                            first = false;
                        }
                        else {
                            cmdStr += ',';
                        }
                        cmdStr += `${key}=${escapeProperty(val)}`;
                    }
                }
            }
        }
        cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
        return cmdStr;
    }
}
function escapeData(s) {
    return utils_1.toCommandValue(s)
        .replace(/%/g, '%25')
        .replace(/\r/g, '%0D')
        .replace(/\n/g, '%0A');
}
function escapeProperty(s) {
    return utils_1.toCommandValue(s)
        .replace(/%/g, '%25')
        .replace(/\r/g, '%0D')
        .replace(/\n/g, '%0A')
        .replace(/:/g, '%3A')
        .replace(/,/g, '%2C');
}
//# sourceMappingURL=command.js.map

/***/ }),

/***/ 2186:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;
const command_1 = __webpack_require__(7351);
const file_command_1 = __webpack_require__(717);
const utils_1 = __webpack_require__(5278);
const os = __importStar(__webpack_require__(2087));
const path = __importStar(__webpack_require__(5622));
const oidc_utils_1 = __webpack_require__(8041);
/**
 * The code to exit an action
 */
var ExitCode;
(function (ExitCode) {
    /**
     * A code indicating that the action was successful
     */
    ExitCode[ExitCode["Success"] = 0] = "Success";
    /**
     * A code indicating that the action was a failure
     */
    ExitCode[ExitCode["Failure"] = 1] = "Failure";
})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
//-----------------------------------------------------------------------
// Variables
//-----------------------------------------------------------------------
/**
 * Sets env variable for this action and future actions in the job
 * @param name the name of the variable to set
 * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify
 */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function exportVariable(name, val) {
    const convertedVal = utils_1.toCommandValue(val);
    process.env[name] = convertedVal;
    const filePath = process.env['GITHUB_ENV'] || '';
    if (filePath) {
        return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));
    }
    command_1.issueCommand('set-env', { name }, convertedVal);
}
exports.exportVariable = exportVariable;
/**
 * Registers a secret which will get masked from logs
 * @param secret value of the secret
 */
function setSecret(secret) {
    command_1.issueCommand('add-mask', {}, secret);
}
exports.setSecret = setSecret;
/**
 * Prepends inputPath to the PATH (for this action and future actions)
 * @param inputPath
 */
function addPath(inputPath) {
    const filePath = process.env['GITHUB_PATH'] || '';
    if (filePath) {
        file_command_1.issueFileCommand('PATH', inputPath);
    }
    else {
        command_1.issueCommand('add-path', {}, inputPath);
    }
    process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
}
exports.addPath = addPath;
/**
 * Gets the value of an input.
 * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.
 * Returns an empty string if the value is not defined.
 *
 * @param     name     name of the input to get
 * @param     options  optional. See InputOptions.
 * @returns   string
 */
function getInput(name, options) {
    const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
    if (options && options.required && !val) {
        throw new Error(`Input required and not supplied: ${name}`);
    }
    if (options && options.trimWhitespace === false) {
        return val;
    }
    return val.trim();
}
exports.getInput = getInput;
/**
 * Gets the values of an multiline input.  Each value is also trimmed.
 *
 * @param     name     name of the input to get
 * @param     options  optional. See InputOptions.
 * @returns   string[]
 *
 */
function getMultilineInput(name, options) {
    const inputs = getInput(name, options)
        .split('\n')
        .filter(x => x !== '');
    if (options && options.trimWhitespace === false) {
        return inputs;
    }
    return inputs.map(input => input.trim());
}
exports.getMultilineInput = getMultilineInput;
/**
 * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification.
 * Support boolean input list: `true | True | TRUE | false | False | FALSE` .
 * The return value is also in boolean type.
 * ref: https://yaml.org/spec/1.2/spec.html#id2804923
 *
 * @param     name     name of the input to get
 * @param     options  optional. See InputOptions.
 * @returns   boolean
 */
function getBooleanInput(name, options) {
    const trueValue = ['true', 'True', 'TRUE'];
    const falseValue = ['false', 'False', 'FALSE'];
    const val = getInput(name, options);
    if (trueValue.includes(val))
        return true;
    if (falseValue.includes(val))
        return false;
    throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` +
        `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
}
exports.getBooleanInput = getBooleanInput;
/**
 * Sets the value of an output.
 *
 * @param     name     name of the output to set
 * @param     value    value to store. Non-string values will be converted to a string via JSON.stringify
 */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function setOutput(name, value) {
    const filePath = process.env['GITHUB_OUTPUT'] || '';
    if (filePath) {
        return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));
    }
    process.stdout.write(os.EOL);
    command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));
}
exports.setOutput = setOutput;
/**
 * Enables or disables the echoing of commands into stdout for the rest of the step.
 * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.
 *
 */
function setCommandEcho(enabled) {
    command_1.issue('echo', enabled ? 'on' : 'off');
}
exports.setCommandEcho = setCommandEcho;
//-----------------------------------------------------------------------
// Results
//-----------------------------------------------------------------------
/**
 * Sets the action status to failed.
 * When the action exits it will be with an exit code of 1
 * @param message add error issue message
 */
function setFailed(message) {
    process.exitCode = ExitCode.Failure;
    error(message);
}
exports.setFailed = setFailed;
//-----------------------------------------------------------------------
// Logging Commands
//-----------------------------------------------------------------------
/**
 * Gets whether Actions Step Debug is on or not
 */
function isDebug() {
    return process.env['RUNNER_DEBUG'] === '1';
}
exports.isDebug = isDebug;
/**
 * Writes debug message to user log
 * @param message debug message
 */
function debug(message) {
    command_1.issueCommand('debug', {}, message);
}
exports.debug = debug;
/**
 * Adds an error issue
 * @param message error issue message. Errors will be converted to string via toString()
 * @param properties optional properties to add to the annotation.
 */
function error(message, properties = {}) {
    command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
}
exports.error = error;
/**
 * Adds a warning issue
 * @param message warning issue message. Errors will be converted to string via toString()
 * @param properties optional properties to add to the annotation.
 */
function warning(message, properties = {}) {
    command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
}
exports.warning = warning;
/**
 * Adds a notice issue
 * @param message notice issue message. Errors will be converted to string via toString()
 * @param properties optional properties to add to the annotation.
 */
function notice(message, properties = {}) {
    command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
}
exports.notice = notice;
/**
 * Writes info to log with console.log.
 * @param message info message
 */
function info(message) {
    process.stdout.write(message + os.EOL);
}
exports.info = info;
/**
 * Begin an output group.
 *
 * Output until the next `groupEnd` will be foldable in this group
 *
 * @param name The name of the output group
 */
function startGroup(name) {
    command_1.issue('group', name);
}
exports.startGroup = startGroup;
/**
 * End an output group.
 */
function endGroup() {
    command_1.issue('endgroup');
}
exports.endGroup = endGroup;
/**
 * Wrap an asynchronous function call in a group.
 *
 * Returns the same type as the function itself.
 *
 * @param name The name of the group
 * @param fn The function to wrap in the group
 */
function group(name, fn) {
    return __awaiter(this, void 0, void 0, function* () {
        startGroup(name);
        let result;
        try {
            result = yield fn();
        }
        finally {
            endGroup();
        }
        return result;
    });
}
exports.group = group;
//-----------------------------------------------------------------------
// Wrapper action state
//-----------------------------------------------------------------------
/**
 * Saves state for current action, the state can only be retrieved by this action's post job execution.
 *
 * @param     name     name of the state to store
 * @param     value    value to store. Non-string values will be converted to a string via JSON.stringify
 */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function saveState(name, value) {
    const filePath = process.env['GITHUB_STATE'] || '';
    if (filePath) {
        return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));
    }
    command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));
}
exports.saveState = saveState;
/**
 * Gets the value of an state set by this action's main execution.
 *
 * @param     name     name of the state to get
 * @returns   string
 */
function getState(name) {
    return process.env[`STATE_${name}`] || '';
}
exports.getState = getState;
function getIDToken(aud) {
    return __awaiter(this, void 0, void 0, function* () {
        return yield oidc_utils_1.OidcClient.getIDToken(aud);
    });
}
exports.getIDToken = getIDToken;
/**
 * Summary exports
 */
var summary_1 = __webpack_require__(1327);
Object.defineProperty(exports, "summary", ({ enumerable: true, get: function () { return summary_1.summary; } }));
/**
 * @deprecated use core.summary
 */
var summary_2 = __webpack_require__(1327);
Object.defineProperty(exports, "markdownSummary", ({ enumerable: true, get: function () { return summary_2.markdownSummary; } }));
/**
 * Path exports
 */
var path_utils_1 = __webpack_require__(2981);
Object.defineProperty(exports, "toPosixPath", ({ enumerable: true, get: function () { return path_utils_1.toPosixPath; } }));
Object.defineProperty(exports, "toWin32Path", ({ enumerable: true, get: function () { return path_utils_1.toWin32Path; } }));
Object.defineProperty(exports, "toPlatformPath", ({ enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }));
//# sourceMappingURL=core.js.map

/***/ }),

/***/ 717:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

// For internal use, subject to change.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.prepareKeyValueMessage = exports.issueFileCommand = void 0;
// We use any as a valid input type
/* eslint-disable @typescript-eslint/no-explicit-any */
const fs = __importStar(__webpack_require__(5747));
const os = __importStar(__webpack_require__(2087));
const uuid_1 = __webpack_require__(4552);
const utils_1 = __webpack_require__(5278);
function issueFileCommand(command, message) {
    const filePath = process.env[`GITHUB_${command}`];
    if (!filePath) {
        throw new Error(`Unable to find environment variable for file command ${command}`);
    }
    if (!fs.existsSync(filePath)) {
        throw new Error(`Missing file at path: ${filePath}`);
    }
    fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {
        encoding: 'utf8'
    });
}
exports.issueFileCommand = issueFileCommand;
function prepareKeyValueMessage(key, value) {
    const delimiter = `ghadelimiter_${uuid_1.v4()}`;
    const convertedValue = utils_1.toCommandValue(value);
    // These should realistically never happen, but just in case someone finds a
    // way to exploit uuid generation let's not allow keys or values that contain
    // the delimiter.
    if (key.includes(delimiter)) {
        throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`);
    }
    if (convertedValue.includes(delimiter)) {
        throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
    }
    return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;
}
exports.prepareKeyValueMessage = prepareKeyValueMessage;
//# sourceMappingURL=file-command.js.map

/***/ }),

/***/ 8041:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.OidcClient = void 0;
const http_client_1 = __webpack_require__(1404);
const auth_1 = __webpack_require__(6758);
const core_1 = __webpack_require__(2186);
class OidcClient {
    static createHttpClient(allowRetry = true, maxRetry = 10) {
        const requestOptions = {
            allowRetries: allowRetry,
            maxRetries: maxRetry
        };
        return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);
    }
    static getRequestToken() {
        const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];
        if (!token) {
            throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');
        }
        return token;
    }
    static getIDTokenUrl() {
        const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];
        if (!runtimeUrl) {
            throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');
        }
        return runtimeUrl;
    }
    static getCall(id_token_url) {
        var _a;
        return __awaiter(this, void 0, void 0, function* () {
            const httpclient = OidcClient.createHttpClient();
            const res = yield httpclient
                .getJson(id_token_url)
                .catch(error => {
                throw new Error(`Failed to get ID Token. \n 
        Error Code : ${error.statusCode}\n 
        Error Message: ${error.result.message}`);
            });
            const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;
            if (!id_token) {
                throw new Error('Response json body do not have ID Token field');
            }
            return id_token;
        });
    }
    static getIDToken(audience) {
        return __awaiter(this, void 0, void 0, function* () {
            try {
                // New ID Token is requested from action service
                let id_token_url = OidcClient.getIDTokenUrl();
                if (audience) {
                    const encodedAudience = encodeURIComponent(audience);
                    id_token_url = `${id_token_url}&audience=${encodedAudience}`;
                }
                core_1.debug(`ID token url is ${id_token_url}`);
                const id_token = yield OidcClient.getCall(id_token_url);
                core_1.setSecret(id_token);
                return id_token;
            }
            catch (error) {
                throw new Error(`Error message: ${error.message}`);
            }
        });
    }
}
exports.OidcClient = OidcClient;
//# sourceMappingURL=oidc-utils.js.map

/***/ }),

/***/ 2981:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;
const path = __importStar(__webpack_require__(5622));
/**
 * toPosixPath converts the given path to the posix form. On Windows, \\ will be
 * replaced with /.
 *
 * @param pth. Path to transform.
 * @return string Posix path.
 */
function toPosixPath(pth) {
    return pth.replace(/[\\]/g, '/');
}
exports.toPosixPath = toPosixPath;
/**
 * toWin32Path converts the given path to the win32 form. On Linux, / will be
 * replaced with \\.
 *
 * @param pth. Path to transform.
 * @return string Win32 path.
 */
function toWin32Path(pth) {
    return pth.replace(/[/]/g, '\\');
}
exports.toWin32Path = toWin32Path;
/**
 * toPlatformPath converts the given path to a platform-specific path. It does
 * this by replacing instances of / and \ with the platform-specific path
 * separator.
 *
 * @param pth The path to platformize.
 * @return string The platform-specific path.
 */
function toPlatformPath(pth) {
    return pth.replace(/[/\\]/g, path.sep);
}
exports.toPlatformPath = toPlatformPath;
//# sourceMappingURL=path-utils.js.map

/***/ }),

/***/ 1327:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;
const os_1 = __webpack_require__(2087);
const fs_1 = __webpack_require__(5747);
const { access, appendFile, writeFile } = fs_1.promises;
exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';
exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';
class Summary {
    constructor() {
        this._buffer = '';
    }
    /**
     * Finds the summary file path from the environment, rejects if env var is not found or file does not exist
     * Also checks r/w permissions.
     *
     * @returns step summary file path
     */
    filePath() {
        return __awaiter(this, void 0, void 0, function* () {
            if (this._filePath) {
                return this._filePath;
            }
            const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];
            if (!pathFromEnv) {
                throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);
            }
            try {
                yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);
            }
            catch (_a) {
                throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);
            }
            this._filePath = pathFromEnv;
            return this._filePath;
        });
    }
    /**
     * Wraps content in an HTML tag, adding any HTML attributes
     *
     * @param {string} tag HTML tag to wrap
     * @param {string | null} content content within the tag
     * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add
     *
     * @returns {string} content wrapped in HTML element
     */
    wrap(tag, content, attrs = {}) {
        const htmlAttrs = Object.entries(attrs)
            .map(([key, value]) => ` ${key}="${value}"`)
            .join('');
        if (!content) {
            return `<${tag}${htmlAttrs}>`;
        }
        return `<${tag}${htmlAttrs}>${content}</${tag}>`;
    }
    /**
     * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.
     *
     * @param {SummaryWriteOptions} [options] (optional) options for write operation
     *
     * @returns {Promise<Summary>} summary instance
     */
    write(options) {
        return __awaiter(this, void 0, void 0, function* () {
            const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);
            const filePath = yield this.filePath();
            const writeFunc = overwrite ? writeFile : appendFile;
            yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });
            return this.emptyBuffer();
        });
    }
    /**
     * Clears the summary buffer and wipes the summary file
     *
     * @returns {Summary} summary instance
     */
    clear() {
        return __awaiter(this, void 0, void 0, function* () {
            return this.emptyBuffer().write({ overwrite: true });
        });
    }
    /**
     * Returns the current summary buffer as a string
     *
     * @returns {string} string of summary buffer
     */
    stringify() {
        return this._buffer;
    }
    /**
     * If the summary buffer is empty
     *
     * @returns {boolen} true if the buffer is empty
     */
    isEmptyBuffer() {
        return this._buffer.length === 0;
    }
    /**
     * Resets the summary buffer without writing to summary file
     *
     * @returns {Summary} summary instance
     */
    emptyBuffer() {
        this._buffer = '';
        return this;
    }
    /**
     * Adds raw text to the summary buffer
     *
     * @param {string} text content to add
     * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)
     *
     * @returns {Summary} summary instance
     */
    addRaw(text, addEOL = false) {
        this._buffer += text;
        return addEOL ? this.addEOL() : this;
    }
    /**
     * Adds the operating system-specific end-of-line marker to the buffer
     *
     * @returns {Summary} summary instance
     */
    addEOL() {
        return this.addRaw(os_1.EOL);
    }
    /**
     * Adds an HTML codeblock to the summary buffer
     *
     * @param {string} code content to render within fenced code block
     * @param {string} lang (optional) language to syntax highlight code
     *
     * @returns {Summary} summary instance
     */
    addCodeBlock(code, lang) {
        const attrs = Object.assign({}, (lang && { lang }));
        const element = this.wrap('pre', this.wrap('code', code), attrs);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML list to the summary buffer
     *
     * @param {string[]} items list of items to render
     * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)
     *
     * @returns {Summary} summary instance
     */
    addList(items, ordered = false) {
        const tag = ordered ? 'ol' : 'ul';
        const listItems = items.map(item => this.wrap('li', item)).join('');
        const element = this.wrap(tag, listItems);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML table to the summary buffer
     *
     * @param {SummaryTableCell[]} rows table rows
     *
     * @returns {Summary} summary instance
     */
    addTable(rows) {
        const tableBody = rows
            .map(row => {
            const cells = row
                .map(cell => {
                if (typeof cell === 'string') {
                    return this.wrap('td', cell);
                }
                const { header, data, colspan, rowspan } = cell;
                const tag = header ? 'th' : 'td';
                const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));
                return this.wrap(tag, data, attrs);
            })
                .join('');
            return this.wrap('tr', cells);
        })
            .join('');
        const element = this.wrap('table', tableBody);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds a collapsable HTML details element to the summary buffer
     *
     * @param {string} label text for the closed state
     * @param {string} content collapsable content
     *
     * @returns {Summary} summary instance
     */
    addDetails(label, content) {
        const element = this.wrap('details', this.wrap('summary', label) + content);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML image tag to the summary buffer
     *
     * @param {string} src path to the image you to embed
     * @param {string} alt text description of the image
     * @param {SummaryImageOptions} options (optional) addition image attributes
     *
     * @returns {Summary} summary instance
     */
    addImage(src, alt, options) {
        const { width, height } = options || {};
        const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));
        const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML section heading element
     *
     * @param {string} text heading text
     * @param {number | string} [level=1] (optional) the heading level, default: 1
     *
     * @returns {Summary} summary instance
     */
    addHeading(text, level) {
        const tag = `h${level}`;
        const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)
            ? tag
            : 'h1';
        const element = this.wrap(allowedTag, text);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML thematic break (<hr>) to the summary buffer
     *
     * @returns {Summary} summary instance
     */
    addSeparator() {
        const element = this.wrap('hr', null);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML line break (<br>) to the summary buffer
     *
     * @returns {Summary} summary instance
     */
    addBreak() {
        const element = this.wrap('br', null);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML blockquote to the summary buffer
     *
     * @param {string} text quote text
     * @param {string} cite (optional) citation url
     *
     * @returns {Summary} summary instance
     */
    addQuote(text, cite) {
        const attrs = Object.assign({}, (cite && { cite }));
        const element = this.wrap('blockquote', text, attrs);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML anchor tag to the summary buffer
     *
     * @param {string} text link text/content
     * @param {string} href hyperlink
     *
     * @returns {Summary} summary instance
     */
    addLink(text, href) {
        const element = this.wrap('a', text, { href });
        return this.addRaw(element).addEOL();
    }
}
const _summary = new Summary();
/**
 * @deprecated use `core.summary`
 */
exports.markdownSummary = _summary;
exports.summary = _summary;
//# sourceMappingURL=summary.js.map

/***/ }),

/***/ 5278:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

// We use any as a valid input type
/* eslint-disable @typescript-eslint/no-explicit-any */
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.toCommandProperties = exports.toCommandValue = void 0;
/**
 * Sanitizes an input into a string so it can be passed into issueCommand safely
 * @param input input to sanitize into a string
 */
function toCommandValue(input) {
    if (input === null || input === undefined) {
        return '';
    }
    else if (typeof input === 'string' || input instanceof String) {
        return input;
    }
    return JSON.stringify(input);
}
exports.toCommandValue = toCommandValue;
/**
 *
 * @param annotationProperties
 * @returns The command properties to send with the actual annotation command
 * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646
 */
function toCommandProperties(annotationProperties) {
    if (!Object.keys(annotationProperties).length) {
        return {};
    }
    return {
        title: annotationProperties.title,
        file: annotationProperties.file,
        line: annotationProperties.startLine,
        endLine: annotationProperties.endLine,
        col: annotationProperties.startColumn,
        endColumn: annotationProperties.endColumn
    };
}
exports.toCommandProperties = toCommandProperties;
//# sourceMappingURL=utils.js.map

/***/ }),

/***/ 6758:
/***/ (function(__unused_webpack_module, exports) {

"use strict";

var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0;
class BasicCredentialHandler {
    constructor(username, password) {
        this.username = username;
        this.password = password;
    }
    prepareRequest(options) {
        if (!options.headers) {
            throw Error('The request has no headers');
        }
        options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;
    }
    // This handler cannot handle 401
    canHandleAuthentication() {
        return false;
    }
    handleAuthentication() {
        return __awaiter(this, void 0, void 0, function* () {
            throw new Error('not implemented');
        });
    }
}
exports.BasicCredentialHandler = BasicCredentialHandler;
class BearerCredentialHandler {
    constructor(token) {
        this.token = token;
    }
    // currently implements pre-authorization
    // TODO: support preAuth = false where it hooks on 401
    prepareRequest(options) {
        if (!options.headers) {
            throw Error('The request has no headers');
        }
        options.headers['Authorization'] = `Bearer ${this.token}`;
    }
    // This handler cannot handle 401
    canHandleAuthentication() {
        return false;
    }
    handleAuthentication() {
        return __awaiter(this, void 0, void 0, function* () {
            throw new Error('not implemented');
        });
    }
}
exports.BearerCredentialHandler = BearerCredentialHandler;
class PersonalAccessTokenCredentialHandler {
    constructor(token) {
        this.token = token;
    }
    // currently implements pre-authorization
    // TODO: support preAuth = false where it hooks on 401
    prepareRequest(options) {
        if (!options.headers) {
            throw Error('The request has no headers');
        }
        options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;
    }
    // This handler cannot handle 401
    canHandleAuthentication() {
        return false;
    }
    handleAuthentication() {
        return __awaiter(this, void 0, void 0, function* () {
            throw new Error('not implemented');
        });
    }
}
exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler;
//# sourceMappingURL=auth.js.map

/***/ }),

/***/ 1404:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

/* eslint-disable @typescript-eslint/no-explicit-any */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;
const http = __importStar(__webpack_require__(8605));
const https = __importStar(__webpack_require__(7211));
const pm = __importStar(__webpack_require__(2843));
const tunnel = __importStar(__webpack_require__(4294));
var HttpCodes;
(function (HttpCodes) {
    HttpCodes[HttpCodes["OK"] = 200] = "OK";
    HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices";
    HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently";
    HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved";
    HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther";
    HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified";
    HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy";
    HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy";
    HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect";
    HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect";
    HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest";
    HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized";
    HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired";
    HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden";
    HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound";
    HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed";
    HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable";
    HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired";
    HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout";
    HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict";
    HttpCodes[HttpCodes["Gone"] = 410] = "Gone";
    HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests";
    HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError";
    HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented";
    HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway";
    HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable";
    HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout";
})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));
var Headers;
(function (Headers) {
    Headers["Accept"] = "accept";
    Headers["ContentType"] = "content-type";
})(Headers = exports.Headers || (exports.Headers = {}));
var MediaTypes;
(function (MediaTypes) {
    MediaTypes["ApplicationJson"] = "application/json";
})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));
/**
 * Returns the proxy URL, depending upon the supplied url and proxy environment variables.
 * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 */
function getProxyUrl(serverUrl) {
    const proxyUrl = pm.getProxyUrl(new URL(serverUrl));
    return proxyUrl ? proxyUrl.href : '';
}
exports.getProxyUrl = getProxyUrl;
const HttpRedirectCodes = [
    HttpCodes.MovedPermanently,
    HttpCodes.ResourceMoved,
    HttpCodes.SeeOther,
    HttpCodes.TemporaryRedirect,
    HttpCodes.PermanentRedirect
];
const HttpResponseRetryCodes = [
    HttpCodes.BadGateway,
    HttpCodes.ServiceUnavailable,
    HttpCodes.GatewayTimeout
];
const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];
const ExponentialBackoffCeiling = 10;
const ExponentialBackoffTimeSlice = 5;
class HttpClientError extends Error {
    constructor(message, statusCode) {
        super(message);
        this.name = 'HttpClientError';
        this.statusCode = statusCode;
        Object.setPrototypeOf(this, HttpClientError.prototype);
    }
}
exports.HttpClientError = HttpClientError;
class HttpClientResponse {
    constructor(message) {
        this.message = message;
    }
    readBody() {
        return __awaiter(this, void 0, void 0, function* () {
            return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
                let output = Buffer.alloc(0);
                this.message.on('data', (chunk) => {
                    output = Buffer.concat([output, chunk]);
                });
                this.message.on('end', () => {
                    resolve(output.toString());
                });
            }));
        });
    }
}
exports.HttpClientResponse = HttpClientResponse;
function isHttps(requestUrl) {
    const parsedUrl = new URL(requestUrl);
    return parsedUrl.protocol === 'https:';
}
exports.isHttps = isHttps;
class HttpClient {
    constructor(userAgent, handlers, requestOptions) {
        this._ignoreSslError = false;
        this._allowRedirects = true;
        this._allowRedirectDowngrade = false;
        this._maxRedirects = 50;
        this._allowRetries = false;
        this._maxRetries = 1;
        this._keepAlive = false;
        this._disposed = false;
        this.userAgent = userAgent;
        this.handlers = handlers || [];
        this.requestOptions = requestOptions;
        if (requestOptions) {
            if (requestOptions.ignoreSslError != null) {
                this._ignoreSslError = requestOptions.ignoreSslError;
            }
            this._socketTimeout = requestOptions.socketTimeout;
            if (requestOptions.allowRedirects != null) {
                this._allowRedirects = requestOptions.allowRedirects;
            }
            if (requestOptions.allowRedirectDowngrade != null) {
                this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;
            }
            if (requestOptions.maxRedirects != null) {
                this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);
            }
            if (requestOptions.keepAlive != null) {
                this._keepAlive = requestOptions.keepAlive;
            }
            if (requestOptions.allowRetries != null) {
                this._allowRetries = requestOptions.allowRetries;
            }
            if (requestOptions.maxRetries != null) {
                this._maxRetries = requestOptions.maxRetries;
            }
        }
    }
    options(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});
        });
    }
    get(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('GET', requestUrl, null, additionalHeaders || {});
        });
    }
    del(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('DELETE', requestUrl, null, additionalHeaders || {});
        });
    }
    post(requestUrl, data, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('POST', requestUrl, data, additionalHeaders || {});
        });
    }
    patch(requestUrl, data, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('PATCH', requestUrl, data, additionalHeaders || {});
        });
    }
    put(requestUrl, data, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('PUT', requestUrl, data, additionalHeaders || {});
        });
    }
    head(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('HEAD', requestUrl, null, additionalHeaders || {});
        });
    }
    sendStream(verb, requestUrl, stream, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request(verb, requestUrl, stream, additionalHeaders);
        });
    }
    /**
     * Gets a typed object from an endpoint
     * Be aware that not found returns a null.  Other errors (4xx, 5xx) reject the promise
     */
    getJson(requestUrl, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            const res = yield this.get(requestUrl, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    postJson(requestUrl, obj, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            const data = JSON.stringify(obj, null, 2);
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
            const res = yield this.post(requestUrl, data, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    putJson(requestUrl, obj, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            const data = JSON.stringify(obj, null, 2);
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
            const res = yield this.put(requestUrl, data, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    patchJson(requestUrl, obj, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            const data = JSON.stringify(obj, null, 2);
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
            const res = yield this.patch(requestUrl, data, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    /**
     * Makes a raw http request.
     * All other methods such as get, post, patch, and request ultimately call this.
     * Prefer get, del, post and patch
     */
    request(verb, requestUrl, data, headers) {
        return __awaiter(this, void 0, void 0, function* () {
            if (this._disposed) {
                throw new Error('Client has already been disposed.');
            }
            const parsedUrl = new URL(requestUrl);
            let info = this._prepareRequest(verb, parsedUrl, headers);
            // Only perform retries on reads since writes may not be idempotent.
            const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)
                ? this._maxRetries + 1
                : 1;
            let numTries = 0;
            let response;
            do {
                response = yield this.requestRaw(info, data);
                // Check if it's an authentication challenge
                if (response &&
                    response.message &&
                    response.message.statusCode === HttpCodes.Unauthorized) {
                    let authenticationHandler;
                    for (const handler of this.handlers) {
                        if (handler.canHandleAuthentication(response)) {
                            authenticationHandler = handler;
                            break;
                        }
                    }
                    if (authenticationHandler) {
                        return authenticationHandler.handleAuthentication(this, info, data);
                    }
                    else {
                        // We have received an unauthorized response but have no handlers to handle it.
                        // Let the response return to the caller.
                        return response;
                    }
                }
                let redirectsRemaining = this._maxRedirects;
                while (response.message.statusCode &&
                    HttpRedirectCodes.includes(response.message.statusCode) &&
                    this._allowRedirects &&
                    redirectsRemaining > 0) {
                    const redirectUrl = response.message.headers['location'];
                    if (!redirectUrl) {
                        // if there's no location to redirect to, we won't
                        break;
                    }
                    const parsedRedirectUrl = new URL(redirectUrl);
                    if (parsedUrl.protocol === 'https:' &&
                        parsedUrl.protocol !== parsedRedirectUrl.protocol &&
                        !this._allowRedirectDowngrade) {
                        throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');
                    }
                    // we need to finish reading the response before reassigning response
                    // which will leak the open socket.
                    yield response.readBody();
                    // strip authorization header if redirected to a different hostname
                    if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {
                        for (const header in headers) {
                            // header names are case insensitive
                            if (header.toLowerCase() === 'authorization') {
                                delete headers[header];
                            }
                        }
                    }
                    // let's make the request with the new redirectUrl
                    info = this._prepareRequest(verb, parsedRedirectUrl, headers);
                    response = yield this.requestRaw(info, data);
                    redirectsRemaining--;
                }
                if (!response.message.statusCode ||
                    !HttpResponseRetryCodes.includes(response.message.statusCode)) {
                    // If not a retry code, return immediately instead of retrying
                    return response;
                }
                numTries += 1;
                if (numTries < maxTries) {
                    yield response.readBody();
                    yield this._performExponentialBackoff(numTries);
                }
            } while (numTries < maxTries);
            return response;
        });
    }
    /**
     * Needs to be called if keepAlive is set to true in request options.
     */
    dispose() {
        if (this._agent) {
            this._agent.destroy();
        }
        this._disposed = true;
    }
    /**
     * Raw request.
     * @param info
     * @param data
     */
    requestRaw(info, data) {
        return __awaiter(this, void 0, void 0, function* () {
            return new Promise((resolve, reject) => {
                function callbackForResult(err, res) {
                    if (err) {
                        reject(err);
                    }
                    else if (!res) {
                        // If `err` is not passed, then `res` must be passed.
                        reject(new Error('Unknown error'));
                    }
                    else {
                        resolve(res);
                    }
                }
                this.requestRawWithCallback(info, data, callbackForResult);
            });
        });
    }
    /**
     * Raw request with callback.
     * @param info
     * @param data
     * @param onResult
     */
    requestRawWithCallback(info, data, onResult) {
        if (typeof data === 'string') {
            if (!info.options.headers) {
                info.options.headers = {};
            }
            info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');
        }
        let callbackCalled = false;
        function handleResult(err, res) {
            if (!callbackCalled) {
                callbackCalled = true;
                onResult(err, res);
            }
        }
        const req = info.httpModule.request(info.options, (msg) => {
            const res = new HttpClientResponse(msg);
            handleResult(undefined, res);
        });
        let socket;
        req.on('socket', sock => {
            socket = sock;
        });
        // If we ever get disconnected, we want the socket to timeout eventually
        req.setTimeout(this._socketTimeout || 3 * 60000, () => {
            if (socket) {
                socket.end();
            }
            handleResult(new Error(`Request timeout: ${info.options.path}`));
        });
        req.on('error', function (err) {
            // err has statusCode property
            // res should have headers
            handleResult(err);
        });
        if (data && typeof data === 'string') {
            req.write(data, 'utf8');
        }
        if (data && typeof data !== 'string') {
            data.on('close', function () {
                req.end();
            });
            data.pipe(req);
        }
        else {
            req.end();
        }
    }
    /**
     * Gets an http agent. This function is useful when you need an http agent that handles
     * routing through a proxy server - depending upon the url and proxy environment variables.
     * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
     */
    getAgent(serverUrl) {
        const parsedUrl = new URL(serverUrl);
        return this._getAgent(parsedUrl);
    }
    _prepareRequest(method, requestUrl, headers) {
        const info = {};
        info.parsedUrl = requestUrl;
        const usingSsl = info.parsedUrl.protocol === 'https:';
        info.httpModule = usingSsl ? https : http;
        const defaultPort = usingSsl ? 443 : 80;
        info.options = {};
        info.options.host = info.parsedUrl.hostname;
        info.options.port = info.parsedUrl.port
            ? parseInt(info.parsedUrl.port)
            : defaultPort;
        info.options.path =
            (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');
        info.options.method = method;
        info.options.headers = this._mergeHeaders(headers);
        if (this.userAgent != null) {
            info.options.headers['user-agent'] = this.userAgent;
        }
        info.options.agent = this._getAgent(info.parsedUrl);
        // gives handlers an opportunity to participate
        if (this.handlers) {
            for (const handler of this.handlers) {
                handler.prepareRequest(info.options);
            }
        }
        return info;
    }
    _mergeHeaders(headers) {
        if (this.requestOptions && this.requestOptions.headers) {
            return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));
        }
        return lowercaseKeys(headers || {});
    }
    _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
        let clientHeader;
        if (this.requestOptions && this.requestOptions.headers) {
            clientHeader = lowercaseKeys(this.requestOptions.headers)[header];
        }
        return additionalHeaders[header] || clientHeader || _default;
    }
    _getAgent(parsedUrl) {
        let agent;
        const proxyUrl = pm.getProxyUrl(parsedUrl);
        const useProxy = proxyUrl && proxyUrl.hostname;
        if (this._keepAlive && useProxy) {
            agent = this._proxyAgent;
        }
        if (this._keepAlive && !useProxy) {
            agent = this._agent;
        }
        // if agent is already assigned use that agent.
        if (agent) {
            return agent;
        }
        const usingSsl = parsedUrl.protocol === 'https:';
        let maxSockets = 100;
        if (this.requestOptions) {
            maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;
        }
        // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.
        if (proxyUrl && proxyUrl.hostname) {
            const agentOptions = {
                maxSockets,
                keepAlive: this._keepAlive,
                proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {
                    proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`
                })), { host: proxyUrl.hostname, port: proxyUrl.port })
            };
            let tunnelAgent;
            const overHttps = proxyUrl.protocol === 'https:';
            if (usingSsl) {
                tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;
            }
            else {
                tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;
            }
            agent = tunnelAgent(agentOptions);
            this._proxyAgent = agent;
        }
        // if reusing agent across request and tunneling agent isn't assigned create a new agent
        if (this._keepAlive && !agent) {
            const options = { keepAlive: this._keepAlive, maxSockets };
            agent = usingSsl ? new https.Agent(options) : new http.Agent(options);
            this._agent = agent;
        }
        // if not using private agent and tunnel agent isn't setup then use global agent
        if (!agent) {
            agent = usingSsl ? https.globalAgent : http.globalAgent;
        }
        if (usingSsl && this._ignoreSslError) {
            // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
            // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
            // we have to cast it to any and change it directly
            agent.options = Object.assign(agent.options || {}, {
                rejectUnauthorized: false
            });
        }
        return agent;
    }
    _performExponentialBackoff(retryNumber) {
        return __awaiter(this, void 0, void 0, function* () {
            retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);
            const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);
            return new Promise(resolve => setTimeout(() => resolve(), ms));
        });
    }
    _processResponse(res, options) {
        return __awaiter(this, void 0, void 0, function* () {
            return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
                const statusCode = res.message.statusCode || 0;
                const response = {
                    statusCode,
                    result: null,
                    headers: {}
                };
                // not found leads to null obj returned
                if (statusCode === HttpCodes.NotFound) {
                    resolve(response);
                }
                // get the result from the body
                function dateTimeDeserializer(key, value) {
                    if (typeof value === 'string') {
                        const a = new Date(value);
                        if (!isNaN(a.valueOf())) {
                            return a;
                        }
                    }
                    return value;
                }
                let obj;
                let contents;
                try {
                    contents = yield res.readBody();
                    if (contents && contents.length > 0) {
                        if (options && options.deserializeDates) {
                            obj = JSON.parse(contents, dateTimeDeserializer);
                        }
                        else {
                            obj = JSON.parse(contents);
                        }
                        response.result = obj;
                    }
                    response.headers = res.message.headers;
                }
                catch (err) {
                    // Invalid resource (contents not json);  leaving result obj null
                }
                // note that 3xx redirects are handled by the http layer.
                if (statusCode > 299) {
                    let msg;
                    // if exception/error in body, attempt to get better error
                    if (obj && obj.message) {
                        msg = obj.message;
                    }
                    else if (contents && contents.length > 0) {
                        // it may be the case that the exception is in the body message as string
                        msg = contents;
                    }
                    else {
                        msg = `Failed request: (${statusCode})`;
                    }
                    const err = new HttpClientError(msg, statusCode);
                    err.result = response.result;
                    reject(err);
                }
                else {
                    resolve(response);
                }
            }));
        });
    }
}
exports.HttpClient = HttpClient;
const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 2843:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.checkBypass = exports.getProxyUrl = void 0;
function getProxyUrl(reqUrl) {
    const usingSsl = reqUrl.protocol === 'https:';
    if (checkBypass(reqUrl)) {
        return undefined;
    }
    const proxyVar = (() => {
        if (usingSsl) {
            return process.env['https_proxy'] || process.env['HTTPS_PROXY'];
        }
        else {
            return process.env['http_proxy'] || process.env['HTTP_PROXY'];
        }
    })();
    if (proxyVar) {
        return new URL(proxyVar);
    }
    else {
        return undefined;
    }
}
exports.getProxyUrl = getProxyUrl;
function checkBypass(reqUrl) {
    if (!reqUrl.hostname) {
        return false;
    }
    const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';
    if (!noProxy) {
        return false;
    }
    // Determine the request port
    let reqPort;
    if (reqUrl.port) {
        reqPort = Number(reqUrl.port);
    }
    else if (reqUrl.protocol === 'http:') {
        reqPort = 80;
    }
    else if (reqUrl.protocol === 'https:') {
        reqPort = 443;
    }
    // Format the request hostname and hostname with port
    const upperReqHosts = [reqUrl.hostname.toUpperCase()];
    if (typeof reqPort === 'number') {
        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
    }
    // Compare request host against noproxy
    for (const upperNoProxyItem of noProxy
        .split(',')
        .map(x => x.trim().toUpperCase())
        .filter(x => x)) {
        if (upperReqHosts.some(x => x === upperNoProxyItem)) {
            return true;
        }
    }
    return false;
}
exports.checkBypass = checkBypass;
//# sourceMappingURL=proxy.js.map

/***/ }),

/***/ 4087:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Context = void 0;
const fs_1 = __webpack_require__(5747);
const os_1 = __webpack_require__(2087);
class Context {
    /**
     * Hydrate the context from the environment
     */
    constructor() {
        this.payload = {};
        if (process.env.GITHUB_EVENT_PATH) {
            if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) {
                this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));
            }
            else {
                const path = process.env.GITHUB_EVENT_PATH;
                process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`);
            }
        }
        this.eventName = process.env.GITHUB_EVENT_NAME;
        this.sha = process.env.GITHUB_SHA;
        this.ref = process.env.GITHUB_REF;
        this.workflow = process.env.GITHUB_WORKFLOW;
        this.action = process.env.GITHUB_ACTION;
        this.actor = process.env.GITHUB_ACTOR;
        this.job = process.env.GITHUB_JOB;
        this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
        this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
    }
    get issue() {
        const payload = this.payload;
        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
    }
    get repo() {
        if (process.env.GITHUB_REPOSITORY) {
            const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');
            return { owner, repo };
        }
        if (this.payload.repository) {
            return {
                owner: this.payload.repository.owner.login,
                repo: this.payload.repository.name
            };
        }
        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
    }
}
exports.Context = Context;
//# sourceMappingURL=context.js.map

/***/ }),

/***/ 5438:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getOctokit = exports.context = void 0;
const Context = __importStar(__webpack_require__(4087));
const utils_1 = __webpack_require__(3030);
exports.context = new Context.Context();
/**
 * Returns a hydrated octokit ready to use for GitHub Actions
 *
 * @param     token    the repo PAT or GITHUB_TOKEN
 * @param     options  other options to set
 */
function getOctokit(token, options) {
    return new utils_1.GitHub(utils_1.getOctokitOptions(token, options));
}
exports.getOctokit = getOctokit;
//# sourceMappingURL=github.js.map

/***/ }),

/***/ 7914:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getApiBaseUrl = exports.getProxyAgent = exports.getAuthString = void 0;
const httpClient = __importStar(__webpack_require__(9925));
function getAuthString(token, options) {
    if (!token && !options.auth) {
        throw new Error('Parameter token or opts.auth is required');
    }
    else if (token && options.auth) {
        throw new Error('Parameters token and opts.auth may not both be specified');
    }
    return typeof options.auth === 'string' ? options.auth : `token ${token}`;
}
exports.getAuthString = getAuthString;
function getProxyAgent(destinationUrl) {
    const hc = new httpClient.HttpClient();
    return hc.getAgent(destinationUrl);
}
exports.getProxyAgent = getProxyAgent;
function getApiBaseUrl() {
    return process.env['GITHUB_API_URL'] || 'https://api.github.com';
}
exports.getApiBaseUrl = getApiBaseUrl;
//# sourceMappingURL=utils.js.map

/***/ }),

/***/ 3030:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getOctokitOptions = exports.GitHub = exports.context = void 0;
const Context = __importStar(__webpack_require__(4087));
const Utils = __importStar(__webpack_require__(7914));
// octokit + plugins
const core_1 = __webpack_require__(6762);
const plugin_rest_endpoint_methods_1 = __webpack_require__(3044);
const plugin_paginate_rest_1 = __webpack_require__(4193);
exports.context = new Context.Context();
const baseUrl = Utils.getApiBaseUrl();
const defaults = {
    baseUrl,
    request: {
        agent: Utils.getProxyAgent(baseUrl)
    }
};
exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(defaults);
/**
 * Convience function to correctly format Octokit Options to pass into the constructor.
 *
 * @param     token    the repo PAT or GITHUB_TOKEN
 * @param     options  other options to set
 */
function getOctokitOptions(token, options) {
    const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller
    // Auth
    const auth = Utils.getAuthString(token, opts);
    if (auth) {
        opts.auth = auth;
    }
    return opts;
}
exports.getOctokitOptions = getOctokitOptions;
//# sourceMappingURL=utils.js.map

/***/ }),

/***/ 9925:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
const url = __webpack_require__(8835);
const http = __webpack_require__(8605);
const https = __webpack_require__(7211);
const pm = __webpack_require__(6443);
let tunnel;
var HttpCodes;
(function (HttpCodes) {
    HttpCodes[HttpCodes["OK"] = 200] = "OK";
    HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices";
    HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently";
    HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved";
    HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther";
    HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified";
    HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy";
    HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy";
    HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect";
    HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect";
    HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest";
    HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized";
    HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired";
    HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden";
    HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound";
    HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed";
    HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable";
    HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired";
    HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout";
    HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict";
    HttpCodes[HttpCodes["Gone"] = 410] = "Gone";
    HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests";
    HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError";
    HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented";
    HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway";
    HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable";
    HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout";
})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));
var Headers;
(function (Headers) {
    Headers["Accept"] = "accept";
    Headers["ContentType"] = "content-type";
})(Headers = exports.Headers || (exports.Headers = {}));
var MediaTypes;
(function (MediaTypes) {
    MediaTypes["ApplicationJson"] = "application/json";
})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));
/**
 * Returns the proxy URL, depending upon the supplied url and proxy environment variables.
 * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 */
function getProxyUrl(serverUrl) {
    let proxyUrl = pm.getProxyUrl(url.parse(serverUrl));
    return proxyUrl ? proxyUrl.href : '';
}
exports.getProxyUrl = getProxyUrl;
const HttpRedirectCodes = [
    HttpCodes.MovedPermanently,
    HttpCodes.ResourceMoved,
    HttpCodes.SeeOther,
    HttpCodes.TemporaryRedirect,
    HttpCodes.PermanentRedirect
];
const HttpResponseRetryCodes = [
    HttpCodes.BadGateway,
    HttpCodes.ServiceUnavailable,
    HttpCodes.GatewayTimeout
];
const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];
const ExponentialBackoffCeiling = 10;
const ExponentialBackoffTimeSlice = 5;
class HttpClientResponse {
    constructor(message) {
        this.message = message;
    }
    readBody() {
        return new Promise(async (resolve, reject) => {
            let output = Buffer.alloc(0);
            this.message.on('data', (chunk) => {
                output = Buffer.concat([output, chunk]);
            });
            this.message.on('end', () => {
                resolve(output.toString());
            });
        });
    }
}
exports.HttpClientResponse = HttpClientResponse;
function isHttps(requestUrl) {
    let parsedUrl = url.parse(requestUrl);
    return parsedUrl.protocol === 'https:';
}
exports.isHttps = isHttps;
class HttpClient {
    constructor(userAgent, handlers, requestOptions) {
        this._ignoreSslError = false;
        this._allowRedirects = true;
        this._allowRedirectDowngrade = false;
        this._maxRedirects = 50;
        this._allowRetries = false;
        this._maxRetries = 1;
        this._keepAlive = false;
        this._disposed = false;
        this.userAgent = userAgent;
        this.handlers = handlers || [];
        this.requestOptions = requestOptions;
        if (requestOptions) {
            if (requestOptions.ignoreSslError != null) {
                this._ignoreSslError = requestOptions.ignoreSslError;
            }
            this._socketTimeout = requestOptions.socketTimeout;
            if (requestOptions.allowRedirects != null) {
                this._allowRedirects = requestOptions.allowRedirects;
            }
            if (requestOptions.allowRedirectDowngrade != null) {
                this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;
            }
            if (requestOptions.maxRedirects != null) {
                this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);
            }
            if (requestOptions.keepAlive != null) {
                this._keepAlive = requestOptions.keepAlive;
            }
            if (requestOptions.allowRetries != null) {
                this._allowRetries = requestOptions.allowRetries;
            }
            if (requestOptions.maxRetries != null) {
                this._maxRetries = requestOptions.maxRetries;
            }
        }
    }
    options(requestUrl, additionalHeaders) {
        return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});
    }
    get(requestUrl, additionalHeaders) {
        return this.request('GET', requestUrl, null, additionalHeaders || {});
    }
    del(requestUrl, additionalHeaders) {
        return this.request('DELETE', requestUrl, null, additionalHeaders || {});
    }
    post(requestUrl, data, additionalHeaders) {
        return this.request('POST', requestUrl, data, additionalHeaders || {});
    }
    patch(requestUrl, data, additionalHeaders) {
        return this.request('PATCH', requestUrl, data, additionalHeaders || {});
    }
    put(requestUrl, data, additionalHeaders) {
        return this.request('PUT', requestUrl, data, additionalHeaders || {});
    }
    head(requestUrl, additionalHeaders) {
        return this.request('HEAD', requestUrl, null, additionalHeaders || {});
    }
    sendStream(verb, requestUrl, stream, additionalHeaders) {
        return this.request(verb, requestUrl, stream, additionalHeaders);
    }
    /**
     * Gets a typed object from an endpoint
     * Be aware that not found returns a null.  Other errors (4xx, 5xx) reject the promise
     */
    async getJson(requestUrl, additionalHeaders = {}) {
        additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
        let res = await this.get(requestUrl, additionalHeaders);
        return this._processResponse(res, this.requestOptions);
    }
    async postJson(requestUrl, obj, additionalHeaders = {}) {
        let data = JSON.stringify(obj, null, 2);
        additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
        additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
        let res = await this.post(requestUrl, data, additionalHeaders);
        return this._processResponse(res, this.requestOptions);
    }
    async putJson(requestUrl, obj, additionalHeaders = {}) {
        let data = JSON.stringify(obj, null, 2);
        additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
        additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
        let res = await this.put(requestUrl, data, additionalHeaders);
        return this._processResponse(res, this.requestOptions);
    }
    async patchJson(requestUrl, obj, additionalHeaders = {}) {
        let data = JSON.stringify(obj, null, 2);
        additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
        additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
        let res = await this.patch(requestUrl, data, additionalHeaders);
        return this._processResponse(res, this.requestOptions);
    }
    /**
     * Makes a raw http request.
     * All other methods such as get, post, patch, and request ultimately call this.
     * Prefer get, del, post and patch
     */
    async request(verb, requestUrl, data, headers) {
        if (this._disposed) {
            throw new Error('Client has already been disposed.');
        }
        let parsedUrl = url.parse(requestUrl);
        let info = this._prepareRequest(verb, parsedUrl, headers);
        // Only perform retries on reads since writes may not be idempotent.
        let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1
            ? this._maxRetries + 1
            : 1;
        let numTries = 0;
        let response;
        while (numTries < maxTries) {
            response = await this.requestRaw(info, data);
            // Check if it's an authentication challenge
            if (response &&
                response.message &&
                response.message.statusCode === HttpCodes.Unauthorized) {
                let authenticationHandler;
                for (let i = 0; i < this.handlers.length; i++) {
                    if (this.handlers[i].canHandleAuthentication(response)) {
                        authenticationHandler = this.handlers[i];
                        break;
                    }
                }
                if (authenticationHandler) {
                    return authenticationHandler.handleAuthentication(this, info, data);
                }
                else {
                    // We have received an unauthorized response but have no handlers to handle it.
                    // Let the response return to the caller.
                    return response;
                }
            }
            let redirectsRemaining = this._maxRedirects;
            while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 &&
                this._allowRedirects &&
                redirectsRemaining > 0) {
                const redirectUrl = response.message.headers['location'];
                if (!redirectUrl) {
                    // if there's no location to redirect to, we won't
                    break;
                }
                let parsedRedirectUrl = url.parse(redirectUrl);
                if (parsedUrl.protocol == 'https:' &&
                    parsedUrl.protocol != parsedRedirectUrl.protocol &&
                    !this._allowRedirectDowngrade) {
                    throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');
                }
                // we need to finish reading the response before reassigning response
                // which will leak the open socket.
                await response.readBody();
                // strip authorization header if redirected to a different hostname
                if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {
                    for (let header in headers) {
                        // header names are case insensitive
                        if (header.toLowerCase() === 'authorization') {
                            delete headers[header];
                        }
                    }
                }
                // let's make the request with the new redirectUrl
                info = this._prepareRequest(verb, parsedRedirectUrl, headers);
                response = await this.requestRaw(info, data);
                redirectsRemaining--;
            }
            if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) {
                // If not a retry code, return immediately instead of retrying
                return response;
            }
            numTries += 1;
            if (numTries < maxTries) {
                await response.readBody();
                await this._performExponentialBackoff(numTries);
            }
        }
        return response;
    }
    /**
     * Needs to be called if keepAlive is set to true in request options.
     */
    dispose() {
        if (this._agent) {
            this._agent.destroy();
        }
        this._disposed = true;
    }
    /**
     * Raw request.
     * @param info
     * @param data
     */
    requestRaw(info, data) {
        return new Promise((resolve, reject) => {
            let callbackForResult = function (err, res) {
                if (err) {
                    reject(err);
                }
                resolve(res);
            };
            this.requestRawWithCallback(info, data, callbackForResult);
        });
    }
    /**
     * Raw request with callback.
     * @param info
     * @param data
     * @param onResult
     */
    requestRawWithCallback(info, data, onResult) {
        let socket;
        if (typeof data === 'string') {
            info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');
        }
        let callbackCalled = false;
        let handleResult = (err, res) => {
            if (!callbackCalled) {
                callbackCalled = true;
                onResult(err, res);
            }
        };
        let req = info.httpModule.request(info.options, (msg) => {
            let res = new HttpClientResponse(msg);
            handleResult(null, res);
        });
        req.on('socket', sock => {
            socket = sock;
        });
        // If we ever get disconnected, we want the socket to timeout eventually
        req.setTimeout(this._socketTimeout || 3 * 60000, () => {
            if (socket) {
                socket.end();
            }
            handleResult(new Error('Request timeout: ' + info.options.path), null);
        });
        req.on('error', function (err) {
            // err has statusCode property
            // res should have headers
            handleResult(err, null);
        });
        if (data && typeof data === 'string') {
            req.write(data, 'utf8');
        }
        if (data && typeof data !== 'string') {
            data.on('close', function () {
                req.end();
            });
            data.pipe(req);
        }
        else {
            req.end();
        }
    }
    /**
     * Gets an http agent. This function is useful when you need an http agent that handles
     * routing through a proxy server - depending upon the url and proxy environment variables.
     * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
     */
    getAgent(serverUrl) {
        let parsedUrl = url.parse(serverUrl);
        return this._getAgent(parsedUrl);
    }
    _prepareRequest(method, requestUrl, headers) {
        const info = {};
        info.parsedUrl = requestUrl;
        const usingSsl = info.parsedUrl.protocol === 'https:';
        info.httpModule = usingSsl ? https : http;
        const defaultPort = usingSsl ? 443 : 80;
        info.options = {};
        info.options.host = info.parsedUrl.hostname;
        info.options.port = info.parsedUrl.port
            ? parseInt(info.parsedUrl.port)
            : defaultPort;
        info.options.path =
            (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');
        info.options.method = method;
        info.options.headers = this._mergeHeaders(headers);
        if (this.userAgent != null) {
            info.options.headers['user-agent'] = this.userAgent;
        }
        info.options.agent = this._getAgent(info.parsedUrl);
        // gives handlers an opportunity to participate
        if (this.handlers) {
            this.handlers.forEach(handler => {
                handler.prepareRequest(info.options);
            });
        }
        return info;
    }
    _mergeHeaders(headers) {
        const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});
        if (this.requestOptions && this.requestOptions.headers) {
            return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers));
        }
        return lowercaseKeys(headers || {});
    }
    _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
        const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});
        let clientHeader;
        if (this.requestOptions && this.requestOptions.headers) {
            clientHeader = lowercaseKeys(this.requestOptions.headers)[header];
        }
        return additionalHeaders[header] || clientHeader || _default;
    }
    _getAgent(parsedUrl) {
        let agent;
        let proxyUrl = pm.getProxyUrl(parsedUrl);
        let useProxy = proxyUrl && proxyUrl.hostname;
        if (this._keepAlive && useProxy) {
            agent = this._proxyAgent;
        }
        if (this._keepAlive && !useProxy) {
            agent = this._agent;
        }
        // if agent is already assigned use that agent.
        if (!!agent) {
            return agent;
        }
        const usingSsl = parsedUrl.protocol === 'https:';
        let maxSockets = 100;
        if (!!this.requestOptions) {
            maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;
        }
        if (useProxy) {
            // If using proxy, need tunnel
            if (!tunnel) {
                tunnel = __webpack_require__(4294);
            }
            const agentOptions = {
                maxSockets: maxSockets,
                keepAlive: this._keepAlive,
                proxy: {
                    proxyAuth: proxyUrl.auth,
                    host: proxyUrl.hostname,
                    port: proxyUrl.port
                }
            };
            let tunnelAgent;
            const overHttps = proxyUrl.protocol === 'https:';
            if (usingSsl) {
                tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;
            }
            else {
                tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;
            }
            agent = tunnelAgent(agentOptions);
            this._proxyAgent = agent;
        }
        // if reusing agent across request and tunneling agent isn't assigned create a new agent
        if (this._keepAlive && !agent) {
            const options = { keepAlive: this._keepAlive, maxSockets: maxSockets };
            agent = usingSsl ? new https.Agent(options) : new http.Agent(options);
            this._agent = agent;
        }
        // if not using private agent and tunnel agent isn't setup then use global agent
        if (!agent) {
            agent = usingSsl ? https.globalAgent : http.globalAgent;
        }
        if (usingSsl && this._ignoreSslError) {
            // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
            // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
            // we have to cast it to any and change it directly
            agent.options = Object.assign(agent.options || {}, {
                rejectUnauthorized: false
            });
        }
        return agent;
    }
    _performExponentialBackoff(retryNumber) {
        retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);
        const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);
        return new Promise(resolve => setTimeout(() => resolve(), ms));
    }
    static dateTimeDeserializer(key, value) {
        if (typeof value === 'string') {
            let a = new Date(value);
            if (!isNaN(a.valueOf())) {
                return a;
            }
        }
        return value;
    }
    async _processResponse(res, options) {
        return new Promise(async (resolve, reject) => {
            const statusCode = res.message.statusCode;
            const response = {
                statusCode: statusCode,
                result: null,
                headers: {}
            };
            // not found leads to null obj returned
            if (statusCode == HttpCodes.NotFound) {
                resolve(response);
            }
            let obj;
            let contents;
            // get the result from the body
            try {
                contents = await res.readBody();
                if (contents && contents.length > 0) {
                    if (options && options.deserializeDates) {
                        obj = JSON.parse(contents, HttpClient.dateTimeDeserializer);
                    }
                    else {
                        obj = JSON.parse(contents);
                    }
                    response.result = obj;
                }
                response.headers = res.message.headers;
            }
            catch (err) {
                // Invalid resource (contents not json);  leaving result obj null
            }
            // note that 3xx redirects are handled by the http layer.
            if (statusCode > 299) {
                let msg;
                // if exception/error in body, attempt to get better error
                if (obj && obj.message) {
                    msg = obj.message;
                }
                else if (contents && contents.length > 0) {
                    // it may be the case that the exception is in the body message as string
                    msg = contents;
                }
                else {
                    msg = 'Failed request: (' + statusCode + ')';
                }
                let err = new Error(msg);
                // attach statusCode and body obj (if available) to the error object
                err['statusCode'] = statusCode;
                if (response.result) {
                    err['result'] = response.result;
                }
                reject(err);
            }
            else {
                resolve(response);
            }
        });
    }
}
exports.HttpClient = HttpClient;


/***/ }),

/***/ 6443:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
const url = __webpack_require__(8835);
function getProxyUrl(reqUrl) {
    let usingSsl = reqUrl.protocol === 'https:';
    let proxyUrl;
    if (checkBypass(reqUrl)) {
        return proxyUrl;
    }
    let proxyVar;
    if (usingSsl) {
        proxyVar = process.env['https_proxy'] || process.env['HTTPS_PROXY'];
    }
    else {
        proxyVar = process.env['http_proxy'] || process.env['HTTP_PROXY'];
    }
    if (proxyVar) {
        proxyUrl = url.parse(proxyVar);
    }
    return proxyUrl;
}
exports.getProxyUrl = getProxyUrl;
function checkBypass(reqUrl) {
    if (!reqUrl.hostname) {
        return false;
    }
    let noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';
    if (!noProxy) {
        return false;
    }
    // Determine the request port
    let reqPort;
    if (reqUrl.port) {
        reqPort = Number(reqUrl.port);
    }
    else if (reqUrl.protocol === 'http:') {
        reqPort = 80;
    }
    else if (reqUrl.protocol === 'https:') {
        reqPort = 443;
    }
    // Format the request hostname and hostname with port
    let upperReqHosts = [reqUrl.hostname.toUpperCase()];
    if (typeof reqPort === 'number') {
        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
    }
    // Compare request host against noproxy
    for (let upperNoProxyItem of noProxy
        .split(',')
        .map(x => x.trim().toUpperCase())
        .filter(x => x)) {
        if (upperReqHosts.some(x => x === upperNoProxyItem)) {
            return true;
        }
    }
    return false;
}
exports.checkBypass = checkBypass;


/***/ }),

/***/ 334:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({ value: true }));

async function auth(token) {
  const tokenType = token.split(/\./).length === 3 ? "app" : /^v\d+\./.test(token) ? "installation" : "oauth";
  return {
    type: "token",
    token: token,
    tokenType
  };
}

/**
 * Prefix token for usage in the Authorization header
 *
 * @param token OAuth token or JSON Web Token
 */
function withAuthorizationPrefix(token) {
  if (token.split(/\./).length === 3) {
    return `bearer ${token}`;
  }

  return `token ${token}`;
}

async function hook(token, request, route, parameters) {
  const endpoint = request.endpoint.merge(route, parameters);
  endpoint.headers.authorization = withAuthorizationPrefix(token);
  return request(endpoint);
}

const createTokenAuth = function createTokenAuth(token) {
  if (!token) {
    throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
  }

  if (typeof token !== "string") {
    throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");
  }

  token = token.replace(/^(token|bearer) +/i, "");
  return Object.assign(auth.bind(null, token), {
    hook: hook.bind(null, token)
  });
};

exports.createTokenAuth = createTokenAuth;
//# sourceMappingURL=index.js.map


/***/ }),

/***/ 6762:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({ value: true }));

var universalUserAgent = __webpack_require__(5030);
var beforeAfterHook = __webpack_require__(3682);
var request = __webpack_require__(6234);
var graphql = __webpack_require__(8467);
var authToken = __webpack_require__(334);

function _defineProperty(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value: value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }

  return obj;
}

function ownKeys(object, enumerableOnly) {
  var keys = Object.keys(object);

  if (Object.getOwnPropertySymbols) {
    var symbols = Object.getOwnPropertySymbols(object);
    if (enumerableOnly) symbols = symbols.filter(function (sym) {
      return Object.getOwnPropertyDescriptor(object, sym).enumerable;
    });
    keys.push.apply(keys, symbols);
  }

  return keys;
}

function _objectSpread2(target) {
  for (var i = 1; i < arguments.length; i++) {
    var source = arguments[i] != null ? arguments[i] : {};

    if (i % 2) {
      ownKeys(Object(source), true).forEach(function (key) {
        _defineProperty(target, key, source[key]);
      });
    } else if (Object.getOwnPropertyDescriptors) {
      Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
    } else {
      ownKeys(Object(source)).forEach(function (key) {
        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
      });
    }
  }

  return target;
}

const VERSION = "3.1.0";

class Octokit {
  constructor(options = {}) {
    const hook = new beforeAfterHook.Collection();
    const requestDefaults = {
      baseUrl: request.request.endpoint.DEFAULTS.baseUrl,
      headers: {},
      request: Object.assign({}, options.request, {
        hook: hook.bind(null, "request")
      }),
      mediaType: {
        previews: [],
        format: ""
      }
    }; // prepend default user agent with `options.userAgent` if set

    requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" ");

    if (options.baseUrl) {
      requestDefaults.baseUrl = options.baseUrl;
    }

    if (options.previews) {
      requestDefaults.mediaType.previews = options.previews;
    }

    if (options.timeZone) {
      requestDefaults.headers["time-zone"] = options.timeZone;
    }

    this.request = request.request.defaults(requestDefaults);
    this.graphql = graphql.withCustomRequest(this.request).defaults(_objectSpread2(_objectSpread2({}, requestDefaults), {}, {
      baseUrl: requestDefaults.baseUrl.replace(/\/api\/v3$/, "/api")
    }));
    this.log = Object.assign({
      debug: () => {},
      info: () => {},
      warn: console.warn.bind(console),
      error: console.error.bind(console)
    }, options.log);
    this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance
    //     is unauthenticated. The `this.auth()` method is a no-op and no request hook is registred.
    // (2) If only `options.auth` is set, use the default token authentication strategy.
    // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.
    // TODO: type `options.auth` based on `options.authStrategy`.

    if (!options.authStrategy) {
      if (!options.auth) {
        // (1)
        this.auth = async () => ({
          type: "unauthenticated"
        });
      } else {
        // (2)
        const auth = authToken.createTokenAuth(options.auth); // @ts-ignore  ¯\_(ツ)_/¯

        hook.wrap("request", auth.hook);
        this.auth = auth;
      }
    } else {
      const auth = options.authStrategy(Object.assign({
        request: this.request
      }, options.auth)); // @ts-ignore  ¯\_(ツ)_/¯

      hook.wrap("request", auth.hook);
      this.auth = auth;
    } // apply plugins
    // https://stackoverflow.com/a/16345172


    const classConstructor = this.constructor;
    classConstructor.plugins.forEach(plugin => {
      Object.assign(this, plugin(this, options));
    });
  }

  static defaults(defaults) {
    const OctokitWithDefaults = class extends this {
      constructor(...args) {
        const options = args[0] || {};

        if (typeof defaults === "function") {
          super(defaults(options));
          return;
        }

        super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {
          userAgent: `${options.userAgent} ${defaults.userAgent}`
        } : null));
      }

    };
    return OctokitWithDefaults;
  }
  /**
   * Attach a plugin (or many) to your Octokit instance.
   *
   * @example
   * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
   */


  static plugin(...newPlugins) {
    var _a;

    const currentPlugins = this.plugins;
    const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);
    return NewOctokit;
  }

}
Octokit.VERSION = VERSION;
Octokit.plugins = [];

exports.Octokit = Octokit;
//# sourceMappingURL=index.js.map


/***/ }),

/***/ 9440:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({ value: true }));

function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }

var isPlainObject = _interopDefault(__webpack_require__(8840));
var universalUserAgent = __webpack_require__(5030);

function lowercaseKeys(object) {
  if (!object) {
    return {};
  }

  return Object.keys(object).reduce((newObj, key) => {
    newObj[key.toLowerCase()] = object[key];
    return newObj;
  }, {});
}

function mergeDeep(defaults, options) {
  const result = Object.assign({}, defaults);
  Object.keys(options).forEach(key => {
    if (isPlainObject(options[key])) {
      if (!(key in defaults)) Object.assign(result, {
        [key]: options[key]
      });else result[key] = mergeDeep(defaults[key], options[key]);
    } else {
      Object.assign(result, {
        [key]: options[key]
      });
    }
  });
  return result;
}

function merge(defaults, route, options) {
  if (typeof route === "string") {
    let [method, url] = route.split(" ");
    options = Object.assign(url ? {
      method,
      url
    } : {
      url: method
    }, options);
  } else {
    options = Object.assign({}, route);
  } // lowercase header names before merging with defaults to avoid duplicates


  options.headers = lowercaseKeys(options.headers);
  const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten

  if (defaults && defaults.mediaType.previews.length) {
    mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);
  }

  mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, ""));
  return mergedOptions;
}

function addQueryParameters(url, parameters) {
  const separator = /\?/.test(url) ? "&" : "?";
  const names = Object.keys(parameters);

  if (names.length === 0) {
    return url;
  }

  return url + separator + names.map(name => {
    if (name === "q") {
      return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
    }

    return `${name}=${encodeURIComponent(parameters[name])}`;
  }).join("&");
}

const urlVariableRegex = /\{[^}]+\}/g;

function removeNonChars(variableName) {
  return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
}

function extractUrlVariableNames(url) {
  const matches = url.match(urlVariableRegex);

  if (!matches) {
    return [];
  }

  return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
}

function omit(object, keysToOmit) {
  return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {
    obj[key] = object[key];
    return obj;
  }, {});
}

// Based on https://github.com/bramstein/url-template, licensed under BSD
// TODO: create separate package.
//
// Copyright (c) 2012-2014, Bram Stein
// All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//  1. Redistributions of source code must retain the above copyright
//     notice, this list of conditions and the following disclaimer.
//  2. Redistributions in binary form must reproduce the above copyright
//     notice, this list of conditions and the following disclaimer in the
//     documentation and/or other materials provided with the distribution.
//  3. The name of the author may not be used to endorse or promote products
//     derived from this software without specific prior written permission.
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

/* istanbul ignore file */
function encodeReserved(str) {
  return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {
    if (!/%[0-9A-Fa-f]/.test(part)) {
      part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
    }

    return part;
  }).join("");
}

function encodeUnreserved(str) {
  return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {
    return "%" + c.charCodeAt(0).toString(16).toUpperCase();
  });
}

function encodeValue(operator, value, key) {
  value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);

  if (key) {
    return encodeUnreserved(key) + "=" + value;
  } else {
    return value;
  }
}

function isDefined(value) {
  return value !== undefined && value !== null;
}

function isKeyOperator(operator) {
  return operator === ";" || operator === "&" || operator === "?";
}

function getValues(context, operator, key, modifier) {
  var value = context[key],
      result = [];

  if (isDefined(value) && value !== "") {
    if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
      value = value.toString();

      if (modifier && modifier !== "*") {
        value = value.substring(0, parseInt(modifier, 10));
      }

      result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : ""));
    } else {
      if (modifier === "*") {
        if (Array.isArray(value)) {
          value.filter(isDefined).forEach(function (value) {
            result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : ""));
          });
        } else {
          Object.keys(value).forEach(function (k) {
            if (isDefined(value[k])) {
              result.push(encodeValue(operator, value[k], k));
            }
          });
        }
      } else {
        const tmp = [];

        if (Array.isArray(value)) {
          value.filter(isDefined).forEach(function (value) {
            tmp.push(encodeValue(operator, value));
          });
        } else {
          Object.keys(value).forEach(function (k) {
            if (isDefined(value[k])) {
              tmp.push(encodeUnreserved(k));
              tmp.push(encodeValue(operator, value[k].toString()));
            }
          });
        }

        if (isKeyOperator(operator)) {
          result.push(encodeUnreserved(key) + "=" + tmp.join(","));
        } else if (tmp.length !== 0) {
          result.push(tmp.join(","));
        }
      }
    }
  } else {
    if (operator === ";") {
      if (isDefined(value)) {
        result.push(encodeUnreserved(key));
      }
    } else if (value === "" && (operator === "&" || operator === "?")) {
      result.push(encodeUnreserved(key) + "=");
    } else if (value === "") {
      result.push("");
    }
  }

  return result;
}

function parseUrl(template) {
  return {
    expand: expand.bind(null, template)
  };
}

function expand(template, context) {
  var operators = ["+", "#", ".", "/", ";", "?", "&"];
  return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) {
    if (expression) {
      let operator = "";
      const values = [];

      if (operators.indexOf(expression.charAt(0)) !== -1) {
        operator = expression.charAt(0);
        expression = expression.substr(1);
      }

      expression.split(/,/g).forEach(function (variable) {
        var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
        values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
      });

      if (operator && operator !== "+") {
        var separator = ",";

        if (operator === "?") {
          separator = "&";
        } else if (operator !== "#") {
          separator = operator;
        }

        return (values.length !== 0 ? operator : "") + values.join(separator);
      } else {
        return values.join(",");
      }
    } else {
      return encodeReserved(literal);
    }
  });
}

function parse(options) {
  // https://fetch.spec.whatwg.org/#methods
  let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible

  let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{+$1}");
  let headers = Object.assign({}, options.headers);
  let body;
  let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later

  const urlVariableNames = extractUrlVariableNames(url);
  url = parseUrl(url).expand(parameters);

  if (!/^http/.test(url)) {
    url = options.baseUrl + url;
  }

  const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl");
  const remainingParameters = omit(parameters, omittedParameters);
  const isBinaryRequset = /application\/octet-stream/i.test(headers.accept);

  if (!isBinaryRequset) {
    if (options.mediaType.format) {
      // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw
      headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(",");
    }

    if (options.mediaType.previews.length) {
      const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
      headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {
        const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
        return `application/vnd.github.${preview}-preview${format}`;
      }).join(",");
    }
  } // for GET/HEAD requests, set URL query parameters from remaining parameters
  // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters


  if (["GET", "HEAD"].includes(method)) {
    url = addQueryParameters(url, remainingParameters);
  } else {
    if ("data" in remainingParameters) {
      body = remainingParameters.data;
    } else {
      if (Object.keys(remainingParameters).length) {
        body = remainingParameters;
      } else {
        headers["content-length"] = 0;
      }
    }
  } // default content-type for JSON if body is set


  if (!headers["content-type"] && typeof body !== "undefined") {
    headers["content-type"] = "application/json; charset=utf-8";
  } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.
  // fetch does not allow to set `content-length` header, but we can set body to an empty string


  if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
    body = "";
  } // Only return body/request keys if present


  return Object.assign({
    method,
    url,
    headers
  }, typeof body !== "undefined" ? {
    body
  } : null, options.request ? {
    request: options.request
  } : null);
}

function endpointWithDefaults(defaults, route, options) {
  return parse(merge(defaults, route, options));
}

function withDefaults(oldDefaults, newDefaults) {
  const DEFAULTS = merge(oldDefaults, newDefaults);
  const endpoint = endpointWithDefaults.bind(null, DEFAULTS);
  return Object.assign(endpoint, {
    DEFAULTS,
    defaults: withDefaults.bind(null, DEFAULTS),
    merge: merge.bind(null, DEFAULTS),
    parse
  });
}

const VERSION = "6.0.3";

const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.
// So we use RequestParameters and add method as additional required property.

const DEFAULTS = {
  method: "GET",
  baseUrl: "https://api.github.com",
  headers: {
    accept: "application/vnd.github.v3+json",
    "user-agent": userAgent
  },
  mediaType: {
    format: "",
    previews: []
  }
};

const endpoint = withDefaults(null, DEFAULTS);

exports.endpoint = endpoint;
//# sourceMappingURL=index.js.map


/***/ }),

/***/ 8467:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({ value: true }));

var request = __webpack_require__(6234);
var universalUserAgent = __webpack_require__(5030);

const VERSION = "4.5.1";

class GraphqlError extends Error {
  constructor(request, response) {
    const message = response.data.errors[0].message;
    super(message);
    Object.assign(this, response.data);
    this.name = "GraphqlError";
    this.request = request; // Maintains proper stack trace (only available on V8)

    /* istanbul ignore next */

    if (Error.captureStackTrace) {
      Error.captureStackTrace(this, this.constructor);
    }
  }

}

const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"];
function graphql(request, query, options) {
  options = typeof query === "string" ? options = Object.assign({
    query
  }, options) : options = query;
  const requestOptions = Object.keys(options).reduce((result, key) => {
    if (NON_VARIABLE_OPTIONS.includes(key)) {
      result[key] = options[key];
      return result;
    }

    if (!result.variables) {
      result.variables = {};
    }

    result.variables[key] = options[key];
    return result;
  }, {});
  return request(requestOptions).then(response => {
    if (response.data.errors) {
      throw new GraphqlError(requestOptions, {
        data: response.data
      });
    }

    return response.data.data;
  });
}

function withDefaults(request$1, newDefaults) {
  const newRequest = request$1.defaults(newDefaults);

  const newApi = (query, options) => {
    return graphql(newRequest, query, options);
  };

  return Object.assign(newApi, {
    defaults: withDefaults.bind(null, newRequest),
    endpoint: request.request.endpoint
  });
}

const graphql$1 = withDefaults(request.request, {
  headers: {
    "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`
  },
  method: "POST",
  url: "/graphql"
});
function withCustomRequest(customRequest) {
  return withDefaults(customRequest, {
    method: "POST",
    url: "/graphql"
  });
}

exports.graphql = graphql$1;
exports.withCustomRequest = withCustomRequest;
//# sourceMappingURL=index.js.map


/***/ }),

/***/ 4193:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({ value: true }));

const VERSION = "2.2.3";

/**
 * Some “list” response that can be paginated have a different response structure
 *
 * They have a `total_count` key in the response (search also has `incomplete_results`,
 * /installation/repositories also has `repository_selection`), as well as a key with
 * the list of the items which name varies from endpoint to endpoint.
 *
 * Octokit normalizes these responses so that paginated results are always returned following
 * the same structure. One challenge is that if the list response has only one page, no Link
 * header is provided, so this header alone is not sufficient to check wether a response is
 * paginated or not.
 *
 * We check if a "total_count" key is present in the response data, but also make sure that
 * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would
 * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref
 */
function normalizePaginatedListResponse(response) {
  const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data);
  if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way
  // to retrieve the same information.

  const incompleteResults = response.data.incomplete_results;
  const repositorySelection = response.data.repository_selection;
  const totalCount = response.data.total_count;
  delete response.data.incomplete_results;
  delete response.data.repository_selection;
  delete response.data.total_count;
  const namespaceKey = Object.keys(response.data)[0];
  const data = response.data[namespaceKey];
  response.data = data;

  if (typeof incompleteResults !== "undefined") {
    response.data.incomplete_results = incompleteResults;
  }

  if (typeof repositorySelection !== "undefined") {
    response.data.repository_selection = repositorySelection;
  }

  response.data.total_count = totalCount;
  return response;
}

function iterator(octokit, route, parameters) {
  const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
  const requestMethod = typeof route === "function" ? route : octokit.request;
  const method = options.method;
  const headers = options.headers;
  let url = options.url;
  return {
    [Symbol.asyncIterator]: () => ({
      next() {
        if (!url) {
          return Promise.resolve({
            done: true
          });
        }

        return requestMethod({
          method,
          url,
          headers
        }).then(normalizePaginatedListResponse).then(response => {
          // `response.headers.link` format:
          // '<https://api.github.com/users/aseemk/followers?page=2>; rel="next", <https://api.github.com/users/aseemk/followers?page=2>; rel="last"'
          // sets `url` to undefined if "next" URL is not present or `link` header is not set
          url = ((response.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1];
          return {
            value: response
          };
        });
      }

    })
  };
}

function paginate(octokit, route, parameters, mapFn) {
  if (typeof parameters === "function") {
    mapFn = parameters;
    parameters = undefined;
  }

  return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);
}

function gather(octokit, results, iterator, mapFn) {
  return iterator.next().then(result => {
    if (result.done) {
      return results;
    }

    let earlyExit = false;

    function done() {
      earlyExit = true;
    }

    results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);

    if (earlyExit) {
      return results;
    }

    return gather(octokit, results, iterator, mapFn);
  });
}

/**
 * @param octokit Octokit instance
 * @param options Options passed to Octokit constructor
 */

function paginateRest(octokit) {
  return {
    paginate: Object.assign(paginate.bind(null, octokit), {
      iterator: iterator.bind(null, octokit)
    })
  };
}
paginateRest.VERSION = VERSION;

exports.paginateRest = paginateRest;
//# sourceMappingURL=index.js.map


/***/ }),

/***/ 3044:
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({ value: true }));

const Endpoints = {
  actions: {
    addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],
    cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],
    createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"],
    createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],
    createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"],
    createRegistrationTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"],
    createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"],
    createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"],
    deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],
    deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
    deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],
    deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"],
    deleteSelfHostedRunnerFromRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],
    deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],
    downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],
    downloadJobLogsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],
    downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],
    getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],
    getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],
    getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"],
    getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"],
    getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"],
    getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],
    getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"],
    getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],
    getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],
    getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],
    getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],
    getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],
    listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"],
    listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],
    listOrgSecrets: ["GET /orgs/{org}/actions/secrets"],
    listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"],
    listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"],
    listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"],
    listRunnerApplicationsForRepo: ["GET /repos/{owner}/{repo}/actions/runners/downloads"],
    listSelectedReposForOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],
    listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"],
    listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"],
    listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],
    listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],
    listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"],
    reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],
    removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],
    setSelectedReposForOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"]
  },
  activity: {
    checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"],
    deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"],
    deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"],
    getFeeds: ["GET /feeds"],
    getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"],
    getThread: ["GET /notifications/threads/{thread_id}"],
    getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"],
    listEventsForAuthenticatedUser: ["GET /users/{username}/events"],
    listNotificationsForAuthenticatedUser: ["GET /notifications"],
    listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"],
    listPublicEvents: ["GET /events"],
    listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"],
    listPublicEventsForUser: ["GET /users/{username}/events/public"],
    listPublicOrgEvents: ["GET /orgs/{org}/events"],
    listReceivedEventsForUser: ["GET /users/{username}/received_events"],
    listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"],
    listRepoEvents: ["GET /repos/{owner}/{repo}/events"],
    listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"],
    listReposStarredByAuthenticatedUser: ["GET /user/starred"],
    listReposStarredByUser: ["GET /users/{username}/starred"],
    listReposWatchedByUser: ["GET /users/{username}/subscriptions"],
    listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"],
    listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"],
    listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"],
    markNotificationsAsRead: ["PUT /notifications"],
    markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"],
    markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"],
    setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"],
    setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"],
    starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"],
    unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"]
  },
  apps: {
    addRepoToInstallation: ["PUT /user/installations/{installation_id}/repositories/{repository_id}", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    checkToken: ["POST /applications/{client_id}/token"],
    createContentAttachment: ["POST /content_references/{content_reference_id}/attachments", {
      mediaType: {
        previews: ["corsair"]
      }
    }],
    createFromManifest: ["POST /app-manifests/{code}/conversions"],
    createInstallationAccessToken: ["POST /app/installations/{installation_id}/access_tokens", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    deleteAuthorization: ["DELETE /applications/{client_id}/grant"],
    deleteInstallation: ["DELETE /app/installations/{installation_id}", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    deleteToken: ["DELETE /applications/{client_id}/token"],
    getAuthenticated: ["GET /app", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    getBySlug: ["GET /apps/{app_slug}", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    getInstallation: ["GET /app/installations/{installation_id}", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    getOrgInstallation: ["GET /orgs/{org}/installation", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    getRepoInstallation: ["GET /repos/{owner}/{repo}/installation", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"],
    getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"],
    getUserInstallation: ["GET /users/{username}/installation", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"],
    listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],
    listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    listInstallations: ["GET /app/installations", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    listInstallationsForAuthenticatedUser: ["GET /user/installations", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    listPlans: ["GET /marketplace_listing/plans"],
    listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"],
    listReposAccessibleToInstallation: ["GET /installation/repositories", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"],
    listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"],
    removeRepoFromInstallation: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    resetToken: ["PATCH /applications/{client_id}/token"],
    revokeInstallationAccessToken: ["DELETE /installation/token"],
    suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"],
    unsuspendInstallation: ["DELETE /app/installations/{installation_id}/suspended"]
  },
  checks: {
    create: ["POST /repos/{owner}/{repo}/check-runs", {
      mediaType: {
        previews: ["antiope"]
      }
    }],
    createSuite: ["POST /repos/{owner}/{repo}/check-suites", {
      mediaType: {
        previews: ["antiope"]
      }
    }],
    get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}", {
      mediaType: {
        previews: ["antiope"]
      }
    }],
    getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}", {
      mediaType: {
        previews: ["antiope"]
      }
    }],
    listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", {
      mediaType: {
        previews: ["antiope"]
      }
    }],
    listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs", {
      mediaType: {
        previews: ["antiope"]
      }
    }],
    listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", {
      mediaType: {
        previews: ["antiope"]
      }
    }],
    listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites", {
      mediaType: {
        previews: ["antiope"]
      }
    }],
    rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", {
      mediaType: {
        previews: ["antiope"]
      }
    }],
    setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences", {
      mediaType: {
        previews: ["antiope"]
      }
    }],
    update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}", {
      mediaType: {
        previews: ["antiope"]
      }
    }]
  },
  codeScanning: {
    getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}"],
    listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"]
  },
  codesOfConduct: {
    getAllCodesOfConduct: ["GET /codes_of_conduct", {
      mediaType: {
        previews: ["scarlet-witch"]
      }
    }],
    getConductCode: ["GET /codes_of_conduct/{key}", {
      mediaType: {
        previews: ["scarlet-witch"]
      }
    }],
    getForRepo: ["GET /repos/{owner}/{repo}/community/code_of_conduct", {
      mediaType: {
        previews: ["scarlet-witch"]
      }
    }]
  },
  emojis: {
    get: ["GET /emojis"]
  },
  gists: {
    checkIsStarred: ["GET /gists/{gist_id}/star"],
    create: ["POST /gists"],
    createComment: ["POST /gists/{gist_id}/comments"],
    delete: ["DELETE /gists/{gist_id}"],
    deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"],
    fork: ["POST /gists/{gist_id}/forks"],
    get: ["GET /gists/{gist_id}"],
    getComment: ["GET /gists/{gist_id}/comments/{comment_id}"],
    getRevision: ["GET /gists/{gist_id}/{sha}"],
    list: ["GET /gists"],
    listComments: ["GET /gists/{gist_id}/comments"],
    listCommits: ["GET /gists/{gist_id}/commits"],
    listForUser: ["GET /users/{username}/gists"],
    listForks: ["GET /gists/{gist_id}/forks"],
    listPublic: ["GET /gists/public"],
    listStarred: ["GET /gists/starred"],
    star: ["PUT /gists/{gist_id}/star"],
    unstar: ["DELETE /gists/{gist_id}/star"],
    update: ["PATCH /gists/{gist_id}"],
    updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"]
  },
  git: {
    createBlob: ["POST /repos/{owner}/{repo}/git/blobs"],
    createCommit: ["POST /repos/{owner}/{repo}/git/commits"],
    createRef: ["POST /repos/{owner}/{repo}/git/refs"],
    createTag: ["POST /repos/{owner}/{repo}/git/tags"],
    createTree: ["POST /repos/{owner}/{repo}/git/trees"],
    deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],
    getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],
    getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],
    getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"],
    getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],
    getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],
    listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],
    updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]
  },
  gitignore: {
    getAllTemplates: ["GET /gitignore/templates"],
    getTemplate: ["GET /gitignore/templates/{name}"]
  },
  interactions: {
    getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits", {
      mediaType: {
        previews: ["sombra"]
      }
    }],
    getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits", {
      mediaType: {
        previews: ["sombra"]
      }
    }],
    removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits", {
      mediaType: {
        previews: ["sombra"]
      }
    }],
    removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits", {
      mediaType: {
        previews: ["sombra"]
      }
    }],
    setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits", {
      mediaType: {
        previews: ["sombra"]
      }
    }],
    setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits", {
      mediaType: {
        previews: ["sombra"]
      }
    }]
  },
  issues: {
    addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],
    addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],
    checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"],
    create: ["POST /repos/{owner}/{repo}/issues"],
    createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],
    createLabel: ["POST /repos/{owner}/{repo}/labels"],
    createMilestone: ["POST /repos/{owner}/{repo}/milestones"],
    deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],
    deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"],
    deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],
    get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"],
    getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],
    getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"],
    getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"],
    getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],
    list: ["GET /issues"],
    listAssignees: ["GET /repos/{owner}/{repo}/assignees"],
    listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],
    listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"],
    listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],
    listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"],
    listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", {
      mediaType: {
        previews: ["mockingbird"]
      }
    }],
    listForAuthenticatedUser: ["GET /user/issues"],
    listForOrg: ["GET /orgs/{org}/issues"],
    listForRepo: ["GET /repos/{owner}/{repo}/issues"],
    listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],
    listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"],
    listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],
    listMilestones: ["GET /repos/{owner}/{repo}/milestones"],
    lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],
    removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],
    removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],
    removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],
    setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],
    unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],
    update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],
    updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],
    updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"],
    updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]
  },
  licenses: {
    get: ["GET /licenses/{license}"],
    getAllCommonlyUsed: ["GET /licenses"],
    getForRepo: ["GET /repos/{owner}/{repo}/license"]
  },
  markdown: {
    render: ["POST /markdown"],
    renderRaw: ["POST /markdown/raw", {
      headers: {
        "content-type": "text/plain; charset=utf-8"
      }
    }]
  },
  meta: {
    get: ["GET /meta"]
  },
  migrations: {
    cancelImport: ["DELETE /repos/{owner}/{repo}/import"],
    deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"],
    getImportStatus: ["GET /repos/{owner}/{repo}/import"],
    getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"],
    getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    listForAuthenticatedUser: ["GET /user/migrations", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    listForOrg: ["GET /orgs/{org}/migrations", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    listReposForUser: ["GET /user/{migration_id}/repositories", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"],
    setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"],
    startForAuthenticatedUser: ["POST /user/migrations"],
    startForOrg: ["POST /orgs/{org}/migrations"],
    startImport: ["PUT /repos/{owner}/{repo}/import"],
    unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", {
      mediaType: {
        previews: ["wyandotte"]
      }
    }],
    updateImport: ["PATCH /repos/{owner}/{repo}/import"]
  },
  orgs: {
    blockUser: ["PUT /orgs/{org}/blocks/{username}"],
    checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"],
    checkMembershipForUser: ["GET /orgs/{org}/members/{username}"],
    checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"],
    convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"],
    createInvitation: ["POST /orgs/{org}/invitations"],
    createWebhook: ["POST /orgs/{org}/hooks"],
    deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"],
    get: ["GET /orgs/{org}"],
    getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"],
    getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"],
    getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"],
    list: ["GET /organizations"],
    listAppInstallations: ["GET /orgs/{org}/installations", {
      mediaType: {
        previews: ["machine-man"]
      }
    }],
    listBlockedUsers: ["GET /orgs/{org}/blocks"],
    listForAuthenticatedUser: ["GET /user/orgs"],
    listForUser: ["GET /users/{username}/orgs"],
    listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"],
    listMembers: ["GET /orgs/{org}/members"],
    listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"],
    listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"],
    listPendingInvitations: ["GET /orgs/{org}/invitations"],
    listPublicMembers: ["GET /orgs/{org}/public_members"],
    listWebhooks: ["GET /orgs/{org}/hooks"],
    pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"],
    removeMember: ["DELETE /orgs/{org}/members/{username}"],
    removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"],
    removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"],
    removePublicMembershipForAuthenticatedUser: ["DELETE /orgs/{org}/public_members/{username}"],
    setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"],
    setPublicMembershipForAuthenticatedUser: ["PUT /orgs/{org}/public_members/{username}"],
    unblockUser: ["DELETE /orgs/{org}/blocks/{username}"],
    update: ["PATCH /orgs/{org}"],
    updateMembershipForAuthenticatedUser: ["PATCH /user/memberships/orgs/{org}"],
    updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"]
  },
  projects: {
    addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    createCard: ["POST /projects/columns/{column_id}/cards", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    createColumn: ["POST /projects/{project_id}/columns", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    createForAuthenticatedUser: ["POST /user/projects", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    createForOrg: ["POST /orgs/{org}/projects", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    createForRepo: ["POST /repos/{owner}/{repo}/projects", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    delete: ["DELETE /projects/{project_id}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    deleteCard: ["DELETE /projects/columns/cards/{card_id}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    deleteColumn: ["DELETE /projects/columns/{column_id}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    get: ["GET /projects/{project_id}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    getCard: ["GET /projects/columns/cards/{card_id}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    getColumn: ["GET /projects/columns/{column_id}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    getPermissionForUser: ["GET /projects/{project_id}/collaborators/{username}/permission", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    listCards: ["GET /projects/columns/{column_id}/cards", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    listCollaborators: ["GET /projects/{project_id}/collaborators", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    listColumns: ["GET /projects/{project_id}/columns", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    listForOrg: ["GET /orgs/{org}/projects", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    listForRepo: ["GET /repos/{owner}/{repo}/projects", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    listForUser: ["GET /users/{username}/projects", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    moveCard: ["POST /projects/columns/cards/{card_id}/moves", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    moveColumn: ["POST /projects/columns/{column_id}/moves", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    update: ["PATCH /projects/{project_id}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    updateCard: ["PATCH /projects/columns/cards/{card_id}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    updateColumn: ["PATCH /projects/columns/{column_id}", {
      mediaType: {
        previews: ["inertia"]
      }
    }]
  },
  pulls: {
    checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
    create: ["POST /repos/{owner}/{repo}/pulls"],
    createReplyForReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],
    createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
    createReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],
    deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],
    deleteReviewComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],
    dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],
    get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"],
    getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],
    getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],
    list: ["GET /repos/{owner}/{repo}/pulls"],
    listCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],
    listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],
    listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],
    listRequestedReviewers: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],
    listReviewComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],
    listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"],
    listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
    merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
    removeRequestedReviewers: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],
    requestReviewers: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],
    submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],
    update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],
    updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch", {
      mediaType: {
        previews: ["lydian"]
      }
    }],
    updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],
    updateReviewComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]
  },
  rateLimit: {
    get: ["GET /rate_limit"]
  },
  reactions: {
    createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    deleteForTeamDiscussionComment: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }],
    listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", {
      mediaType: {
        previews: ["squirrel-girl"]
      }
    }]
  },
  repos: {
    acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}"],
    addAppAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, {
      mapToData: "apps"
    }],
    addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"],
    addStatusCheckContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, {
      mapToData: "contexts"
    }],
    addTeamAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, {
      mapToData: "teams"
    }],
    addUserAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, {
      mapToData: "users"
    }],
    checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"],
    checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts", {
      mediaType: {
        previews: ["dorian"]
      }
    }],
    compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"],
    createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],
    createCommitSignatureProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", {
      mediaType: {
        previews: ["zzzax"]
      }
    }],
    createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"],
    createDeployKey: ["POST /repos/{owner}/{repo}/keys"],
    createDeployment: ["POST /repos/{owner}/{repo}/deployments"],
    createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],
    createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"],
    createForAuthenticatedUser: ["POST /user/repos"],
    createFork: ["POST /repos/{owner}/{repo}/forks"],
    createInOrg: ["POST /orgs/{org}/repos"],
    createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"],
    createPagesSite: ["POST /repos/{owner}/{repo}/pages", {
      mediaType: {
        previews: ["switcheroo"]
      }
    }],
    createRelease: ["POST /repos/{owner}/{repo}/releases"],
    createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate", {
      mediaType: {
        previews: ["baptiste"]
      }
    }],
    createWebhook: ["POST /repos/{owner}/{repo}/hooks"],
    declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}"],
    delete: ["DELETE /repos/{owner}/{repo}"],
    deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],
    deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],
    deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],
    deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],
    deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", {
      mediaType: {
        previews: ["zzzax"]
      }
    }],
    deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"],
    deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],
    deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"],
    deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],
    deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages", {
      mediaType: {
        previews: ["switcheroo"]
      }
    }],
    deletePullRequestReviewProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],
    deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"],
    deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],
    deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],
    disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes", {
      mediaType: {
        previews: ["london"]
      }
    }],
    disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts", {
      mediaType: {
        previews: ["dorian"]
      }
    }],
    downloadArchive: ["GET /repos/{owner}/{repo}/{archive_format}/{ref}"],
    enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes", {
      mediaType: {
        previews: ["london"]
      }
    }],
    enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts", {
      mediaType: {
        previews: ["dorian"]
      }
    }],
    get: ["GET /repos/{owner}/{repo}"],
    getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],
    getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],
    getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],
    getAllTopics: ["GET /repos/{owner}/{repo}/topics", {
      mediaType: {
        previews: ["mercy"]
      }
    }],
    getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],
    getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"],
    getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"],
    getClones: ["GET /repos/{owner}/{repo}/traffic/clones"],
    getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"],
    getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],
    getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"],
    getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"],
    getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"],
    getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"],
    getCommitSignatureProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", {
      mediaType: {
        previews: ["zzzax"]
      }
    }],
    getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"],
    getContent: ["GET /repos/{owner}/{repo}/contents/{path}"],
    getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"],
    getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"],
    getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],
    getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],
    getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"],
    getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"],
    getPages: ["GET /repos/{owner}/{repo}/pages"],
    getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],
    getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"],
    getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],
    getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"],
    getReadme: ["GET /repos/{owner}/{repo}/readme"],
    getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"],
    getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],
    getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"],
    getStatusChecksProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],
    getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],
    getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"],
    getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"],
    getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],
    getViews: ["GET /repos/{owner}/{repo}/traffic/views"],
    getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"],
    listBranches: ["GET /repos/{owner}/{repo}/branches"],
    listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", {
      mediaType: {
        previews: ["groot"]
      }
    }],
    listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"],
    listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],
    listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"],
    listCommitStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],
    listCommits: ["GET /repos/{owner}/{repo}/commits"],
    listContributors: ["GET /repos/{owner}/{repo}/contributors"],
    listDeployKeys: ["GET /repos/{owner}/{repo}/keys"],
    listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],
    listDeployments: ["GET /repos/{owner}/{repo}/deployments"],
    listForAuthenticatedUser: ["GET /user/repos"],
    listForOrg: ["GET /orgs/{org}/repos"],
    listForUser: ["GET /users/{username}/repos"],
    listForks: ["GET /repos/{owner}/{repo}/forks"],
    listInvitations: ["GET /repos/{owner}/{repo}/invitations"],
    listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"],
    listLanguages: ["GET /repos/{owner}/{repo}/languages"],
    listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"],
    listPublic: ["GET /repositories"],
    listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", {
      mediaType: {
        previews: ["groot"]
      }
    }],
    listReleaseAssets: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],
    listReleases: ["GET /repos/{owner}/{repo}/releases"],
    listTags: ["GET /repos/{owner}/{repo}/tags"],
    listTeams: ["GET /repos/{owner}/{repo}/teams"],
    listWebhooks: ["GET /repos/{owner}/{repo}/hooks"],
    merge: ["POST /repos/{owner}/{repo}/merges"],
    pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],
    removeAppAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, {
      mapToData: "apps"
    }],
    removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"],
    removeStatusCheckContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, {
      mapToData: "contexts"
    }],
    removeStatusCheckProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],
    removeTeamAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, {
      mapToData: "teams"
    }],
    removeUserAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, {
      mapToData: "users"
    }],
    replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics", {
      mediaType: {
        previews: ["mercy"]
      }
    }],
    requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"],
    setAdminBranchProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],
    setAppAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, {
      mapToData: "apps"
    }],
    setStatusCheckContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, {
      mapToData: "contexts"
    }],
    setTeamAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, {
      mapToData: "teams"
    }],
    setUserAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, {
      mapToData: "users"
    }],
    testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],
    transfer: ["POST /repos/{owner}/{repo}/transfer"],
    update: ["PATCH /repos/{owner}/{repo}"],
    updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],
    updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],
    updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"],
    updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],
    updatePullRequestReviewProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],
    updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"],
    updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],
    updateStatusCheckPotection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],
    updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],
    uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", {
      baseUrl: "https://uploads.github.com"
    }]
  },
  search: {
    code: ["GET /search/code"],
    commits: ["GET /search/commits", {
      mediaType: {
        previews: ["cloak"]
      }
    }],
    issuesAndPullRequests: ["GET /search/issues"],
    labels: ["GET /search/labels"],
    repos: ["GET /search/repositories"],
    topics: ["GET /search/topics"],
    users: ["GET /search/users"]
  },
  teams: {
    addOrUpdateMembershipForUserInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],
    addOrUpdateProjectPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    addOrUpdateRepoPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],
    checkPermissionsForProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    checkPermissionsForRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],
    create: ["POST /orgs/{org}/teams"],
    createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],
    createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
    deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],
    deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],
    deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
    getByName: ["GET /orgs/{org}/teams/{team_slug}"],
    getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],
    getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],
    getMembershipForUserInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],
    list: ["GET /orgs/{org}/teams"],
    listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
    listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],
    listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
    listForAuthenticatedUser: ["GET /user/teams"],
    listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
    listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"],
    listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects", {
      mediaType: {
        previews: ["inertia"]
      }
    }],
    listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
    removeMembershipForUserInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],
    removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],
    removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],
    updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],
    updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],
    updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
  },
  users: {
    addEmailForAuthenticated: ["POST /user/emails"],
    block: ["PUT /user/blocks/{username}"],
    checkBlocked: ["GET /user/blocks/{username}"],
    checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
    checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
    createGpgKeyForAuthenticated: ["POST /user/gpg_keys"],
    createPublicSshKeyForAuthenticated: ["POST /user/keys"],
    deleteEmailForAuthenticated: ["DELETE /user/emails"],
    deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}"],
    deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}"],
    follow: ["PUT /user/following/{username}"],
    getAuthenticated: ["GET /user"],
    getByUsername: ["GET /users/{username}"],
    getContextForUser: ["GET /users/{username}/hovercard"],
    getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}"],
    getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}"],
    list: ["GET /users"],
    listBlockedByAuthenticated: ["GET /user/blocks"],
    listEmailsForAuthenticated: ["GET /user/emails"],
    listFollowedByAuthenticated: ["GET /user/following"],
    listFollowersForAuthenticatedUser: ["GET /user/followers"],
    listFollowersForUser: ["GET /users/{username}/followers"],
    listFollowingForUser: ["GET /users/{username}/following"],
    listGpgKeysForAuthenticated: ["GET /user/gpg_keys"],
    listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
    listPublicEmailsForAuthenticated: ["GET /user/public_emails"],
    listPublicKeysForUser: ["GET /users/{username}/keys"],
    listPublicSshKeysForAuthenticated: ["GET /user/keys"],
    setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility"],
    unblock: ["DELETE /user/blocks/{username}"],
    unfollow: ["DELETE /user/following/{username}"],
    updateAuthenticated: ["PATCH /user"]
  }
};

const VERSION = "4.0.0";

function endpointsToMethods(octokit, endpointsMap) {
  const newMethods = {};

  for (const [scope, endpoints] of Object.entries(endpointsMap)) {
    for (const [methodName, endpoint] of Object.entries(endpoints)) {
      const [route, defaults, decorations] = endpoint;
      const [method, url] = route.split(/ /);
      const endpointDefaults = Object.assign({
        method,
        url
      }, defaults);

      if (!newMethods[scope]) {
        newMethods[scope] = {};
      }

      const scopeMethods = newMethods[scope];

      if (decorations) {
        scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);
        continue;
      }

      scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);
    }
  }

  return newMethods;
}

function decorate(octokit, scope, methodName, defaults, decorations) {
  const requestWithDefaults = octokit.request.defaults(defaults);
  /* istanbul ignore next */

  function withDecorations(...args) {
    // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488
    let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData`

    if (decorations.mapToData) {
      options = Object.assign({}, options, {
        data: options[decorations.mapToData],
        [decorations.mapToData]: undefined
      });
      return requestWithDefaults(options);
    }

    if (decorations.renamed) {
      const [newScope, newMethodName] = decorations.renamed;
      octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);
    }

    if (decorations.deprecated) {
      octokit.log.warn(decorations.deprecated);
    }

    if (decorations.renamedParameters) {
      // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488
      const options = requestWithDefaults.endpoint.merge(...args);

      for (const [name, alias] of Object.entries(decorations.renamedParameters)) {
        if (name in options) {
          octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`);

          if (!(alias in options)) {
            options[alias] = options[name];
          }

          delete options[name];
        }
      }

      return requestWithDefaults(options);
    } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488


    return requestWithDefaults(...args);
  }

  return Object.assign(withDecorations, requestWithDefaults);
}

/**
 * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary
 * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is
 * done, we will remove the registerEndpoints methods and return the methods
 * directly as with the other plugins. At that point we will also remove the
 * legacy workarounds and deprecations.
 *
 * See the plan at
 * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1
 */

function restEndpointMethods(octokit) {
  return endpointsToMethods(octokit, Endpoints);
}
restEndpointMethods.VERSION = VERSION;

exports.restEndpointMethods = restEndpointMethods;
//# sourceMappingURL=index.js.map


/***/ }),

/***/ 537:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({ value: true }));

function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }

var deprecation = __webpack_require__(8932);
var once = _interopDefault(__webpack_require__(1223));

const logOnce = once(deprecation => console.warn(deprecation));
/**
 * Error with extra properties to help with debugging
 */

class RequestError extends Error {
  constructor(message, statusCode, options) {
    super(message); // Maintains proper stack trace (only available on V8)

    /* istanbul ignore next */

    if (Error.captureStackTrace) {
      Error.captureStackTrace(this, this.constructor);
    }

    this.name = "HttpError";
    this.status = statusCode;
    Object.defineProperty(this, "code", {
      get() {
        logOnce(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
        return statusCode;
      }

    });
    this.headers = options.headers || {}; // redact request credentials without mutating original request options

    const requestCopy = Object.assign({}, options.request);

    if (options.request.headers.authorization) {
      requestCopy.headers = Object.assign({}, options.request.headers, {
        authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]")
      });
    }

    requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit
    // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
    .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended
    // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header
    .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
    this.request = requestCopy;
  }

}

exports.RequestError = RequestError;
//# sourceMappingURL=index.js.map


/***/ }),

/***/ 6234:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({ value: true }));

function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }

var endpoint = __webpack_require__(9440);
var universalUserAgent = __webpack_require__(5030);
var isPlainObject = _interopDefault(__webpack_require__(8840));
var nodeFetch = _interopDefault(__webpack_require__(467));
var requestError = __webpack_require__(537);

const VERSION = "5.4.5";

function getBufferResponse(response) {
  return response.arrayBuffer();
}

function fetchWrapper(requestOptions) {
  if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {
    requestOptions.body = JSON.stringify(requestOptions.body);
  }

  let headers = {};
  let status;
  let url;
  const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;
  return fetch(requestOptions.url, Object.assign({
    method: requestOptions.method,
    body: requestOptions.body,
    headers: requestOptions.headers,
    redirect: requestOptions.redirect
  }, requestOptions.request)).then(response => {
    url = response.url;
    status = response.status;

    for (const keyAndValue of response.headers) {
      headers[keyAndValue[0]] = keyAndValue[1];
    }

    if (status === 204 || status === 205) {
      return;
    } // GitHub API returns 200 for HEAD requests


    if (requestOptions.method === "HEAD") {
      if (status < 400) {
        return;
      }

      throw new requestError.RequestError(response.statusText, status, {
        headers,
        request: requestOptions
      });
    }

    if (status === 304) {
      throw new requestError.RequestError("Not modified", status, {
        headers,
        request: requestOptions
      });
    }

    if (status >= 400) {
      return response.text().then(message => {
        const error = new requestError.RequestError(message, status, {
          headers,
          request: requestOptions
        });

        try {
          let responseBody = JSON.parse(error.message);
          Object.assign(error, responseBody);
          let errors = responseBody.errors; // Assumption `errors` would always be in Array format

          error.message = error.message + ": " + errors.map(JSON.stringify).join(", ");
        } catch (e) {// ignore, see octokit/rest.js#684
        }

        throw error;
      });
    }

    const contentType = response.headers.get("content-type");

    if (/application\/json/.test(contentType)) {
      return response.json();
    }

    if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) {
      return response.text();
    }

    return getBufferResponse(response);
  }).then(data => {
    return {
      status,
      url,
      headers,
      data
    };
  }).catch(error => {
    if (error instanceof requestError.RequestError) {
      throw error;
    }

    throw new requestError.RequestError(error.message, 500, {
      headers,
      request: requestOptions
    });
  });
}

function withDefaults(oldEndpoint, newDefaults) {
  const endpoint = oldEndpoint.defaults(newDefaults);

  const newApi = function (route, parameters) {
    const endpointOptions = endpoint.merge(route, parameters);

    if (!endpointOptions.request || !endpointOptions.request.hook) {
      return fetchWrapper(endpoint.parse(endpointOptions));
    }

    const request = (route, parameters) => {
      return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));
    };

    Object.assign(request, {
      endpoint,
      defaults: withDefaults.bind(null, endpoint)
    });
    return endpointOptions.request.hook(request, endpointOptions);
  };

  return Object.assign(newApi, {
    endpoint,
    defaults: withDefaults.bind(null, endpoint)
  });
}

const request = withDefaults(endpoint.endpoint, {
  headers: {
    "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}`
  }
});

exports.request = request;
//# sourceMappingURL=index.js.map


/***/ }),

/***/ 3682:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

var register = __webpack_require__(4670)
var addHook = __webpack_require__(5549)
var removeHook = __webpack_require__(6819)

// bind with array of arguments: https://stackoverflow.com/a/21792913
var bind = Function.bind
var bindable = bind.bind(bind)

function bindApi (hook, state, name) {
  var removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state])
  hook.api = { remove: removeHookRef }
  hook.remove = removeHookRef

  ;['before', 'error', 'after', 'wrap'].forEach(function (kind) {
    var args = name ? [state, kind, name] : [state, kind]
    hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args)
  })
}

function HookSingular () {
  var singularHookName = 'h'
  var singularHookState = {
    registry: {}
  }
  var singularHook = register.bind(null, singularHookState, singularHookName)
  bindApi(singularHook, singularHookState, singularHookName)
  return singularHook
}

function HookCollection () {
  var state = {
    registry: {}
  }

  var hook = register.bind(null, state)
  bindApi(hook, state)

  return hook
}

var collectionHookDeprecationMessageDisplayed = false
function Hook () {
  if (!collectionHookDeprecationMessageDisplayed) {
    console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4')
    collectionHookDeprecationMessageDisplayed = true
  }
  return HookCollection()
}

Hook.Singular = HookSingular.bind()
Hook.Collection = HookCollection.bind()

module.exports = Hook
// expose constructors as a named property for TypeScript
module.exports.Hook = Hook
module.exports.Singular = Hook.Singular
module.exports.Collection = Hook.Collection


/***/ }),

/***/ 5549:
/***/ ((module) => {

module.exports = addHook

function addHook (state, kind, name, hook) {
  var orig = hook
  if (!state.registry[name]) {
    state.registry[name] = []
  }

  if (kind === 'before') {
    hook = function (method, options) {
      return Promise.resolve()
        .then(orig.bind(null, options))
        .then(method.bind(null, options))
    }
  }

  if (kind === 'after') {
    hook = function (method, options) {
      var result
      return Promise.resolve()
        .then(method.bind(null, options))
        .then(function (result_) {
          result = result_
          return orig(result, options)
        })
        .then(function () {
          return result
        })
    }
  }

  if (kind === 'error') {
    hook = function (method, options) {
      return Promise.resolve()
        .then(method.bind(null, options))
        .catch(function (error) {
          return orig(error, options)
        })
    }
  }

  state.registry[name].push({
    hook: hook,
    orig: orig
  })
}


/***/ }),

/***/ 4670:
/***/ ((module) => {

module.exports = register

function register (state, name, method, options) {
  if (typeof method !== 'function') {
    throw new Error('method for before hook must be a function')
  }

  if (!options) {
    options = {}
  }

  if (Array.isArray(name)) {
    return name.reverse().reduce(function (callback, name) {
      return register.bind(null, state, name, callback, options)
    }, method)()
  }

  return Promise.resolve()
    .then(function () {
      if (!state.registry[name]) {
        return method(options)
      }

      return (state.registry[name]).reduce(function (method, registered) {
        return registered.hook.bind(null, method, options)
      }, method)()
    })
}


/***/ }),

/***/ 6819:
/***/ ((module) => {

module.exports = removeHook

function removeHook (state, name, method) {
  if (!state.registry[name]) {
    return
  }

  var index = state.registry[name]
    .map(function (registered) { return registered.orig })
    .indexOf(method)

  if (index === -1) {
    return
  }

  state.registry[name].splice(index, 1)
}


/***/ }),

/***/ 2746:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

"use strict";


const cp = __webpack_require__(3129);
const parse = __webpack_require__(6855);
const enoent = __webpack_require__(4101);

function spawn(command, args, options) {
    // Parse the arguments
    const parsed = parse(command, args, options);

    // Spawn the child process
    const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);

    // Hook into child process "exit" event to emit an error if the command
    // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
    enoent.hookChildProcess(spawned, parsed);

    return spawned;
}

function spawnSync(command, args, options) {
    // Parse the arguments
    const parsed = parse(command, args, options);

    // Spawn the child process
    const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);

    // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
    result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);

    return result;
}

module.exports = spawn;
module.exports.spawn = spawn;
module.exports.sync = spawnSync;

module.exports._parse = parse;
module.exports._enoent = enoent;


/***/ }),

/***/ 4101:
/***/ ((module) => {

"use strict";


const isWin = process.platform === 'win32';

function notFoundError(original, syscall) {
    return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
        code: 'ENOENT',
        errno: 'ENOENT',
        syscall: `${syscall} ${original.command}`,
        path: original.command,
        spawnargs: original.args,
    });
}

function hookChildProcess(cp, parsed) {
    if (!isWin) {
        return;
    }

    const originalEmit = cp.emit;

    cp.emit = function (name, arg1) {
        // If emitting "exit" event 
Download .txt
gitextract_x0kk336i/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug.md
│   │   ├── chore.md
│   │   ├── config.yml
│   │   └── feature.md
│   ├── dependabot.yml
│   ├── labeler.yml
│   ├── pull_request_template.md
│   ├── release-notes.yml
│   └── workflows/
│       ├── actions/
│       │   └── release-notes/
│       │       ├── .gitignore
│       │       ├── README.md
│       │       ├── action.js
│       │       ├── action.yml
│       │       ├── dist/
│       │       │   └── index.js
│       │       ├── local.js
│       │       ├── package.json
│       │       └── release-notes.js
│       ├── benchmark.yml
│       ├── build.yml
│       ├── check-latest-release.yml
│       ├── codeql-analysis.yml
│       ├── compatibility.yml
│       ├── delivery/
│       │   ├── archlinux/
│       │   │   ├── README.md
│       │   │   ├── pack-cli-bin/
│       │   │   │   └── PKGBUILD
│       │   │   ├── pack-cli-git/
│       │   │   │   └── PKGBUILD
│       │   │   ├── publish-package.sh
│       │   │   └── test-install-package.sh
│       │   ├── chocolatey/
│       │   │   ├── pack.nuspec
│       │   │   └── tools/
│       │   │       └── VERIFICATION.txt
│       │   ├── homebrew/
│       │   │   └── pack.rb
│       │   └── ubuntu/
│       │       ├── 1_dependencies.sh
│       │       ├── 2_create-ppa.sh
│       │       ├── 3_test-ppa.sh
│       │       ├── 4_upload-ppa.sh
│       │       ├── debian/
│       │       │   ├── README
│       │       │   ├── changelog
│       │       │   ├── compat
│       │       │   ├── control
│       │       │   ├── copyright
│       │       │   └── rules
│       │       └── deliver.sh
│       ├── delivery-archlinux-git.yml
│       ├── delivery-archlinux.yml
│       ├── delivery-chocolatey.yml
│       ├── delivery-docker.yml
│       ├── delivery-homebrew.yml
│       ├── delivery-release-dispatch.yml
│       ├── delivery-ubuntu.yml
│       ├── privileged-pr-process.yml
│       ├── release-merge.yml
│       └── scripts/
│           ├── generate-release-event.sh
│           ├── generate-workflow_dispatch-event.sh
│           └── test-job.sh
├── .gitignore
├── .gitpod.yml
├── CODEOWNERS
├── CONTRIBUTING.md
├── DEVELOPMENT.md
├── Dockerfile
├── LICENSE
├── Makefile
├── README.md
├── RELEASE.md
├── acceptance/
│   ├── acceptance_test.go
│   ├── assertions/
│   │   ├── image.go
│   │   ├── lifecycle_output.go
│   │   ├── output.go
│   │   └── test_buildpack_output.go
│   ├── buildpacks/
│   │   ├── archive_buildpack.go
│   │   ├── folder_buildpack.go
│   │   ├── manager.go
│   │   ├── package_file_buildpack.go
│   │   └── package_image_buildpack.go
│   ├── config/
│   │   ├── asset_manager.go
│   │   ├── github_asset_fetcher.go
│   │   ├── input_configuration_manager.go
│   │   ├── lifecycle_asset.go
│   │   ├── pack_assets.go
│   │   └── run_combination.go
│   ├── invoke/
│   │   ├── pack.go
│   │   └── pack_fixtures.go
│   ├── managers/
│   │   └── image_manager.go
│   ├── os/
│   │   ├── variables.go
│   │   ├── variables_darwin.go
│   │   ├── variables_darwin_arm64.go
│   │   ├── variables_linux.go
│   │   └── variables_windows.go
│   ├── suite_manager.go
│   ├── testconfig/
│   │   └── all.json
│   └── testdata/
│       ├── mock_app/
│       │   ├── project.toml
│       │   ├── run
│       │   └── run.bat
│       ├── mock_buildpacks/
│       │   ├── descriptor-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── internet-capable-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── meta-buildpack/
│       │   │   ├── buildpack.toml
│       │   │   └── package.toml
│       │   ├── meta-buildpack-dependency/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── multi-platform-buildpack/
│       │   │   ├── buildpack.toml
│       │   │   ├── linux/
│       │   │   │   └── amd64/
│       │   │   │       └── bin/
│       │   │   │           ├── build
│       │   │   │           └── detect
│       │   │   └── windows/
│       │   │       └── amd64/
│       │   │           └── bin/
│       │   │               ├── build.bat
│       │   │               └── detect.bat
│       │   ├── nested-level-1-buildpack/
│       │   │   └── buildpack.toml
│       │   ├── nested-level-2-buildpack/
│       │   │   └── buildpack.toml
│       │   ├── noop-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── noop-buildpack-2/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   └── detect
│       │   │   └── buildpack.toml
│       │   ├── not-in-builder-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── other-stack-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── read-env-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── read-env-extension/
│       │   │   ├── bin/
│       │   │   │   ├── detect
│       │   │   │   └── generate
│       │   │   └── extension.toml
│       │   ├── read-volume-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── read-write-volume-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── simple-layers-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   └── detect.bat
│       │   │   └── buildpack.toml
│       │   ├── simple-layers-buildpack-different-sha/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   ├── build.bat
│       │   │   │   ├── detect
│       │   │   │   ├── detect.bat
│       │   │   │   └── extra_file.txt
│       │   │   └── buildpack.toml
│       │   ├── simple-layers-extension/
│       │   │   ├── bin/
│       │   │   │   ├── detect
│       │   │   │   └── generate
│       │   │   └── extension.toml
│       │   ├── simple-layers-parent-buildpack/
│       │   │   └── buildpack.toml
│       │   ├── system-fail-detect/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   └── detect
│       │   │   └── buildpack.toml
│       │   ├── system-post-buildpack/
│       │   │   ├── bin/
│       │   │   │   ├── build
│       │   │   │   └── detect
│       │   │   └── buildpack.toml
│       │   └── system-pre-buildpack/
│       │       ├── bin/
│       │       │   ├── build
│       │       │   └── detect
│       │       └── buildpack.toml
│       ├── mock_stack/
│       │   ├── create-stack.sh
│       │   ├── linux/
│       │   │   ├── build/
│       │   │   │   └── Dockerfile
│       │   │   └── run/
│       │   │       └── Dockerfile
│       │   └── windows/
│       │       ├── build/
│       │       │   └── Dockerfile
│       │       └── run/
│       │           ├── Dockerfile
│       │           └── server.go
│       ├── pack_fixtures/
│       │   ├── .gitattributes
│       │   ├── builder.toml
│       │   ├── builder_extensions.toml
│       │   ├── builder_multi_platform-no-targets.toml
│       │   ├── builder_multi_platform.toml
│       │   ├── builder_with_failing_system_buildpack.toml
│       │   ├── builder_with_optional_failing_system_buildpack.toml
│       │   ├── builder_with_system_buildpacks.toml
│       │   ├── inspect_0.20.0_builder_nested_depth_2_output.txt
│       │   ├── inspect_0.20.0_builder_nested_output.txt
│       │   ├── inspect_0.20.0_builder_nested_output_json.txt
│       │   ├── inspect_0.20.0_builder_nested_output_toml.txt
│       │   ├── inspect_0.20.0_builder_nested_output_yaml.txt
│       │   ├── inspect_0.20.0_builder_output.txt
│       │   ├── inspect_X.Y.Z_builder_output.txt
│       │   ├── inspect_builder_nested_depth_2_output.txt
│       │   ├── inspect_builder_nested_output.txt
│       │   ├── inspect_builder_nested_output_json.txt
│       │   ├── inspect_builder_nested_output_toml.txt
│       │   ├── inspect_builder_nested_output_yaml.txt
│       │   ├── inspect_builder_output.txt
│       │   ├── inspect_buildpack_output.txt
│       │   ├── inspect_image_local_output.json
│       │   ├── inspect_image_local_output.toml
│       │   ├── inspect_image_local_output.yaml
│       │   ├── inspect_image_published_output.json
│       │   ├── inspect_image_published_output.toml
│       │   ├── inspect_image_published_output.yaml
│       │   ├── invalid_builder.toml
│       │   ├── invalid_package.toml
│       │   ├── nested-level-1-buildpack_package.toml
│       │   ├── nested-level-2-buildpack_package.toml
│       │   ├── nested_builder.toml
│       │   ├── package.toml
│       │   ├── package_aggregate.toml
│       │   ├── package_for_build_cmd.toml
│       │   ├── package_multi_platform.toml
│       │   ├── report_output.txt
│       │   ├── simple-layers-buildpack-different-sha_package.toml
│       │   └── simple-layers-buildpack_package.toml
│       └── pack_previous_fixtures_overrides/
│           └── .gitkeep
├── benchmarks/
│   └── build_test.go
├── builder/
│   ├── buildpack_identifier.go
│   ├── config_reader.go
│   ├── config_reader_test.go
│   └── detection_order.go
├── buildpackage/
│   ├── config_reader.go
│   └── config_reader_test.go
├── cmd/
│   ├── cmd.go
│   └── docker_init.go
├── codecov.yml
├── go.mod
├── go.sum
├── golangci.yaml
├── internal/
│   ├── build/
│   │   ├── container_ops.go
│   │   ├── container_ops_test.go
│   │   ├── docker.go
│   │   ├── fakes/
│   │   │   ├── cache.go
│   │   │   ├── fake_builder.go
│   │   │   ├── fake_phase.go
│   │   │   ├── fake_phase_factory.go
│   │   │   └── fake_termui.go
│   │   ├── lifecycle_execution.go
│   │   ├── lifecycle_execution_test.go
│   │   ├── lifecycle_executor.go
│   │   ├── mount_paths.go
│   │   ├── phase.go
│   │   ├── phase_config_provider.go
│   │   ├── phase_config_provider_test.go
│   │   ├── phase_factory.go
│   │   ├── phase_test.go
│   │   └── testdata/
│   │       ├── fake-app/
│   │       │   ├── fake-app-file
│   │       │   └── file-to-ignore
│   │       └── fake-lifecycle/
│   │           ├── Dockerfile
│   │           ├── go.mod
│   │           ├── go.sum
│   │           ├── phase.go
│   │           └── test-phase
│   ├── builder/
│   │   ├── builder.go
│   │   ├── builder_test.go
│   │   ├── descriptor.go
│   │   ├── descriptor_test.go
│   │   ├── detection_order_calculator.go
│   │   ├── detection_order_calculator_test.go
│   │   ├── fakes/
│   │   │   ├── fake_detection_calculator.go
│   │   │   ├── fake_inspectable.go
│   │   │   ├── fake_inspectable_fetcher.go
│   │   │   ├── fake_label_manager.go
│   │   │   └── fake_label_manager_factory.go
│   │   ├── image_fetcher_wrapper.go
│   │   ├── inspect.go
│   │   ├── inspect_test.go
│   │   ├── label_manager.go
│   │   ├── label_manager_provider.go
│   │   ├── label_manager_test.go
│   │   ├── lifecycle.go
│   │   ├── lifecycle_test.go
│   │   ├── metadata.go
│   │   ├── testdata/
│   │   │   └── lifecycle/
│   │   │       ├── platform-0.3/
│   │   │       │   ├── lifecycle-v0.0.0-arch/
│   │   │       │   │   ├── analyzer
│   │   │       │   │   ├── builder
│   │   │       │   │   ├── creator
│   │   │       │   │   ├── detector
│   │   │       │   │   ├── exporter
│   │   │       │   │   ├── launcher
│   │   │       │   │   └── restorer
│   │   │       │   └── lifecycle.toml
│   │   │       └── platform-0.4/
│   │   │           ├── lifecycle-v0.0.0-arch/
│   │   │           │   ├── analyzer
│   │   │           │   ├── builder
│   │   │           │   ├── creator
│   │   │           │   ├── detector
│   │   │           │   ├── exporter
│   │   │           │   ├── launcher
│   │   │           │   └── restorer
│   │   │           └── lifecycle.toml
│   │   ├── testmocks/
│   │   │   └── mock_lifecycle.go
│   │   ├── trusted_builder.go
│   │   ├── trusted_builder_test.go
│   │   ├── version.go
│   │   ├── version_test.go
│   │   └── writer/
│   │       ├── factory.go
│   │       ├── factory_test.go
│   │       ├── human_readable.go
│   │       ├── human_readable_test.go
│   │       ├── json.go
│   │       ├── json_test.go
│   │       ├── shared_builder_test.go
│   │       ├── structured_format.go
│   │       ├── toml.go
│   │       ├── toml_test.go
│   │       ├── yaml.go
│   │       └── yaml_test.go
│   ├── commands/
│   │   ├── add_registry.go
│   │   ├── add_registry_test.go
│   │   ├── build.go
│   │   ├── build_test.go
│   │   ├── builder.go
│   │   ├── builder_create.go
│   │   ├── builder_create_test.go
│   │   ├── builder_inspect.go
│   │   ├── builder_inspect_test.go
│   │   ├── builder_suggest.go
│   │   ├── builder_suggest_test.go
│   │   ├── builder_test.go
│   │   ├── buildpack.go
│   │   ├── buildpack_inspect.go
│   │   ├── buildpack_inspect_test.go
│   │   ├── buildpack_new.go
│   │   ├── buildpack_new_test.go
│   │   ├── buildpack_package.go
│   │   ├── buildpack_package_test.go
│   │   ├── buildpack_pull.go
│   │   ├── buildpack_pull_test.go
│   │   ├── buildpack_register.go
│   │   ├── buildpack_register_test.go
│   │   ├── buildpack_test.go
│   │   ├── buildpack_yank.go
│   │   ├── buildpack_yank_test.go
│   │   ├── commands.go
│   │   ├── completion.go
│   │   ├── completion_test.go
│   │   ├── config.go
│   │   ├── config_default_builder.go
│   │   ├── config_default_builder_test.go
│   │   ├── config_experimental.go
│   │   ├── config_experimental_test.go
│   │   ├── config_lifecycle_image.go
│   │   ├── config_lifecycle_image_test.go
│   │   ├── config_pull_policy.go
│   │   ├── config_pull_policy_test.go
│   │   ├── config_registries.go
│   │   ├── config_registries_default.go
│   │   ├── config_registries_default_test.go
│   │   ├── config_registries_test.go
│   │   ├── config_registry_mirrors.go
│   │   ├── config_registry_mirrors_test.go
│   │   ├── config_run_image_mirrors.go
│   │   ├── config_run_image_mirrors_test.go
│   │   ├── config_test.go
│   │   ├── config_trusted_builder.go
│   │   ├── config_trusted_builder_test.go
│   │   ├── create_builder.go
│   │   ├── create_builder_test.go
│   │   ├── download_sbom.go
│   │   ├── download_sbom_test.go
│   │   ├── extension.go
│   │   ├── extension_inspect.go
│   │   ├── extension_inspect_test.go
│   │   ├── extension_new.go
│   │   ├── extension_package.go
│   │   ├── extension_package_test.go
│   │   ├── extension_pull.go
│   │   ├── extension_register.go
│   │   ├── extension_test.go
│   │   ├── extension_yank.go
│   │   ├── fakes/
│   │   │   ├── fake_builder_inspector.go
│   │   │   ├── fake_builder_writer.go
│   │   │   ├── fake_builder_writer_factory.go
│   │   │   ├── fake_buildpack_packager.go
│   │   │   ├── fake_extension_packager.go
│   │   │   ├── fake_inspect_image_writer.go
│   │   │   ├── fake_inspect_image_writer_factory.go
│   │   │   └── fake_package_config_reader.go
│   │   ├── inspect_builder.go
│   │   ├── inspect_builder_test.go
│   │   ├── inspect_buildpack.go
│   │   ├── inspect_buildpack_test.go
│   │   ├── inspect_extension.go
│   │   ├── inspect_image.go
│   │   ├── inspect_image_test.go
│   │   ├── list_registries.go
│   │   ├── list_registries_test.go
│   │   ├── list_trusted_builders.go
│   │   ├── list_trusted_builders_test.go
│   │   ├── manifest.go
│   │   ├── manifest_add.go
│   │   ├── manifest_add_test.go
│   │   ├── manifest_annotate.go
│   │   ├── manifest_annotate_test.go
│   │   ├── manifest_create.go
│   │   ├── manifest_create_test.go
│   │   ├── manifest_inspect.go
│   │   ├── manifest_inspect_test.go
│   │   ├── manifest_push.go
│   │   ├── manifest_push_test.go
│   │   ├── manifest_remove.go
│   │   ├── manifest_remove_test.go
│   │   ├── manifest_rm.go
│   │   ├── manifest_rm_test.go
│   │   ├── manifest_test.go
│   │   ├── package_buildpack.go
│   │   ├── package_buildpack_test.go
│   │   ├── rebase.go
│   │   ├── rebase_test.go
│   │   ├── register_buildpack.go
│   │   ├── register_buildpack_test.go
│   │   ├── remove_registry.go
│   │   ├── remove_registry_test.go
│   │   ├── report.go
│   │   ├── report_test.go
│   │   ├── sbom.go
│   │   ├── set_default_builder.go
│   │   ├── set_default_builder_test.go
│   │   ├── set_default_registry.go
│   │   ├── set_default_registry_test.go
│   │   ├── set_run_image_mirrors.go
│   │   ├── set_run_image_mirrors_test.go
│   │   ├── stack.go
│   │   ├── stack_suggest.go
│   │   ├── stack_suggest_test.go
│   │   ├── stack_test.go
│   │   ├── suggest_builders.go
│   │   ├── suggest_builders_test.go
│   │   ├── testdata/
│   │   │   ├── buildpack.toml
│   │   │   ├── inspect_image_output.json
│   │   │   └── project.toml
│   │   ├── testmocks/
│   │   │   ├── mock_inspect_image_writer_factory.go
│   │   │   └── mock_pack_client.go
│   │   ├── trust_builder.go
│   │   ├── trust_builder_test.go
│   │   ├── untrust_builder.go
│   │   ├── untrust_builder_test.go
│   │   ├── version.go
│   │   ├── version_test.go
│   │   ├── yank_buildpack.go
│   │   └── yank_buildpack_test.go
│   ├── config/
│   │   ├── config.go
│   │   ├── config_helpers.go
│   │   └── config_test.go
│   ├── container/
│   │   └── run.go
│   ├── fakes/
│   │   ├── fake_buildpack.go
│   │   ├── fake_buildpack_blob.go
│   │   ├── fake_buildpack_tar.go
│   │   ├── fake_extension.go
│   │   ├── fake_extension_blob.go
│   │   ├── fake_extension_tar.go
│   │   ├── fake_image_fetcher.go
│   │   ├── fake_images.go
│   │   ├── fake_lifecycle.go
│   │   └── fake_package.go
│   ├── inspectimage/
│   │   ├── bom_display.go
│   │   ├── info_display.go
│   │   └── writer/
│   │       ├── bom_json.go
│   │       ├── bom_json_test.go
│   │       ├── bom_yaml.go
│   │       ├── bom_yaml_test.go
│   │       ├── factory.go
│   │       ├── factory_test.go
│   │       ├── human_readable.go
│   │       ├── human_readable_test.go
│   │       ├── json.go
│   │       ├── json_test.go
│   │       ├── structured_bom_format.go
│   │       ├── structured_bom_format_test.go
│   │       ├── structured_format.go
│   │       ├── structured_format_test.go
│   │       ├── toml.go
│   │       ├── toml_test.go
│   │       ├── yaml.go
│   │       └── yaml_test.go
│   ├── layer/
│   │   ├── layer.go
│   │   ├── writer_factory.go
│   │   └── writer_factory_test.go
│   ├── name/
│   │   ├── name.go
│   │   └── name_test.go
│   ├── paths/
│   │   ├── defaults_unix.go
│   │   ├── defaults_windows.go
│   │   ├── paths.go
│   │   └── paths_test.go
│   ├── registry/
│   │   ├── buildpack.go
│   │   ├── buildpack_test.go
│   │   ├── git.go
│   │   ├── git_test.go
│   │   ├── github.go
│   │   ├── github_test.go
│   │   ├── index.go
│   │   ├── index_test.go
│   │   ├── registry_cache.go
│   │   └── registry_cache_test.go
│   ├── slices/
│   │   ├── slices.go
│   │   └── slices_test.go
│   ├── sshdialer/
│   │   ├── posix_test.go
│   │   ├── server_test.go
│   │   ├── ssh_agent_unix.go
│   │   ├── ssh_agent_windows.go
│   │   ├── ssh_dialer.go
│   │   ├── ssh_dialer_test.go
│   │   ├── testdata/
│   │   │   ├── etc/
│   │   │   │   └── ssh/
│   │   │   │       ├── ssh_host_ecdsa_key
│   │   │   │       ├── ssh_host_ecdsa_key.pub
│   │   │   │       ├── ssh_host_ed25519_key
│   │   │   │       ├── ssh_host_ed25519_key.pub
│   │   │   │       ├── ssh_host_rsa_key
│   │   │   │       └── ssh_host_rsa_key.pub
│   │   │   ├── id_dsa
│   │   │   ├── id_dsa.pub
│   │   │   ├── id_ed25519
│   │   │   ├── id_ed25519.pub
│   │   │   ├── id_rsa
│   │   │   └── id_rsa.pub
│   │   └── windows_test.go
│   ├── stack/
│   │   ├── merge.go
│   │   ├── merge_test.go
│   │   ├── mixins.go
│   │   └── mixins_test.go
│   ├── strings/
│   │   ├── strings.go
│   │   └── strings_test.go
│   ├── stringset/
│   │   ├── stringset.go
│   │   └── stringset_test.go
│   ├── style/
│   │   ├── style.go
│   │   └── style_test.go
│   ├── target/
│   │   ├── parse.go
│   │   ├── parse_test.go
│   │   ├── platform.go
│   │   └── platform_test.go
│   ├── term/
│   │   ├── term.go
│   │   └── term_test.go
│   └── termui/
│       ├── branch.go
│       ├── dashboard.go
│       ├── detect.go
│       ├── dive.go
│       ├── dive_test.go
│       ├── fakes/
│       │   ├── app.go
│       │   ├── builder.go
│       │   └── docker_stdwriter.go
│       ├── logger.go
│       ├── termui.go
│       ├── termui_test.go
│       └── testdata/
│           └── generate.sh
├── main.go
├── pkg/
│   ├── README.md
│   ├── archive/
│   │   ├── archive.go
│   │   ├── archive_test.go
│   │   ├── archive_unix.go
│   │   ├── archive_windows.go
│   │   ├── tar_builder.go
│   │   ├── tar_builder_test.go
│   │   ├── testdata/
│   │   │   ├── dir-to-tar/
│   │   │   │   └── some-file.txt
│   │   │   ├── dir-to-tar-with-hardlink/
│   │   │   │   └── original-file
│   │   │   └── jar-file.jar
│   │   └── umask_unix.go
│   ├── blob/
│   │   ├── blob.go
│   │   ├── blob_test.go
│   │   ├── downloader.go
│   │   ├── downloader_test.go
│   │   └── testdata/
│   │       ├── blob/
│   │       │   └── file.txt
│   │       ├── buildpack/
│   │       │   └── buildpack.toml
│   │       └── lifecycle/
│   │           ├── analyzer
│   │           ├── builder
│   │           ├── cacher
│   │           ├── detector
│   │           ├── exporter
│   │           ├── launcher
│   │           └── restorer
│   ├── buildpack/
│   │   ├── build_module_info.go
│   │   ├── build_module_info_test.go
│   │   ├── builder.go
│   │   ├── builder_test.go
│   │   ├── buildpack.go
│   │   ├── buildpack_tar_writer.go
│   │   ├── buildpack_tar_writer_test.go
│   │   ├── buildpack_test.go
│   │   ├── buildpackage.go
│   │   ├── downloader.go
│   │   ├── downloader_test.go
│   │   ├── locator_type.go
│   │   ├── locator_type_test.go
│   │   ├── managed_collection.go
│   │   ├── managed_collection_test.go
│   │   ├── multi_architecture_helper.go
│   │   ├── multi_architecture_helper_test.go
│   │   ├── oci_layout_package.go
│   │   ├── oci_layout_package_test.go
│   │   ├── package.go
│   │   ├── parse_name.go
│   │   ├── parse_name_test.go
│   │   └── testdata/
│   │       ├── buildpack/
│   │       │   ├── bin/
│   │       │   │   ├── build
│   │       │   │   └── detect
│   │       │   └── buildpack.toml
│   │       ├── buildpack-with-hardlink/
│   │       │   ├── bin/
│   │       │   │   ├── build
│   │       │   │   └── detect
│   │       │   ├── buildpack.toml
│   │       │   └── original-file
│   │       ├── extension/
│   │       │   ├── bin/
│   │       │   │   ├── detect
│   │       │   │   └── generate
│   │       │   └── extension.toml
│   │       ├── hello-universe-oci.cnb
│   │       ├── hello-universe.cnb
│   │       ├── package.toml
│   │       └── tree-extension.cnb
│   ├── cache/
│   │   ├── bind_cache.go
│   │   ├── cache_opts.go
│   │   ├── cache_opts_test.go
│   │   ├── consts.go
│   │   ├── image_cache.go
│   │   ├── image_cache_test.go
│   │   ├── volume_cache.go
│   │   └── volume_cache_test.go
│   ├── client/
│   │   ├── build.go
│   │   ├── build_test.go
│   │   ├── client.go
│   │   ├── client_test.go
│   │   ├── common.go
│   │   ├── common_test.go
│   │   ├── create_builder.go
│   │   ├── create_builder_test.go
│   │   ├── docker.go
│   │   ├── docker_context.go
│   │   ├── docker_context_test.go
│   │   ├── download_sbom.go
│   │   ├── download_sbom_test.go
│   │   ├── errors.go
│   │   ├── example_build_test.go
│   │   ├── example_buildpack_downloader_test.go
│   │   ├── example_fetcher_test.go
│   │   ├── input_image_reference.go
│   │   ├── input_image_reference_test.go
│   │   ├── inspect_builder.go
│   │   ├── inspect_builder_test.go
│   │   ├── inspect_buildpack.go
│   │   ├── inspect_buildpack_test.go
│   │   ├── inspect_extension.go
│   │   ├── inspect_extension_test.go
│   │   ├── inspect_image.go
│   │   ├── inspect_image_test.go
│   │   ├── manifest_add.go
│   │   ├── manifest_add_test.go
│   │   ├── manifest_annotate.go
│   │   ├── manifest_annotate_test.go
│   │   ├── manifest_create.go
│   │   ├── manifest_create_test.go
│   │   ├── manifest_inspect.go
│   │   ├── manifest_inspect_test.go
│   │   ├── manifest_push.go
│   │   ├── manifest_push_test.go
│   │   ├── manifest_remove.go
│   │   ├── manifest_remove_test.go
│   │   ├── manifest_rm.go
│   │   ├── manifest_rm_test.go
│   │   ├── new_buildpack.go
│   │   ├── new_buildpack_test.go
│   │   ├── package_buildpack.go
│   │   ├── package_buildpack_test.go
│   │   ├── package_extension.go
│   │   ├── package_extension_test.go
│   │   ├── process_volumes.go
│   │   ├── process_volumes_unix.go
│   │   ├── pull_buildpack.go
│   │   ├── pull_buildpack_test.go
│   │   ├── rebase.go
│   │   ├── rebase_test.go
│   │   ├── register_buildpack.go
│   │   ├── register_buildpack_test.go
│   │   ├── testdata/
│   │   │   ├── builder.toml
│   │   │   ├── buildpack/
│   │   │   │   ├── bin/
│   │   │   │   │   ├── build
│   │   │   │   │   └── detect
│   │   │   │   └── buildpack.toml
│   │   │   ├── buildpack-api-0.4/
│   │   │   │   ├── bin/
│   │   │   │   │   ├── build
│   │   │   │   │   └── detect
│   │   │   │   └── buildpack.toml
│   │   │   ├── buildpack-flatten/
│   │   │   │   ├── buildpack-1/
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-2/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-3/
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-4/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-5/
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-6/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   └── buildpack-7/
│   │   │   │       ├── bin/
│   │   │   │       │   ├── build
│   │   │   │       │   └── detect
│   │   │   │       └── buildpack.toml
│   │   │   ├── buildpack-multi-platform/
│   │   │   │   ├── README.md
│   │   │   │   ├── buildpack-composite/
│   │   │   │   │   ├── buildpack.toml
│   │   │   │   │   └── package.toml
│   │   │   │   ├── buildpack-composite-with-dependencies-on-disk/
│   │   │   │   │   ├── buildpack.toml
│   │   │   │   │   └── package.toml
│   │   │   │   ├── buildpack-new-format/
│   │   │   │   │   └── linux/
│   │   │   │   │       ├── amd64/
│   │   │   │   │       │   ├── bin/
│   │   │   │   │       │   │   ├── build
│   │   │   │   │       │   │   └── detect
│   │   │   │   │       │   └── buildpack.toml
│   │   │   │   │       ├── arm/
│   │   │   │   │       │   ├── bin/
│   │   │   │   │       │   │   ├── build
│   │   │   │   │       │   │   └── detect
│   │   │   │   │       │   └── buildpack.toml
│   │   │   │   │       └── buildpack.toml
│   │   │   │   ├── buildpack-new-format-with-versions/
│   │   │   │   │   └── linux/
│   │   │   │   │       ├── amd64/
│   │   │   │   │       │   └── v5/
│   │   │   │   │       │       ├── ubuntu@18.01/
│   │   │   │   │       │       │   ├── bin/
│   │   │   │   │       │       │   │   ├── build
│   │   │   │   │       │       │   │   └── detect
│   │   │   │   │       │       │   └── buildpack.toml
│   │   │   │   │       │       └── ubuntu@21.01/
│   │   │   │   │       │           ├── bin/
│   │   │   │   │       │           │   ├── build
│   │   │   │   │       │           │   └── detect
│   │   │   │   │       │           └── buildpack.toml
│   │   │   │   │       └── arm/
│   │   │   │   │           └── v6/
│   │   │   │   │               ├── ubuntu@18.01/
│   │   │   │   │               │   ├── bin/
│   │   │   │   │               │   │   ├── build
│   │   │   │   │               │   │   └── detect
│   │   │   │   │               │   └── buildpack.toml
│   │   │   │   │               └── ubuntu@21.01/
│   │   │   │   │                   ├── bin/
│   │   │   │   │                   │   ├── build
│   │   │   │   │                   │   └── detect
│   │   │   │   │                   └── buildpack.toml
│   │   │   │   └── buildpack-old-format/
│   │   │   │       ├── bin/
│   │   │   │       │   ├── build
│   │   │   │       │   └── detect
│   │   │   │       └── buildpack.toml
│   │   │   ├── buildpack-non-deterministic/
│   │   │   │   ├── buildpack-1-version-1/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-1-version-2/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   ├── buildpack-2-version-1/
│   │   │   │   │   ├── bin/
│   │   │   │   │   │   ├── build
│   │   │   │   │   │   └── detect
│   │   │   │   │   └── buildpack.toml
│   │   │   │   └── buildpack-2-version-2/
│   │   │   │       ├── bin/
│   │   │   │       │   ├── build
│   │   │   │       │   └── detect
│   │   │   │       └── buildpack.toml
│   │   │   ├── buildpack2/
│   │   │   │   ├── bin/
│   │   │   │   │   ├── build
│   │   │   │   │   └── detect
│   │   │   │   └── buildpack.toml
│   │   │   ├── docker-context/
│   │   │   │   ├── error-cases/
│   │   │   │   │   ├── config-does-not-exist/
│   │   │   │   │   │   └── README
│   │   │   │   │   ├── current-context-does-not-match/
│   │   │   │   │   │   ├── config.json
│   │   │   │   │   │   └── contexts/
│   │   │   │   │   │       └── meta/
│   │   │   │   │   │           └── fe9c6bd7a66301f49ca9b6a70b217107cd1284598bfc254700c989b916da791e/
│   │   │   │   │   │               └── meta.json
│   │   │   │   │   ├── docker-endpoint-does-not-exist/
│   │   │   │   │   │   ├── config.json
│   │   │   │   │   │   └── contexts/
│   │   │   │   │   │       └── meta/
│   │   │   │   │   │           └── fe9c6bd7a66301f49ca9b6a70b217107cd1284598bfc254700c989b916da791e/
│   │   │   │   │   │               └── meta.json
│   │   │   │   │   ├── empty-context/
│   │   │   │   │   │   └── config.json
│   │   │   │   │   ├── invalid-config/
│   │   │   │   │   │   └── config.json
│   │   │   │   │   └── invalid-metadata/
│   │   │   │   │       ├── config.json
│   │   │   │   │       └── contexts/
│   │   │   │   │           └── meta/
│   │   │   │   │               └── fe9c6bd7a66301f49ca9b6a70b217107cd1284598bfc254700c989b916da791e/
│   │   │   │   │                   └── meta.json
│   │   │   │   └── happy-cases/
│   │   │   │       ├── current-context-not-defined/
│   │   │   │       │   └── config.json
│   │   │   │       ├── custom-context/
│   │   │   │       │   ├── config.json
│   │   │   │       │   └── contexts/
│   │   │   │       │       └── meta/
│   │   │   │       │           └── fe9c6bd7a66301f49ca9b6a70b217107cd1284598bfc254700c989b916da791e/
│   │   │   │       │               └── meta.json
│   │   │   │       ├── default-context/
│   │   │   │       │   └── config.json
│   │   │   │       └── two-endpoints-context/
│   │   │   │           ├── config.json
│   │   │   │           └── contexts/
│   │   │   │               └── meta/
│   │   │   │                   └── fe9c6bd7a66301f49ca9b6a70b217107cd1284598bfc254700c989b916da791e/
│   │   │   │                       └── meta.json
│   │   │   ├── downloader/
│   │   │   │   └── dirA/
│   │   │   │       └── file.txt
│   │   │   ├── empty-file
│   │   │   ├── extension/
│   │   │   │   ├── bin/
│   │   │   │   │   ├── detect
│   │   │   │   │   └── generate
│   │   │   │   └── extension.toml
│   │   │   ├── extension-api-0.9/
│   │   │   │   ├── bin/
│   │   │   │   │   ├── detect
│   │   │   │   │   └── generate
│   │   │   │   └── extension.toml
│   │   │   ├── jar-file.jar
│   │   │   ├── just-a-file.txt
│   │   │   ├── lifecycle/
│   │   │   │   ├── platform-0.13/
│   │   │   │   │   ├── lifecycle-v0.0.0-arch/
│   │   │   │   │   │   ├── analyzer
│   │   │   │   │   │   ├── builder
│   │   │   │   │   │   ├── creator
│   │   │   │   │   │   ├── detector
│   │   │   │   │   │   ├── exporter
│   │   │   │   │   │   ├── launcher
│   │   │   │   │   │   └── restorer
│   │   │   │   │   └── lifecycle.toml
│   │   │   │   ├── platform-0.3/
│   │   │   │   │   ├── lifecycle-v0.0.0-arch/
│   │   │   │   │   │   ├── analyzer
│   │   │   │   │   │   ├── builder
│   │   │   │   │   │   ├── creator
│   │   │   │   │   │   ├── detector
│   │   │   │   │   │   ├── exporter
│   │   │   │   │   │   ├── launcher
│   │   │   │   │   │   └── restorer
│   │   │   │   │   └── lifecycle.toml
│   │   │   │   └── platform-0.4/
│   │   │   │       ├── lifecycle-v0.0.0-arch/
│   │   │   │       │   ├── analyzer
│   │   │   │       │   ├── builder
│   │   │   │       │   ├── creator
│   │   │   │       │   ├── detector
│   │   │   │       │   ├── exporter
│   │   │   │       │   ├── launcher
│   │   │   │       │   └── restorer
│   │   │   │       └── lifecycle.toml
│   │   │   ├── non-zip-file
│   │   │   ├── registry/
│   │   │   │   ├── 3/
│   │   │   │   │   └── fo/
│   │   │   │   │       └── example_foo
│   │   │   │   └── ja/
│   │   │   │       └── va/
│   │   │   │           └── example_java
│   │   │   └── some-app/
│   │   │       └── .gitignore
│   │   ├── version.go
│   │   ├── yank_buildpack.go
│   │   └── yank_buildpack_test.go
│   ├── dist/
│   │   ├── buildmodule.go
│   │   ├── buildmodule_test.go
│   │   ├── buildpack_descriptor.go
│   │   ├── buildpack_descriptor_test.go
│   │   ├── dist.go
│   │   ├── dist_test.go
│   │   ├── distribution.go
│   │   ├── extension_descriptor.go
│   │   ├── extension_descriptor_test.go
│   │   ├── image.go
│   │   ├── image_test.go
│   │   └── layers.go
│   ├── image/
│   │   ├── fetcher.go
│   │   ├── fetcher_test.go
│   │   ├── platform.go
│   │   ├── pull_policy.go
│   │   └── pull_policy_test.go
│   ├── index/
│   │   ├── index_factory.go
│   │   └── index_factory_test.go
│   ├── logging/
│   │   ├── logger_simple.go
│   │   ├── logger_simple_test.go
│   │   ├── logger_writers.go
│   │   ├── logger_writers_test.go
│   │   ├── logging.go
│   │   ├── logging_test.go
│   │   ├── prefix_writer.go
│   │   └── prefix_writer_test.go
│   ├── project/
│   │   ├── project.go
│   │   ├── project_test.go
│   │   ├── types/
│   │   │   └── types.go
│   │   ├── v01/
│   │   │   └── project.go
│   │   ├── v02/
│   │   │   ├── metadata.go
│   │   │   ├── metadata_test.go
│   │   │   └── project.go
│   │   └── v03/
│   │       └── project.go
│   └── testmocks/
│       ├── mock_access_checker.go
│       ├── mock_blob_downloader.go
│       ├── mock_build_module.go
│       ├── mock_buildpack_downloader.go
│       ├── mock_docker_client.go
│       ├── mock_image.go
│       ├── mock_image_factory.go
│       ├── mock_image_fetcher.go
│       ├── mock_index_factory.go
│       └── mock_registry_resolver.go
├── project.toml
├── registry/
│   └── type.go
├── testdata/
│   ├── builder.toml
│   ├── buildpack/
│   │   ├── bin/
│   │   │   ├── build
│   │   │   └── detect
│   │   └── buildpack.toml
│   ├── buildpack-api-0.4/
│   │   ├── bin/
│   │   │   ├── build
│   │   │   └── detect
│   │   └── buildpack.toml
│   ├── buildpack2/
│   │   ├── bin/
│   │   │   ├── build
│   │   │   └── detect
│   │   └── buildpack.toml
│   ├── downloader/
│   │   └── dirA/
│   │       └── file.txt
│   ├── empty-file
│   ├── jar-file.jar
│   ├── just-a-file.txt
│   ├── lifecycle/
│   │   ├── platform-0.3/
│   │   │   ├── lifecycle-v0.0.0-arch/
│   │   │   │   ├── analyzer
│   │   │   │   ├── builder
│   │   │   │   ├── creator
│   │   │   │   ├── detector
│   │   │   │   ├── exporter
│   │   │   │   ├── launcher
│   │   │   │   └── restorer
│   │   │   └── lifecycle.toml
│   │   └── platform-0.4/
│   │       ├── lifecycle-v0.0.0-arch/
│   │       │   ├── analyzer
│   │       │   ├── builder
│   │       │   ├── creator
│   │       │   ├── detector
│   │       │   ├── exporter
│   │       │   ├── launcher
│   │       │   └── restorer
│   │       └── lifecycle.toml
│   ├── non-zip-file
│   ├── registry/
│   │   ├── 3/
│   │   │   └── fo/
│   │   │       └── example_foo
│   │   └── ja/
│   │       └── va/
│   │           └── example_java
│   └── some-app/
│       └── .gitignore
├── testhelpers/
│   ├── arg_patterns.go
│   ├── assert_file.go
│   ├── assertions.go
│   ├── comparehelpers/
│   │   ├── deep_compare.go
│   │   └── deep_compare_test.go
│   ├── image_index.go
│   ├── registry.go
│   ├── tar_assertions.go
│   ├── tar_verifier.go
│   └── testhelpers.go
└── tools/
    ├── go.mod
    ├── go.sum
    ├── pedantic_imports/
    │   └── main.go
    ├── test-fork.sh
    └── tools.go
Download .txt
Showing preview only (379K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3999 symbols across 465 files)

FILE: .github/workflows/actions/release-notes/dist/index.js
  function issueCommand (line 74) | function issueCommand(command, properties, message) {
  function issue (line 79) | function issue(name, message = '') {
  class Command (line 84) | class Command {
    method constructor (line 85) | constructor(command, properties, message) {
    method toString (line 93) | toString() {
  function escapeData (line 117) | function escapeData(s) {
  function escapeProperty (line 123) | function escapeProperty(s) {
  function adopt (line 160) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 162) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 163) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 164) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  function exportVariable (line 199) | function exportVariable(name, val) {
  function setSecret (line 213) | function setSecret(secret) {
  function addPath (line 221) | function addPath(inputPath) {
  function getInput (line 241) | function getInput(name, options) {
  function getMultilineInput (line 260) | function getMultilineInput(name, options) {
  function getBooleanInput (line 280) | function getBooleanInput(name, options) {
  function setOutput (line 299) | function setOutput(name, value) {
  function setCommandEcho (line 313) | function setCommandEcho(enabled) {
  function setFailed (line 325) | function setFailed(message) {
  function isDebug (line 336) | function isDebug() {
  function debug (line 344) | function debug(message) {
  function error (line 353) | function error(message, properties = {}) {
  function warning (line 362) | function warning(message, properties = {}) {
  function notice (line 371) | function notice(message, properties = {}) {
  function info (line 379) | function info(message) {
  function startGroup (line 390) | function startGroup(name) {
  function endGroup (line 397) | function endGroup() {
  function group (line 409) | function group(name, fn) {
  function saveState (line 433) | function saveState(name, value) {
  function getState (line 447) | function getState(name) {
  function getIDToken (line 451) | function getIDToken(aud) {
  function issueFileCommand (line 511) | function issueFileCommand(command, message) {
  function prepareKeyValueMessage (line 524) | function prepareKeyValueMessage(key, value) {
  function adopt (line 549) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 551) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 552) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 553) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  class OidcClient (line 562) | class OidcClient {
    method createHttpClient (line 563) | static createHttpClient(allowRetry = true, maxRetry = 10) {
    method getRequestToken (line 570) | static getRequestToken() {
    method getIDTokenUrl (line 577) | static getIDTokenUrl() {
    method getCall (line 584) | static getCall(id_token_url) {
    method getIDToken (line 602) | static getIDToken(audience) {
  function toPosixPath (line 661) | function toPosixPath(pth) {
  function toWin32Path (line 672) | function toWin32Path(pth) {
  function toPlatformPath (line 684) | function toPlatformPath(pth) {
  function adopt (line 698) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 700) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 701) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 702) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  class Summary (line 713) | class Summary {
    method constructor (line 714) | constructor() {
    method filePath (line 723) | filePath() {
    method wrap (line 751) | wrap(tag, content, attrs = {}) {
    method write (line 767) | write(options) {
    method clear (line 781) | clear() {
    method stringify (line 791) | stringify() {
    method isEmptyBuffer (line 799) | isEmptyBuffer() {
    method emptyBuffer (line 807) | emptyBuffer() {
    method addRaw (line 819) | addRaw(text, addEOL = false) {
    method addEOL (line 828) | addEOL() {
    method addCodeBlock (line 839) | addCodeBlock(code, lang) {
    method addList (line 852) | addList(items, ordered = false) {
    method addTable (line 865) | addTable(rows) {
    method addDetails (line 893) | addDetails(label, content) {
    method addImage (line 906) | addImage(src, alt, options) {
    method addHeading (line 920) | addHeading(text, level) {
    method addSeparator (line 933) | addSeparator() {
    method addBreak (line 942) | addBreak() {
    method addQuote (line 954) | addQuote(text, cite) {
    method addLink (line 967) | addLink(text, href) {
  function toCommandValue (line 995) | function toCommandValue(input) {
  function toCommandProperties (line 1011) | function toCommandProperties(annotationProperties) {
  function adopt (line 1035) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 1037) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 1038) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 1039) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  class BasicCredentialHandler (line 1045) | class BasicCredentialHandler {
    method constructor (line 1046) | constructor(username, password) {
    method prepareRequest (line 1050) | prepareRequest(options) {
    method canHandleAuthentication (line 1057) | canHandleAuthentication() {
    method handleAuthentication (line 1060) | handleAuthentication() {
  class BearerCredentialHandler (line 1067) | class BearerCredentialHandler {
    method constructor (line 1068) | constructor(token) {
    method prepareRequest (line 1073) | prepareRequest(options) {
    method canHandleAuthentication (line 1080) | canHandleAuthentication() {
    method handleAuthentication (line 1083) | handleAuthentication() {
  class PersonalAccessTokenCredentialHandler (line 1090) | class PersonalAccessTokenCredentialHandler {
    method constructor (line 1091) | constructor(token) {
    method prepareRequest (line 1096) | prepareRequest(options) {
    method canHandleAuthentication (line 1103) | canHandleAuthentication() {
    method handleAuthentication (line 1106) | handleAuthentication() {
  function adopt (line 1143) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 1145) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 1146) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 1147) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  function getProxyUrl (line 1200) | function getProxyUrl(serverUrl) {
  class HttpClientError (line 1220) | class HttpClientError extends Error {
    method constructor (line 1221) | constructor(message, statusCode) {
  class HttpClientResponse (line 1229) | class HttpClientResponse {
    method constructor (line 1230) | constructor(message) {
    method readBody (line 1233) | readBody() {
    method constructor (line 2083) | constructor(message) {
    method readBody (line 2086) | readBody() {
  function isHttps (line 1248) | function isHttps(requestUrl) {
  class HttpClient (line 1253) | class HttpClient {
    method constructor (line 1254) | constructor(userAgent, handlers, requestOptions) {
    method options (line 1291) | options(requestUrl, additionalHeaders) {
    method get (line 1296) | get(requestUrl, additionalHeaders) {
    method del (line 1301) | del(requestUrl, additionalHeaders) {
    method post (line 1306) | post(requestUrl, data, additionalHeaders) {
    method patch (line 1311) | patch(requestUrl, data, additionalHeaders) {
    method put (line 1316) | put(requestUrl, data, additionalHeaders) {
    method head (line 1321) | head(requestUrl, additionalHeaders) {
    method sendStream (line 1326) | sendStream(verb, requestUrl, stream, additionalHeaders) {
    method getJson (line 1335) | getJson(requestUrl, additionalHeaders = {}) {
    method postJson (line 1342) | postJson(requestUrl, obj, additionalHeaders = {}) {
    method putJson (line 1351) | putJson(requestUrl, obj, additionalHeaders = {}) {
    method patchJson (line 1360) | patchJson(requestUrl, obj, additionalHeaders = {}) {
    method request (line 1374) | request(verb, requestUrl, data, headers) {
    method dispose (line 1459) | dispose() {
    method requestRaw (line 1470) | requestRaw(info, data) {
    method requestRawWithCallback (line 1495) | requestRawWithCallback(info, data, onResult) {
    method getAgent (line 1547) | getAgent(serverUrl) {
    method _prepareRequest (line 1551) | _prepareRequest(method, requestUrl, headers) {
    method _mergeHeaders (line 1578) | _mergeHeaders(headers) {
    method _getExistingOrDefaultHeader (line 1584) | _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
    method _getAgent (line 1591) | _getAgent(parsedUrl) {
    method _performExponentialBackoff (line 1650) | _performExponentialBackoff(retryNumber) {
    method _processResponse (line 1657) | _processResponse(res, options) {
    method constructor (line 2105) | constructor(userAgent, handlers, requestOptions) {
    method options (line 2142) | options(requestUrl, additionalHeaders) {
    method get (line 2145) | get(requestUrl, additionalHeaders) {
    method del (line 2148) | del(requestUrl, additionalHeaders) {
    method post (line 2151) | post(requestUrl, data, additionalHeaders) {
    method patch (line 2154) | patch(requestUrl, data, additionalHeaders) {
    method put (line 2157) | put(requestUrl, data, additionalHeaders) {
    method head (line 2160) | head(requestUrl, additionalHeaders) {
    method sendStream (line 2163) | sendStream(verb, requestUrl, stream, additionalHeaders) {
    method getJson (line 2170) | async getJson(requestUrl, additionalHeaders = {}) {
    method postJson (line 2175) | async postJson(requestUrl, obj, additionalHeaders = {}) {
    method putJson (line 2182) | async putJson(requestUrl, obj, additionalHeaders = {}) {
    method patchJson (line 2189) | async patchJson(requestUrl, obj, additionalHeaders = {}) {
    method request (line 2201) | async request(verb, requestUrl, data, headers) {
    method dispose (line 2282) | dispose() {
    method requestRaw (line 2293) | requestRaw(info, data) {
    method requestRawWithCallback (line 2310) | requestRawWithCallback(info, data, onResult) {
    method getAgent (line 2359) | getAgent(serverUrl) {
    method _prepareRequest (line 2363) | _prepareRequest(method, requestUrl, headers) {
    method _mergeHeaders (line 2390) | _mergeHeaders(headers) {
    method _getExistingOrDefaultHeader (line 2397) | _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
    method _getAgent (line 2405) | _getAgent(parsedUrl) {
    method _performExponentialBackoff (line 2469) | _performExponentialBackoff(retryNumber) {
    method dateTimeDeserializer (line 2474) | static dateTimeDeserializer(key, value) {
    method _processResponse (line 2483) | async _processResponse(res, options) {
  function getProxyUrl (line 1736) | function getProxyUrl(reqUrl) {
  function checkBypass (line 1757) | function checkBypass(reqUrl) {
  class Context (line 1806) | class Context {
    method constructor (line 1810) | constructor() {
    method issue (line 1831) | get issue() {
    method repo (line 1835) | get repo() {
  function getOctokit (line 1889) | function getOctokit(token, options) {
  function getAuthString (line 1924) | function getAuthString(token, options) {
  function getProxyAgent (line 1934) | function getProxyAgent(destinationUrl) {
  function getApiBaseUrl (line 1939) | function getApiBaseUrl() {
  function getOctokitOptions (line 1994) | function getOctokitOptions(token, options) {
  function getProxyUrl (line 2062) | function getProxyUrl(serverUrl) {
  class HttpClientResponse (line 2082) | class HttpClientResponse {
    method constructor (line 1230) | constructor(message) {
    method readBody (line 1233) | readBody() {
    method constructor (line 2083) | constructor(message) {
    method readBody (line 2086) | readBody() {
  function isHttps (line 2099) | function isHttps(requestUrl) {
  class HttpClient (line 2104) | class HttpClient {
    method constructor (line 1254) | constructor(userAgent, handlers, requestOptions) {
    method options (line 1291) | options(requestUrl, additionalHeaders) {
    method get (line 1296) | get(requestUrl, additionalHeaders) {
    method del (line 1301) | del(requestUrl, additionalHeaders) {
    method post (line 1306) | post(requestUrl, data, additionalHeaders) {
    method patch (line 1311) | patch(requestUrl, data, additionalHeaders) {
    method put (line 1316) | put(requestUrl, data, additionalHeaders) {
    method head (line 1321) | head(requestUrl, additionalHeaders) {
    method sendStream (line 1326) | sendStream(verb, requestUrl, stream, additionalHeaders) {
    method getJson (line 1335) | getJson(requestUrl, additionalHeaders = {}) {
    method postJson (line 1342) | postJson(requestUrl, obj, additionalHeaders = {}) {
    method putJson (line 1351) | putJson(requestUrl, obj, additionalHeaders = {}) {
    method patchJson (line 1360) | patchJson(requestUrl, obj, additionalHeaders = {}) {
    method request (line 1374) | request(verb, requestUrl, data, headers) {
    method dispose (line 1459) | dispose() {
    method requestRaw (line 1470) | requestRaw(info, data) {
    method requestRawWithCallback (line 1495) | requestRawWithCallback(info, data, onResult) {
    method getAgent (line 1547) | getAgent(serverUrl) {
    method _prepareRequest (line 1551) | _prepareRequest(method, requestUrl, headers) {
    method _mergeHeaders (line 1578) | _mergeHeaders(headers) {
    method _getExistingOrDefaultHeader (line 1584) | _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
    method _getAgent (line 1591) | _getAgent(parsedUrl) {
    method _performExponentialBackoff (line 1650) | _performExponentialBackoff(retryNumber) {
    method _processResponse (line 1657) | _processResponse(res, options) {
    method constructor (line 2105) | constructor(userAgent, handlers, requestOptions) {
    method options (line 2142) | options(requestUrl, additionalHeaders) {
    method get (line 2145) | get(requestUrl, additionalHeaders) {
    method del (line 2148) | del(requestUrl, additionalHeaders) {
    method post (line 2151) | post(requestUrl, data, additionalHeaders) {
    method patch (line 2154) | patch(requestUrl, data, additionalHeaders) {
    method put (line 2157) | put(requestUrl, data, additionalHeaders) {
    method head (line 2160) | head(requestUrl, additionalHeaders) {
    method sendStream (line 2163) | sendStream(verb, requestUrl, stream, additionalHeaders) {
    method getJson (line 2170) | async getJson(requestUrl, additionalHeaders = {}) {
    method postJson (line 2175) | async postJson(requestUrl, obj, additionalHeaders = {}) {
    method putJson (line 2182) | async putJson(requestUrl, obj, additionalHeaders = {}) {
    method patchJson (line 2189) | async patchJson(requestUrl, obj, additionalHeaders = {}) {
    method request (line 2201) | async request(verb, requestUrl, data, headers) {
    method dispose (line 2282) | dispose() {
    method requestRaw (line 2293) | requestRaw(info, data) {
    method requestRawWithCallback (line 2310) | requestRawWithCallback(info, data, onResult) {
    method getAgent (line 2359) | getAgent(serverUrl) {
    method _prepareRequest (line 2363) | _prepareRequest(method, requestUrl, headers) {
    method _mergeHeaders (line 2390) | _mergeHeaders(headers) {
    method _getExistingOrDefaultHeader (line 2397) | _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
    method _getAgent (line 2405) | _getAgent(parsedUrl) {
    method _performExponentialBackoff (line 2469) | _performExponentialBackoff(retryNumber) {
    method dateTimeDeserializer (line 2474) | static dateTimeDeserializer(key, value) {
    method _processResponse (line 2483) | async _processResponse(res, options) {
  function getProxyUrl (line 2554) | function getProxyUrl(reqUrl) {
  function checkBypass (line 2573) | function checkBypass(reqUrl) {
  function auth (line 2621) | async function auth(token) {
  function withAuthorizationPrefix (line 2635) | function withAuthorizationPrefix(token) {
  function hook (line 2643) | async function hook(token, request, route, parameters) {
  function _defineProperty (line 2684) | function _defineProperty(obj, key, value) {
  function ownKeys (line 2699) | function ownKeys(object, enumerableOnly) {
  function _objectSpread2 (line 2713) | function _objectSpread2(target) {
  class Octokit (line 2735) | class Octokit {
    method constructor (line 2736) | constructor(options = {}) {
    method defaults (line 2810) | static defaults(defaults) {
    method plugin (line 2836) | static plugin(...newPlugins) {
  function _interopDefault (line 2862) | function _interopDefault (ex) { return (ex && (typeof ex === 'object') &...
  function lowercaseKeys (line 2867) | function lowercaseKeys(object) {
  function mergeDeep (line 2878) | function mergeDeep(defaults, options) {
  function merge (line 2894) | function merge(defaults, route, options) {
  function addQueryParameters (line 2919) | function addQueryParameters(url, parameters) {
  function removeNonChars (line 2938) | function removeNonChars(variableName) {
  function extractUrlVariableNames (line 2942) | function extractUrlVariableNames(url) {
  function omit (line 2952) | function omit(object, keysToOmit) {
  function encodeReserved (line 2986) | function encodeReserved(str) {
  function encodeUnreserved (line 2996) | function encodeUnreserved(str) {
  function encodeValue (line 3002) | function encodeValue(operator, value, key) {
  function isDefined (line 3012) | function isDefined(value) {
  function isKeyOperator (line 3016) | function isKeyOperator(operator) {
  function getValues (line 3020) | function getValues(context, operator, key, modifier) {
  function parseUrl (line 3084) | function parseUrl(template) {
  function expand (line 3090) | function expand(template, context) {
  function parse (line 3126) | function parse(options) {
  function endpointWithDefaults (line 3200) | function endpointWithDefaults(defaults, route, options) {
  function withDefaults (line 3204) | function withDefaults(oldDefaults, newDefaults) {
  class GraphqlError (line 3254) | class GraphqlError extends Error {
    method constructor (line 3255) | constructor(request, response) {
  function graphql (line 3272) | function graphql(request, query, options) {
  function withDefaults (line 3300) | function withDefaults(request$1, newDefaults) {
  function withCustomRequest (line 3320) | function withCustomRequest(customRequest) {
  function normalizePaginatedListResponse (line 3360) | function normalizePaginatedListResponse(response) {
  function iterator (line 3387) | function iterator(octokit, route, parameters) {
  function paginate (line 3421) | function paginate(octokit, route, parameters, mapFn) {
  function gather (line 3430) | function gather(octokit, results, iterator, mapFn) {
  function paginateRest (line 3457) | function paginateRest(octokit) {
  function endpointsToMethods (line 4559) | function endpointsToMethods(octokit, endpointsMap) {
  function decorate (line 4589) | function decorate(octokit, scope, methodName, defaults, decorations) {
  function restEndpointMethods (line 4651) | function restEndpointMethods(octokit) {
  function _interopDefault (line 4670) | function _interopDefault (ex) { return (ex && (typeof ex === 'object') &...
  class RequestError (line 4680) | class RequestError extends Error {
    method constructor (line 4681) | constructor(message, statusCode, options) {
  function _interopDefault (line 4733) | function _interopDefault (ex) { return (ex && (typeof ex === 'object') &...
  function getBufferResponse (line 4743) | function getBufferResponse(response) {
  function fetchWrapper (line 4747) | function fetchWrapper(requestOptions) {
  function withDefaults (line 4842) | function withDefaults(oldEndpoint, newDefaults) {
  function bindApi (line 4892) | function bindApi (hook, state, name) {
  function HookSingular (line 4903) | function HookSingular () {
  function HookCollection (line 4913) | function HookCollection () {
  function Hook (line 4925) | function Hook () {
  function addHook (line 4950) | function addHook (state, kind, name, hook) {
  function register (line 5003) | function register (state, name, method, options) {
  function removeHook (line 5038) | function removeHook (state, name, method) {
  function spawn (line 5067) | function spawn(command, args, options) {
  function spawnSync (line 5081) | function spawnSync(command, args, options) {
  function notFoundError (line 5112) | function notFoundError(original, syscall) {
  function hookChildProcess (line 5122) | function hookChildProcess(cp, parsed) {
  function verifyENOENT (line 5145) | function verifyENOENT(status, parsed) {
  function verifyENOENTSync (line 5153) | function verifyENOENTSync(status, parsed) {
  function detectShebang (line 5191) | function detectShebang(parsed) {
  function parseNonShell (line 5206) | function parseNonShell(parsed) {
  function parseShell (line 5244) | function parseShell(parsed) {
  function parse (line 5273) | function parse(command, args, options) {
  function escapeCommand (line 5313) | function escapeCommand(arg) {
  function escapeArgument (line 5320) | function escapeArgument(arg, doubleEscapeMetaChars) {
  function readShebang (line 5366) | function readShebang(command) {
  function resolveCommandAttempt (line 5407) | function resolveCommandAttempt(parsed, withoutPathExt) {
  function resolveCommand (line 5443) | function resolveCommand(parsed) {
  class Deprecation (line 5460) | class Deprecation extends Error {
    method constructor (line 5461) | constructor(message) {
  function handleArgs (line 5600) | function handleArgs(cmd, args, opts) {
  function handleInput (line 5663) | function handleInput(spawned, input) {
  function handleOutput (line 5675) | function handleOutput(opts, val) {
  function handleShell (line 5683) | function handleShell(fn, cmd, opts) {
  function getStream (line 5704) | function getStream(process, stream, {encoding, buffer, maxBuffer}) {
  function makeError (line 5734) | function makeError(result, options) {
  function joinCmd (line 5772) | function joinCmd(cmd, args) {
  function destroy (line 5842) | function destroy() {
  function errname (line 5981) | function errname(uv, code) {
  class MaxBufferError (line 6113) | class MaxBufferError extends Error {
    method constructor (line 6114) | constructor() {
  function getStream (line 6120) | function getStream(inputStream, options) {
  function isObject (line 6176) | function isObject(val) {
  function isObjectObject (line 6187) | function isObjectObject(o) {
  function isPlainObject (line 6192) | function isPlainObject(o) {
  function isexe (line 6262) | function isexe (path, options, cb) {
  function sync (line 6296) | function sync (path, options) {
  function isexe (line 6320) | function isexe (path, options, cb) {
  function sync (line 6326) | function sync (path, options) {
  function checkStat (line 6330) | function checkStat (stat, options) {
  function checkMode (line 6334) | function checkMode (stat, options) {
  function checkPathExt (line 6368) | function checkPathExt (path, options) {
  function checkStat (line 6389) | function checkStat (stat, path, options) {
  function isexe (line 6396) | function isexe (path, options, cb) {
  function sync (line 6402) | function sync (path, options) {
  function _interopDefault (line 6480) | function _interopDefault (ex) { return (ex && (typeof ex === 'object') &...
  class Blob (line 6497) | class Blob {
    method constructor (line 6498) | constructor() {
    method size (line 6536) | get size() {
    method type (line 6539) | get type() {
    method text (line 6542) | text() {
    method arrayBuffer (line 6545) | arrayBuffer() {
    method stream (line 6550) | stream() {
    method toString (line 6557) | toString() {
    method slice (line 6560) | slice() {
  function FetchError (line 6617) | function FetchError(message, type, systemError) {
  function Body (line 6655) | function Body(body) {
  method body (line 6699) | get body() {
  method bodyUsed (line 6703) | get bodyUsed() {
  method arrayBuffer (line 6712) | arrayBuffer() {
  method blob (line 6723) | blob() {
  method json (line 6741) | json() {
  method text (line 6758) | text() {
  method buffer (line 6769) | buffer() {
  method textConverted (line 6779) | textConverted() {
  function consumeBody (line 6815) | function consumeBody() {
  function convertBody (line 6919) | function convertBody(buffer, headers) {
  function isURLSearchParams (line 6983) | function isURLSearchParams(obj) {
  function isBlob (line 6998) | function isBlob(obj) {
  function clone (line 7008) | function clone(instance) {
  function extractContentType (line 7042) | function extractContentType(body) {
  function getTotalBytes (line 7086) | function getTotalBytes(instance) {
  function writeToStream (line 7118) | function writeToStream(dest, instance) {
  function validateName (line 7149) | function validateName(name) {
  function validateValue (line 7156) | function validateValue(value) {
  function find (line 7171) | function find(map, name) {
  class Headers (line 7182) | class Headers {
    method constructor (line 7189) | constructor() {
    method get (line 7250) | get(name) {
    method forEach (line 7268) | forEach(callback) {
    method set (line 7291) | set(name, value) {
    method append (line 7307) | append(name, value) {
    method has (line 7326) | has(name) {
    method delete (line 7338) | delete(name) {
    method raw (line 7352) | raw() {
    method keys (line 7361) | keys() {
    method values (line 7370) | values() {
  method [Symbol.iterator] (line 7381) | [Symbol.iterator]() {
  function getHeaders (line 7406) | function getHeaders(headers) {
  function createHeadersIterator (line 7421) | function createHeadersIterator(target, kind) {
  method next (line 7432) | next() {
  function exportNodeCompatibleHeaders (line 7474) | function exportNodeCompatibleHeaders(headers) {
  function createHeadersLenient (line 7494) | function createHeadersLenient(obj) {
  class Response (line 7530) | class Response {
    method constructor (line 7531) | constructor() {
    method url (line 7556) | get url() {
    method status (line 7560) | get status() {
    method ok (line 7567) | get ok() {
    method redirected (line 7571) | get redirected() {
    method statusText (line 7575) | get statusText() {
    method headers (line 7579) | get headers() {
    method clone (line 7588) | clone() {
  function parseURL (line 7632) | function parseURL(urlStr) {
  function isRequest (line 7654) | function isRequest(input) {
  function isAbortSignal (line 7658) | function isAbortSignal(signal) {
  class Request (line 7670) | class Request {
    method constructor (line 7671) | constructor(input) {
    method method (line 7737) | get method() {
    method url (line 7741) | get url() {
    method headers (line 7745) | get headers() {
    method redirect (line 7749) | get redirect() {
    method signal (line 7753) | get signal() {
    method clone (line 7762) | clone() {
  function getNodeRequestOptions (line 7791) | function getNodeRequestOptions(request) {
  function AbortError (line 7869) | function AbortError(message) {
  function fetch (line 7902) | function fetch(url, opts) {
  function once (line 8247) | function once (fn) {
  function onceStrict (line 8257) | function onceStrict (fn) {
  function parse (line 8707) | function parse (version, options) {
  function valid (line 8740) | function valid (version, options) {
  function clean (line 8746) | function clean (version, options) {
  function SemVer (line 8753) | function SemVer (version, options) {
  function inc (line 8999) | function inc (version, release, loose, identifier) {
  function diff (line 9013) | function diff (version1, version2) {
  function compareIdentifiers (line 9038) | function compareIdentifiers (a, b) {
  function rcompareIdentifiers (line 9055) | function rcompareIdentifiers (a, b) {
  function major (line 9060) | function major (a, loose) {
  function minor (line 9065) | function minor (a, loose) {
  function patch (line 9070) | function patch (a, loose) {
  function compare (line 9075) | function compare (a, b, loose) {
  function compareLoose (line 9080) | function compareLoose (a, b) {
  function rcompare (line 9085) | function rcompare (a, b, loose) {
  function sort (line 9090) | function sort (list, loose) {
  function rsort (line 9097) | function rsort (list, loose) {
  function gt (line 9104) | function gt (a, b, loose) {
  function lt (line 9109) | function lt (a, b, loose) {
  function eq (line 9114) | function eq (a, b, loose) {
  function neq (line 9119) | function neq (a, b, loose) {
  function gte (line 9124) | function gte (a, b, loose) {
  function lte (line 9129) | function lte (a, b, loose) {
  function cmp (line 9134) | function cmp (a, op, b, loose) {
  function Comparator (line 9176) | function Comparator (comp, options) {
  function Range (line 9297) | function Range (range, options) {
    method copy (line 14291) | static copy(orig) {
    method constructor (line 14295) | constructor(start, end) {
    method isEmpty (line 14300) | isEmpty() {
    method setOrigRange (line 14313) | setOrigRange(cr, offset) {
  function toComparators (line 9411) | function toComparators (range, options) {
  function parseComparator (line 9422) | function parseComparator (comp, options) {
  function isX (line 9435) | function isX (id) {
  function replaceTildes (line 9445) | function replaceTildes (comp, options) {
  function replaceTilde (line 9451) | function replaceTilde (comp, options) {
  function replaceCarets (line 9485) | function replaceCarets (comp, options) {
  function replaceCaret (line 9491) | function replaceCaret (comp, options) {
  function replaceXRanges (line 9543) | function replaceXRanges (comp, options) {
  function replaceXRange (line 9550) | function replaceXRange (comp, options) {
  function replaceStars (line 9619) | function replaceStars (comp, options) {
  function hyphenReplace (line 9630) | function hyphenReplace ($0,
  function testSet (line 9676) | function testSet (set, version, options) {
  function satisfies (line 9713) | function satisfies (version, range, options) {
  function maxSatisfying (line 9723) | function maxSatisfying (versions, range, options) {
  function minSatisfying (line 9745) | function minSatisfying (versions, range, options) {
  function minVersion (line 9767) | function minVersion (range, loose) {
  function validRange (line 9821) | function validRange (range, options) {
  function ltr (line 9833) | function ltr (version, range, options) {
  function gtr (line 9839) | function gtr (version, range, options) {
  function outside (line 9844) | function outside (version, range, hilo, options) {
  function prerelease (line 9914) | function prerelease (version, options) {
  function intersects (line 9920) | function intersects (r1, r2, options) {
  function coerce (line 9927) | function coerce (version) {
  function unload (line 10046) | function unload () {
  function emit (line 10062) | function emit (event, code, signal) {
  function load (line 10103) | function load () {
  function processReallyExit (line 10129) | function processReallyExit (code) {
  function processEmit (line 10139) | function processEmit (ev, arg) {
  function normalize (line 10254) | function normalize(str) { // fix bug in v8
  function findStatus (line 10258) | function findStatus(val) {
  function countSymbols (line 10280) | function countSymbols(string) {
  function mapChars (line 10288) | function mapChars(domain_name, useSTD3, processing_option) {
  function validateLabel (line 10343) | function validateLabel(label, processing_option) {
  function processing (line 10376) | function processing(domain_name, useSTD3, processing_option) {
  function httpOverHttp (line 10470) | function httpOverHttp(options) {
  function httpsOverHttp (line 10476) | function httpsOverHttp(options) {
  function httpOverHttps (line 10484) | function httpOverHttps(options) {
  function httpsOverHttps (line 10490) | function httpsOverHttps(options) {
  function TunnelingAgent (line 10499) | function TunnelingAgent(options) {
  function onFree (line 10542) | function onFree() {
  function onCloseOrRemove (line 10546) | function onCloseOrRemove(err) {
  function onResponse (line 10586) | function onResponse(res) {
  function onUpgrade (line 10591) | function onUpgrade(res, socket, head) {
  function onConnect (line 10598) | function onConnect(res, socket, head) {
  function onError (line 10627) | function onError(cause) {
  function createSecureSocket (line 10657) | function createSecureSocket(options, cb) {
  function toOptions (line 10674) | function toOptions(host, port, localAddress) {
  function mergeOptions (line 10685) | function mergeOptions(target) {
  function _interopDefault (line 10729) | function _interopDefault (ex) { return (ex && (typeof ex === 'object') &...
  function getUserAgent (line 10733) | function getUserAgent() {
  function rng (line 10780) | function rng() {
  function validate (line 10793) | function validate(uuid) {
  function stringify (line 10811) | function stringify(arr, offset = 0) {
  function v1 (line 10843) | function v1(options, buf, offset) {
  function parse (line 10927) | function parse(uuid) {
  function stringToBytes (line 10964) | function stringToBytes(str) {
  function v35 (line 10978) | function v35(name, version, hashfunc) {
  function md5 (line 11028) | function md5(bytes) {
  function v4 (line 11048) | function v4(options, buf, offset) {
  function sha1 (line 11072) | function sha1(bytes) {
  function version (line 11093) | function version(uuid) {
  function sign (line 11124) | function sign(x) {
  function evenRound (line 11128) | function evenRound(x) {
  function createNumberConversion (line 11137) | function createNumberConversion(bitLength, typeOpts) {
  method constructor (line 11320) | constructor(constructorArgs) {
  method href (line 11342) | get href() {
  method href (line 11346) | set href(v) {
  method origin (line 11355) | get origin() {
  method protocol (line 11359) | get protocol() {
  method protocol (line 11363) | set protocol(v) {
  method username (line 11367) | get username() {
  method username (line 11371) | set username(v) {
  method password (line 11379) | get password() {
  method password (line 11383) | set password(v) {
  method host (line 11391) | get host() {
  method host (line 11405) | set host(v) {
  method hostname (line 11413) | get hostname() {
  method hostname (line 11421) | set hostname(v) {
  method port (line 11429) | get port() {
  method port (line 11437) | set port(v) {
  method pathname (line 11449) | get pathname() {
  method pathname (line 11461) | set pathname(v) {
  method search (line 11470) | get search() {
  method search (line 11478) | set search(v) {
  method hash (line 11493) | get hash() {
  method hash (line 11501) | set hash(v) {
  method toJSON (line 11512) | toJSON() {
  function URL (line 11532) | function URL(url) {
  method get (line 11562) | get() {
  method set (line 11565) | set(V) {
  method get (line 11581) | get() {
  method get (line 11589) | get() {
  method set (line 11592) | set(V) {
  method get (line 11601) | get() {
  method set (line 11604) | set(V) {
  method get (line 11613) | get() {
  method set (line 11616) | set(V) {
  method get (line 11625) | get() {
  method set (line 11628) | set(V) {
  method get (line 11637) | get() {
  method set (line 11640) | set(V) {
  method get (line 11649) | get() {
  method set (line 11652) | set(V) {
  method get (line 11661) | get() {
  method set (line 11664) | set(V) {
  method get (line 11673) | get() {
  method set (line 11676) | set(V) {
  method get (line 11685) | get() {
  method set (line 11688) | set(V) {
  method is (line 11698) | is(obj) {
  method create (line 11701) | create(constructorArgs, privateData) {
  method setup (line 11706) | setup(obj, constructorArgs, privateData) {
  function countSymbols (line 11763) | function countSymbols(str) {
  function at (line 11767) | function at(input, idx) {
  function isASCIIDigit (line 11772) | function isASCIIDigit(c) {
  function isASCIIAlpha (line 11776) | function isASCIIAlpha(c) {
  function isASCIIAlphanumeric (line 11780) | function isASCIIAlphanumeric(c) {
  function isASCIIHex (line 11784) | function isASCIIHex(c) {
  function isSingleDot (line 11788) | function isSingleDot(buffer) {
  function isDoubleDot (line 11792) | function isDoubleDot(buffer) {
  function isWindowsDriveLetterCodePoints (line 11797) | function isWindowsDriveLetterCodePoints(cp1, cp2) {
  function isWindowsDriveLetterString (line 11801) | function isWindowsDriveLetterString(string) {
  function isNormalizedWindowsDriveLetterString (line 11805) | function isNormalizedWindowsDriveLetterString(string) {
  function containsForbiddenHostCodePoint (line 11809) | function containsForbiddenHostCodePoint(string) {
  function containsForbiddenHostCodePointExcludingPercent (line 11813) | function containsForbiddenHostCodePointExcludingPercent(string) {
  function isSpecialScheme (line 11817) | function isSpecialScheme(scheme) {
  function isSpecial (line 11821) | function isSpecial(url) {
  function defaultPort (line 11825) | function defaultPort(scheme) {
  function percentEncode (line 11829) | function percentEncode(c) {
  function utf8PercentEncode (line 11838) | function utf8PercentEncode(c) {
  function utf8PercentDecode (line 11850) | function utf8PercentDecode(str) {
  function isC0ControlPercentEncode (line 11866) | function isC0ControlPercentEncode(c) {
  function isPathPercentEncode (line 11871) | function isPathPercentEncode(c) {
  function isUserinfoPercentEncode (line 11877) | function isUserinfoPercentEncode(c) {
  function percentEncodeChar (line 11881) | function percentEncodeChar(c, encodeSetPredicate) {
  function parseIPv4Number (line 11891) | function parseIPv4Number(input) {
  function parseIPv4 (line 11914) | function parseIPv4(input) {
  function serializeIPv4 (line 11959) | function serializeIPv4(address) {
  function parseIPv6 (line 11974) | function parseIPv6(input) {
  function serializeIPv6 (line 12103) | function serializeIPv6(address) {
  function parseHost (line 12133) | function parseHost(input, isSpecialArg) {
  function parseOpaqueHost (line 12164) | function parseOpaqueHost(input) {
  function findLongestZeroSequence (line 12177) | function findLongestZeroSequence(arr) {
  function serializeHost (line 12212) | function serializeHost(host) {
  function trimControlChars (line 12225) | function trimControlChars(url) {
  function trimTabAndNewline (line 12229) | function trimTabAndNewline(url) {
  function shortenPath (line 12233) | function shortenPath(url) {
  function includesCredentials (line 12245) | function includesCredentials(url) {
  function cannotHaveAUsernamePasswordPort (line 12249) | function cannotHaveAUsernamePasswordPort(url) {
  function isNormalizedWindowsDriveLetter (line 12253) | function isNormalizedWindowsDriveLetter(string) {
  function URLStateMachine (line 12257) | function URLStateMachine(input, base, encodingOverride, url, stateOverri...
  function serializeURL (line 12915) | function serializeURL(url, excludeFragment) {
  function serializeOrigin (line 12956) | function serializeOrigin(tuple) {
  function getNotFoundError (line 13090) | function getNotFoundError (cmd) {
  function getPathInfo (line 13097) | function getPathInfo (cmd, opt) {
  function which (line 13129) | function which (cmd, opt, cb) {
  function whichSync (line 13173) | function whichSync (cmd, opt) {
  function wrappy (line 13287) | function wrappy (fn, cb) {
  method binary (line 13344) | get binary() {
  method binary (line 13348) | set binary(opt) {
  method bool (line 13352) | get bool() {
  method bool (line 13356) | set bool(opt) {
  method int (line 13360) | get int() {
  method int (line 13364) | set int(opt) {
  method null (line 13368) | get null() {
  method null (line 13372) | set null(opt) {
  method str (line 13376) | get str() {
  method str (line 13380) | set str(opt) {
  function stringifyTag (line 13421) | function stringifyTag(doc, tag) {
  function getTagObject (line 13448) | function getTagObject(tags, item) {
  function stringifyProps (line 13477) | function stringifyProps(node, tagObj, {
  function stringify (line 13498) | function stringify(item, ctx, onComment, onChompKeep) {
  class Anchors (line 13533) | class Anchors {
    method validAnchorNode (line 13534) | static validAnchorNode(node) {
    method constructor (line 13538) | constructor(prefix) {
    method createAlias (line 13544) | createAlias(node, name) {
    method createMergePair (line 13549) | createMergePair(...sources) {
    method getName (line 13563) | getName(node) {
    method getNames (line 13570) | getNames() {
    method getNode (line 13574) | getNode(name) {
    method newName (line 13578) | newName(prefix) {
    method resolveNodes (line 13589) | resolveNodes() {
    method setAnchor (line 13605) | setAnchor(node, name) {
  function parseContents (line 13662) | function parseContents(doc, contents) {
  function resolveTagDirective (line 13716) | function resolveTagDirective({
  function resolveYamlDirective (line 13737) | function resolveYamlDirective(doc, directive) {
  function parseDirectives (line 13755) | function parseDirectives(doc, directives, prevDoc) {
  function assertCollection (line 13819) | function assertCollection(contents) {
  class Document (line 13824) | class Document {
    method constructor (line 13825) | constructor(options) {
    method add (line 13839) | add(value) {
    method addIn (line 13844) | addIn(path, value) {
    method delete (line 13849) | delete(key) {
    method deleteIn (line 13854) | deleteIn(path) {
    method getDefaults (line 13865) | getDefaults() {
    method get (line 13869) | get(key, keepScalar) {
    method getIn (line 13873) | getIn(path, keepScalar) {
    method has (line 13878) | has(key) {
    method hasIn (line 13882) | hasIn(path) {
    method set (line 13887) | set(key, value) {
    method setIn (line 13892) | setIn(path, value) {
    method setSchema (line 13899) | setSchema(id, customTags) {
    method parse (line 13915) | parse(node, prevDoc) {
    method listNonDefaultTags (line 13948) | listNonDefaultTags() {
    method setTagPrefix (line 13952) | setTagPrefix(handle, prefix) {
    method toJSON (line 13966) | toJSON(arg, onAnchor) {
    method toString (line 13996) | toString() {
    method constructor (line 15522) | constructor(options) {
    method startCommentOrEndBlankLine (line 16058) | static startCommentOrEndBlankLine(src, start) {
    method constructor (line 16064) | constructor() {
    method parseDirectives (line 16072) | parseDirectives(start) {
    method parseContents (line 16153) | parseContents(start) {
    method parse (line 16263) | parse(context, start) {
    method setOrigRanges (line 16276) | setOrigRanges(cr, offset) {
    method toString (line 16289) | toString() {
  function findLineStarts (line 14122) | function findLineStarts(src) {
  function getSrcInfo (line 14135) | function getSrcInfo(cst) {
  function getLinePos (line 14178) | function getLinePos(offset, cst) {
  function getLine (line 14222) | function getLine(line, cst) {
  function getPrettyContext (line 14252) | function getPrettyContext({
  class Range (line 14290) | class Range {
    method copy (line 14291) | static copy(orig) {
    method constructor (line 14295) | constructor(start, end) {
    method isEmpty (line 14300) | isEmpty() {
    method setOrigRange (line 14313) | setOrigRange(cr, offset) {
  class Node (line 14347) | class Node {
    method addStringTerminator (line 14348) | static addStringTerminator(src, offset, str) {
    method atDocumentBoundary (line 14355) | static atDocumentBoundary(src, offset, sep) {
    method endOfIdentifier (line 14374) | static endOfIdentifier(src, offset) {
    method endOfIndent (line 14385) | static endOfIndent(src, offset) {
    method endOfLine (line 14393) | static endOfLine(src, offset) {
    method endOfWhiteSpace (line 14401) | static endOfWhiteSpace(src, offset) {
    method startOfLine (line 14409) | static startOfLine(src, offset) {
    method endOfBlockIndent (line 14428) | static endOfBlockIndent(src, indent, lineStart) {
    method atBlank (line 14442) | static atBlank(src, offset, endAsBlank) {
    method nextNodeIsIndented (line 14447) | static nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) {
    method normalizeOffset (line 14454) | static normalizeOffset(src, offset) {
    method foldNewline (line 14461) | static foldNewline(src, offset, indent) {
    method constructor (line 14498) | constructor(type, props, context) {
    method getPropValue (line 14511) | getPropValue(idx, key, skipKey) {
    method anchor (line 14520) | get anchor() {
    method comment (line 14529) | get comment() {
    method commentHasRequiredWhitespace (line 14540) | commentHasRequiredWhitespace(start) {
    method hasComment (line 14552) | get hasComment() {
    method hasProps (line 14566) | get hasProps() {
    method includesTrailingLines (line 14580) | get includesTrailingLines() {
    method jsonLike (line 14584) | get jsonLike() {
    method rangeAsLinePos (line 14589) | get rangeAsLinePos() {
    method rawValue (line 14600) | get rawValue() {
    method tag (line 14609) | get tag() {
    method valueRangeContainsNewline (line 14632) | get valueRangeContainsNewline() {
    method parseComment (line 14649) | parseComment(start) {
    method setOrigRanges (line 14673) | setOrigRanges(cr, offset) {
    method toString (line 14680) | toString() {
  class YAMLError (line 14695) | class YAMLError extends Error {
    method constructor (line 14696) | constructor(name, source, message) {
    method makePretty (line 14704) | makePretty() {
  class YAMLReferenceError (line 14744) | class YAMLReferenceError extends YAMLError {
    method constructor (line 14745) | constructor(source, message) {
  class YAMLSemanticError (line 14750) | class YAMLSemanticError extends YAMLError {
    method constructor (line 14751) | constructor(source, message) {
  class YAMLSyntaxError (line 14756) | class YAMLSyntaxError extends YAMLError {
    method constructor (line 14757) | constructor(source, message) {
  class YAMLWarning (line 14762) | class YAMLWarning extends YAMLError {
    method constructor (line 14763) | constructor(source, message) {
  function _defineProperty (line 14769) | function _defineProperty(obj, key, value) {
  class PlainValue (line 14784) | class PlainValue extends Node {
    method endOfLine (line 14785) | static endOfLine(src, start, inFlow) {
    method strValue (line 14801) | get strValue() {
    method parseBlockValue (line 14871) | parseBlockValue(start) {
    method parse (line 14924) | parse(context, start) {
  function createMap (line 14977) | function createMap(schema, obj, ctx) {
  function createSeq (line 15001) | function createSeq(schema, obj, ctx) {
  method stringify (line 15028) | stringify(item, ctx, onComment, onChompKeep) {
  function intStringify (line 15046) | function intStringify(node, radix, prefix) {
  method resolve (line 15129) | resolve(str, frac1, frac2) {
  function intResolve$1 (line 15199) | function intResolve$1(sign, src, radix) {
  function intStringify$1 (line 15225) | function intStringify$1(node, radix, prefix) {
  method resolve (line 15317) | resolve(str, frac) {
  function findTagObject (line 15357) | function findTagObject(value, tagName, tags) {
  function createNode (line 15369) | function createNode(value, tagName, ctx) {
  function getSchemaTags (line 15416) | function getSchemaTags(schemas, knownTags, customTags, schemaId) {
  class Schema (line 15450) | class Schema {
    method constructor (line 15453) | constructor({
    method createNode (line 15467) | createNode(value, wrapScalars, tagName, ctx) {
    method createPair (line 15477) | createPair(key, value, ctx) {
  function createNode (line 15510) | function createNode(value, wrapScalars = true, tag) {
  class Document (line 15521) | class Document extends Document$1.Document {
    method constructor (line 13825) | constructor(options) {
    method add (line 13839) | add(value) {
    method addIn (line 13844) | addIn(path, value) {
    method delete (line 13849) | delete(key) {
    method deleteIn (line 13854) | deleteIn(path) {
    method getDefaults (line 13865) | getDefaults() {
    method get (line 13869) | get(key, keepScalar) {
    method getIn (line 13873) | getIn(path, keepScalar) {
    method has (line 13878) | has(key) {
    method hasIn (line 13882) | hasIn(path) {
    method set (line 13887) | set(key, value) {
    method setIn (line 13892) | setIn(path, value) {
    method setSchema (line 13899) | setSchema(id, customTags) {
    method parse (line 13915) | parse(node, prevDoc) {
    method listNonDefaultTags (line 13948) | listNonDefaultTags() {
    method setTagPrefix (line 13952) | setTagPrefix(handle, prefix) {
    method toJSON (line 13966) | toJSON(arg, onAnchor) {
    method toString (line 13996) | toString() {
    method constructor (line 15522) | constructor(options) {
    method startCommentOrEndBlankLine (line 16058) | static startCommentOrEndBlankLine(src, start) {
    method constructor (line 16064) | constructor() {
    method parseDirectives (line 16072) | parseDirectives(start) {
    method parseContents (line 16153) | parseContents(start) {
    method parse (line 16263) | parse(context, start) {
    method setOrigRanges (line 16276) | setOrigRanges(cr, offset) {
    method toString (line 16289) | toString() {
  function parseAllDocuments (line 15528) | function parseAllDocuments(src, options) {
  function parseDocument (line 15542) | function parseDocument(src, options) {
  function parse (line 15554) | function parse(src, options) {
  function stringify (line 15561) | function stringify(value, options) {
  class BlankLine (line 15592) | class BlankLine extends PlainValue.Node {
    method constructor (line 15593) | constructor() {
    method includesTrailingLines (line 15599) | get includesTrailingLines() {
    method parse (line 15613) | parse(context, start) {
  class CollectionItem (line 15621) | class CollectionItem extends PlainValue.Node {
    method constructor (line 15622) | constructor(type, props) {
    method includesTrailingLines (line 15627) | get includesTrailingLines() {
    method parse (line 15637) | parse(context, start) {
    method setOrigRanges (line 15716) | setOrigRanges(cr, offset) {
    method toString (line 15721) | toString() {
  class Comment (line 15737) | class Comment extends PlainValue.Node {
    method constructor (line 15738) | constructor() {
    method parse (line 15750) | parse(context, start) {
  function grabCollectionEndComments (line 15759) | function grabCollectionEndComments(node) {
  class Collection (line 15795) | class Collection extends PlainValue.Node {
    method nextContentHasIndent (line 15796) | static nextContentHasIndent(src, offset, indent) {
    method constructor (line 15806) | constructor(firstItem) {
    method includesTrailingLines (line 15825) | get includesTrailingLines() {
    method parse (line 15835) | parse(context, start) {
    method setOrigRanges (line 15974) | setOrigRanges(cr, offset) {
    method toString (line 15982) | toString() {
    method constructor (line 17408) | constructor(schema) {
    method addIn (line 17416) | addIn(path, value) {
    method deleteIn (line 17424) | deleteIn([key, ...rest]) {
    method getIn (line 17430) | getIn([key, ...rest], keepScalar) {
    method hasAllNullValues (line 17435) | hasAllNullValues() {
    method hasIn (line 17443) | hasIn([key, ...rest]) {
    method setIn (line 17449) | setIn([key, ...rest], value) {
    method toJSON (line 17461) | toJSON() {
    method toString (line 17465) | toString(ctx, {
  class Directive (line 16009) | class Directive extends PlainValue.Node {
    method constructor (line 16010) | constructor() {
    method parameters (line 16015) | get parameters() {
    method parseName (line 16020) | parseName(start) {
    method parseParameters (line 16033) | parseParameters(start) {
    method parse (line 16046) | parse(context, start) {
  class Document (line 16057) | class Document extends PlainValue.Node {
    method constructor (line 13825) | constructor(options) {
    method add (line 13839) | add(value) {
    method addIn (line 13844) | addIn(path, value) {
    method delete (line 13849) | delete(key) {
    method deleteIn (line 13854) | deleteIn(path) {
    method getDefaults (line 13865) | getDefaults() {
    method get (line 13869) | get(key, keepScalar) {
    method getIn (line 13873) | getIn(path, keepScalar) {
    method has (line 13878) | has(key) {
    method hasIn (line 13882) | hasIn(path) {
    method set (line 13887) | set(key, value) {
    method setIn (line 13892) | setIn(path, value) {
    method setSchema (line 13899) | setSchema(id, customTags) {
    method parse (line 13915) | parse(node, prevDoc) {
    method listNonDefaultTags (line 13948) | listNonDefaultTags() {
    method setTagPrefix (line 13952) | setTagPrefix(handle, prefix) {
    method toJSON (line 13966) | toJSON(arg, onAnchor) {
    method toString (line 13996) | toString() {
    method constructor (line 15522) | constructor(options) {
    method startCommentOrEndBlankLine (line 16058) | static startCommentOrEndBlankLine(src, start) {
    method constructor (line 16064) | constructor() {
    method parseDirectives (line 16072) | parseDirectives(start) {
    method parseContents (line 16153) | parseContents(start) {
    method parse (line 16263) | parse(context, start) {
    method setOrigRanges (line 16276) | setOrigRanges(cr, offset) {
    method toString (line 16289) | toString() {
  class Alias (line 16309) | class Alias extends PlainValue.Node {
    method parse (line 16317) | parse(context, start) {
    method stringify (line 17800) | static stringify({
    method constructor (line 17816) | constructor(source) {
    method tag (line 17822) | set tag(t) {
    method toJSON (line 17826) | toJSON(arg, ctx) {
    method toString (line 17855) | toString(ctx) {
  class BlockValue (line 16336) | class BlockValue extends PlainValue.Node {
    method constructor (line 16337) | constructor(type, props) {
    method includesTrailingLines (line 16344) | get includesTrailingLines() {
    method strValue (line 16348) | get strValue() {
    method parseBlockHeader (line 16425) | parseBlockHeader(start) {
    method parseBlockValue (line 16467) | parseBlockValue(start) {
    method parse (line 16546) | parse(context, start) {
    method setOrigRanges (line 16558) | setOrigRanges(cr, offset) {
  class FlowCollection (line 16565) | class FlowCollection extends PlainValue.Node {
    method constructor (line 16566) | constructor(type, props) {
    method prevNodeIsJsonLike (line 16571) | prevNodeIsJsonLike(idx = this.items.length) {
    method parse (line 16582) | parse(context, start) {
    method setOrigRanges (line 16706) | setOrigRanges(cr, offset) {
    method toString (line 16727) | toString() {
  class QuoteDouble (line 16758) | class QuoteDouble extends PlainValue.Node {
    method endOfQuote (line 16759) | static endOfQuote(src, offset) {
    method strValue (line 16774) | get strValue() {
    method parseCharCode (line 16939) | parseCharCode(offset, length, errors) {
    method parse (line 16963) | parse(context, start) {
  class QuoteSingle (line 16977) | class QuoteSingle extends PlainValue.Node {
    method endOfQuote (line 16978) | static endOfQuote(src, offset) {
    method strValue (line 16997) | get strValue() {
    method parse (line 17058) | parse(context, start) {
  function createNewNode (line 17072) | function createNewNode(type, props) {
  class ParseContext (line 17118) | class ParseContext {
    method parseType (line 17119) | static parseType(src, offset, inFlow) {
    method constructor (line 17156) | constructor(orig = {}, {
    method nodeStartsCollection (line 17210) | nodeStartsCollection(node) {
    method parseProps (line 17227) | parseProps(offset) {
  function parse (line 17292) | function parse(src) {
  function addCommentBefore (line 17347) | function addCommentBefore(str, indent, comment) {
  function addComment (line 17352) | function addComment(str, indent, comment) {
  class Node (line 17356) | class Node {}
    method addStringTerminator (line 14348) | static addStringTerminator(src, offset, str) {
    method atDocumentBoundary (line 14355) | static atDocumentBoundary(src, offset, sep) {
    method endOfIdentifier (line 14374) | static endOfIdentifier(src, offset) {
    method endOfIndent (line 14385) | static endOfIndent(src, offset) {
    method endOfLine (line 14393) | static endOfLine(src, offset) {
    method endOfWhiteSpace (line 14401) | static endOfWhiteSpace(src, offset) {
    method startOfLine (line 14409) | static startOfLine(src, offset) {
    method endOfBlockIndent (line 14428) | static endOfBlockIndent(src, indent, lineStart) {
    method atBlank (line 14442) | static atBlank(src, offset, endAsBlank) {
    method nextNodeIsIndented (line 14447) | static nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) {
    method normalizeOffset (line 14454) | static normalizeOffset(src, offset) {
    method foldNewline (line 14461) | static foldNewline(src, offset, indent) {
    method constructor (line 14498) | constructor(type, props, context) {
    method getPropValue (line 14511) | getPropValue(idx, key, skipKey) {
    method anchor (line 14520) | get anchor() {
    method comment (line 14529) | get comment() {
    method commentHasRequiredWhitespace (line 14540) | commentHasRequiredWhitespace(start) {
    method hasComment (line 14552) | get hasComment() {
    method hasProps (line 14566) | get hasProps() {
    method includesTrailingLines (line 14580) | get includesTrailingLines() {
    method jsonLike (line 14584) | get jsonLike() {
    method rangeAsLinePos (line 14589) | get rangeAsLinePos() {
    method rawValue (line 14600) | get rawValue() {
    method tag (line 14609) | get tag() {
    method valueRangeContainsNewline (line 14632) | get valueRangeContainsNewline() {
    method parseComment (line 14649) | parseComment(start) {
    method setOrigRanges (line 14673) | setOrigRanges(cr, offset) {
    method toString (line 14680) | toString() {
  function toJSON (line 17358) | function toJSON(value, arg, ctx) {
  class Scalar (line 17376) | class Scalar extends Node {
    method constructor (line 17377) | constructor(value) {
    method toJSON (line 17382) | toJSON(arg, ctx) {
    method toString (line 17386) | toString() {
  function collectionFromPath (line 17392) | function collectionFromPath(schema, path, value) {
  class Collection (line 17407) | class Collection extends Node {
    method nextContentHasIndent (line 15796) | static nextContentHasIndent(src, offset, indent) {
    method constructor (line 15806) | constructor(firstItem) {
    method includesTrailingLines (line 15825) | get includesTrailingLines() {
    method parse (line 15835) | parse(context, start) {
    method setOrigRanges (line 15974) | setOrigRanges(cr, offset) {
    method toString (line 15982) | toString() {
    method constructor (line 17408) | constructor(schema) {
    method addIn (line 17416) | addIn(path, value) {
    method deleteIn (line 17424) | deleteIn([key, ...rest]) {
    method getIn (line 17430) | getIn([key, ...rest], keepScalar) {
    method hasAllNullValues (line 17435) | hasAllNullValues() {
    method hasIn (line 17443) | hasIn([key, ...rest]) {
    method setIn (line 17449) | setIn([key, ...rest], value) {
    method toJSON (line 17461) | toJSON() {
    method toString (line 17465) | toString(ctx, {
  function asItemIndex (line 17558) | function asItemIndex(key) {
  class YAMLSeq (line 17564) | class YAMLSeq extends Collection {
    method add (line 17565) | add(value) {
    method delete (line 17569) | delete(key) {
    method get (line 17576) | get(key, keepScalar) {
    method has (line 17583) | has(key) {
    method set (line 17588) | set(key, value) {
    method toJSON (line 17594) | toJSON(_, ctx) {
    method toString (line 17604) | toString(ctx, onComment, onChompKeep) {
  class Pair (line 17634) | class Pair extends Node {
    method constructor (line 17635) | constructor(key, value = null) {
    method commentBefore (line 17642) | get commentBefore() {
    method commentBefore (line 17646) | set commentBefore(cb) {
    method addToJSMap (line 17654) | addToJSMap(ctx, map) {
    method toJSON (line 17670) | toJSON(_, ctx) {
    method toString (line 17675) | toString(ctx, onComment, onChompKeep) {
  class Alias (line 17799) | class Alias extends Node {
    method parse (line 16317) | parse(context, start) {
    method stringify (line 17800) | static stringify({
    method constructor (line 17816) | constructor(source) {
    method tag (line 17822) | set tag(t) {
    method toJSON (line 17826) | toJSON(arg, ctx) {
    method toString (line 17855) | toString(ctx) {
  function findPair (line 17863) | function findPair(items, key) {
  class YAMLMap (line 17875) | class YAMLMap extends Collection {
    method add (line 17876) | add(pair, overwrite) {
    method delete (line 17891) | delete(key) {
    method get (line 17898) | get(key, keepScalar) {
    method has (line 17904) | has(key) {
    method set (line 17908) | set(key, value) {
    method toJSON (line 17919) | toJSON(_, ctx, Type) {
    method toString (line 17928) | toString(ctx, onComment, onChompKeep) {
  class Merge (line 17949) | class Merge extends Pair {
    method constructor (line 17950) | constructor(pair) {
    method addToJSMap (line 17976) | addToJSMap(ctx, map) {
    method toString (line 17997) | toString(ctx, onComment) {
  function resolveScalar (line 18034) | function resolveScalar(str, tags, scalarFallback) {
  function foldFlowLines (line 18096) | function foldFlowLines(text, indent, mode, {
  function lineLengthOverLimit (line 18202) | function lineLengthOverLimit(str, limit) {
  function doubleQuotedString (line 18217) | function doubleQuotedString(value, ctx) {
  function singleQuotedString (line 18318) | function singleQuotedString(value, ctx) {
  function blockString (line 18331) | function blockString({
  function plainString (line 18397) | function plainString(item, ctx, onComment, onChompKeep) {
  function stringifyString (line 18456) | function stringifyString(item, ctx, onComment, onChompKeep) {
  function stringifyNumber (line 18514) | function stringifyNumber({
  function checkFlowCollectionEnd (line 18540) | function checkFlowCollectionEnd(errors, cst) {
  function checkFlowCommentSpace (line 18585) | function checkFlowCommentSpace(errors, comment) {
  function getLongKeyError (line 18593) | function getLongKeyError(source, key) {
  function resolveComments (line 18598) | function resolveComments(collection, comments) {
  function resolveString (line 18623) | function resolveString(doc, node) {
  function resolveTagHandle (line 18634) | function resolveTagHandle(doc, node) {
  function resolveTagName (line 18665) | function resolveTagName(doc, node) {
  function resolveByTagName (line 18717) | function resolveByTagName(doc, node, tagName) {
  function getFallbackTagName (line 18737) | function getFallbackTagName({
  function resolveTag (line 18754) | function resolveTag(doc, node, tagName) {
  function resolveNodeProps (line 18793) | function resolveNodeProps(errors, node) {
  function resolveNodeValue (line 18851) | function resolveNodeValue(doc, node) {
  function resolveNode (line 18896) | function resolveNode(doc, node) {
  function resolveMap (line 18944) | function resolveMap(doc, cst) {
  function resolvePairComment (line 19028) | function resolvePairComment(item, pair) {
  function resolveBlockMapItems (line 19049) | function resolveBlockMapItems(doc, cst) {
  function resolveFlowMapItems (line 19173) | function resolveFlowMapItems(doc, cst) {
  function resolveSeq (line 19261) | function resolveSeq(doc, cst) {
  function resolveBlockSeqItems (line 19285) | function resolveBlockSeqItems(doc, cst) {
  function resolveFlowSeqItems (line 19329) | function resolveFlowSeqItems(doc, cst) {
  function parsePairs (line 19551) | function parsePairs(doc, cst) {
  function createPairs (line 19572) | function createPairs(schema, iterable, ctx) {
  class YAMLOMap (line 19608) | class YAMLOMap extends resolveSeq.YAMLSeq {
    method constructor (line 19609) | constructor() {
    method toJSON (line 19625) | toJSON(_, ctx) {
  function parseOMap (line 19650) | function parseOMap(doc, cst) {
  function createOMap (line 19670) | function createOMap(schema, iterable, ctx) {
  class YAMLSet (line 19686) | class YAMLSet extends resolveSeq.YAMLMap {
    method constructor (line 19687) | constructor() {
    method add (line 19692) | add(key) {
    method get (line 19698) | get(key, keepPair) {
    method set (line 19703) | set(key, value) {
    method toJSON (line 19714) | toJSON(_, ctx) {
    method toString (line 19718) | toString(ctx, onComment, onChompKeep) {
  function parseSet (line 19727) | function parseSet(doc, cst) {
  function createSet (line 19733) | function createSet(schema, iterable, ctx) {
  function shouldWarn (line 19833) | function shouldWarn(deprecation) {
  function warn (line 19845) | function warn(warning, type) {
  function warnFileDeprecation (line 19856) | function warnFileDeprecation(filename) {
  function warnOptionDeprecation (line 19863) | function warnOptionDeprecation(name, alternative) {
  function createIssueEntry (line 19967) | function createIssueEntry(issue) {
  function issueContrib (line 19971) | function issueContrib(issue) {
  function groupIssuesByLabels (line 19975) | function groupIssuesByLabels(issues, labels) {
  function __webpack_require__ (line 20139) | function __webpack_require__(moduleId) {

FILE: .github/workflows/actions/release-notes/local.js
  function mustGetArg (line 23) | function mustGetArg(position, name) {
  function mustGetEnvVar (line 32) | function mustGetEnvVar(envVar) {

FILE: .github/workflows/actions/release-notes/release-notes.js
  constant YAML (line 2) | const YAML = require('yaml');
  function createIssueEntry (line 71) | function createIssueEntry(issue) {
  function issueContrib (line 75) | function issueContrib(issue) {
  function groupIssuesByLabels (line 79) | function groupIssuesByLabels(issues, labels) {

FILE: .github/workflows/delivery/homebrew/pack.rb
  class Pack (line 5) | class Pack < Formula
    method install (line 25) | def install

FILE: acceptance/acceptance_test.go
  constant runImage (line 44) | runImage   = "pack-test/run"
  constant buildImage (line 45) | buildImage = "pack-test/build"
  function TestAcceptance (line 56) | func TestAcceptance(t *testing.T) {
  function testWithoutSpecificBuilderRequirement (line 121) | func testWithoutSpecificBuilderRequirement(
  function testAcceptance (line 966) | func testAcceptance(
  function buildModulesDir (line 3805) | func buildModulesDir() string {
  function createComplexBuilder (line 3809) | func createComplexBuilder(t *testing.T,
  function createBuilder (line 3957) | func createBuilder(
  function createBuilderWithExtensions (line 4048) | func createBuilderWithExtensions(
  function generatePackageTomlWithOS (line 4128) | func generatePackageTomlWithOS(
  function createStack (line 4154) | func createStack(t *testing.T, dockerCli *client.Client, runImageMirror ...
  function createStackImage (line 4175) | func createStackImage(dockerCli *client.Client, repoName string, dir str...
  function createFlattenBuilder (line 4188) | func createFlattenBuilder(
  function taskKey (line 4340) | func taskKey(prefix string, args ...string) string {
  type compareFormat (line 4348) | type compareFormat struct

FILE: acceptance/assertions/image.go
  type ImageAssertionManager (line 14) | type ImageAssertionManager struct
    method ExistsLocally (line 30) | func (a ImageAssertionManager) ExistsLocally(name string) {
    method NotExistsLocally (line 36) | func (a ImageAssertionManager) NotExistsLocally(name string) {
    method HasBaseImage (line 42) | func (a ImageAssertionManager) HasBaseImage(image, base string) {
    method HasCreateTime (line 53) | func (a ImageAssertionManager) HasCreateTime(image string, expectedTim...
    method HasLabelContaining (line 62) | func (a ImageAssertionManager) HasLabelContaining(image, label, data s...
    method HasLabelNotContaining (line 71) | func (a ImageAssertionManager) HasLabelNotContaining(image, label, dat...
    method HasLengthLayers (line 80) | func (a ImageAssertionManager) HasLengthLayers(image string, length in...
    method RunsWithOutput (line 87) | func (a ImageAssertionManager) RunsWithOutput(image string, expectedOu...
    method RunsWithLogs (line 97) | func (a ImageAssertionManager) RunsWithLogs(image string, expectedOutp...
    method CanBePulledFromRegistry (line 106) | func (a ImageAssertionManager) CanBePulledFromRegistry(name string) {
    method ExistsInRegistryCatalog (line 112) | func (a ImageAssertionManager) ExistsInRegistryCatalog(name string) {
    method NotExistsInRegistry (line 119) | func (a ImageAssertionManager) NotExistsInRegistry(name string) {
    method DoesNotHaveDuplicateLayers (line 130) | func (a ImageAssertionManager) DoesNotHaveDuplicateLayers(name string) {
  function NewImageAssertionManager (line 21) | func NewImageAssertionManager(t *testing.T, imageManager managers.ImageM...

FILE: acceptance/assertions/lifecycle_output.go
  type LifecycleOutputAssertionManager (line 14) | type LifecycleOutputAssertionManager struct
    method ReportsRestoresCachedLayer (line 28) | func (l LifecycleOutputAssertionManager) ReportsRestoresCachedLayer(la...
    method ReportsExporterReusingUnchangedLayer (line 39) | func (l LifecycleOutputAssertionManager) ReportsExporterReusingUnchang...
    method ReportsCacheReuse (line 46) | func (l LifecycleOutputAssertionManager) ReportsCacheReuse(layer strin...
    method ReportsCacheCreation (line 53) | func (l LifecycleOutputAssertionManager) ReportsCacheCreation(layer st...
    method ReportsSkippingBuildpackLayerAnalysis (line 60) | func (l LifecycleOutputAssertionManager) ReportsSkippingBuildpackLayer...
    method IncludesSeparatePhases (line 67) | func (l LifecycleOutputAssertionManager) IncludesSeparatePhases() {
    method IncludesSeparatePhasesWithBuildExtension (line 73) | func (l LifecycleOutputAssertionManager) IncludesSeparatePhasesWithBui...
    method IncludesSeparatePhasesWithRunExtension (line 82) | func (l LifecycleOutputAssertionManager) IncludesSeparatePhasesWithRun...
    method IncludesTagOrEphemeralLifecycle (line 88) | func (l LifecycleOutputAssertionManager) IncludesTagOrEphemeralLifecyc...
  function NewLifecycleOutputAssertionManager (line 20) | func NewLifecycleOutputAssertionManager(t *testing.T, output string) Lif...

FILE: acceptance/assertions/output.go
  type OutputAssertionManager (line 14) | type OutputAssertionManager struct
    method ReportsSuccessfulImageBuild (line 28) | func (o OutputAssertionManager) ReportsSuccessfulImageBuild(name strin...
    method ReportsSuccessfulIndexLocallyCreated (line 34) | func (o OutputAssertionManager) ReportsSuccessfulIndexLocallyCreated(n...
    method ReportsSuccessfulIndexPushed (line 40) | func (o OutputAssertionManager) ReportsSuccessfulIndexPushed(name stri...
    method ReportsSuccessfulManifestAddedToIndex (line 46) | func (o OutputAssertionManager) ReportsSuccessfulManifestAddedToIndex(...
    method ReportsSuccessfulIndexDeleted (line 52) | func (o OutputAssertionManager) ReportsSuccessfulIndexDeleted() {
    method ReportsSuccessfulIndexAnnotated (line 58) | func (o OutputAssertionManager) ReportsSuccessfulIndexAnnotated(name, ...
    method ReportsSuccessfulRemoveManifestFromIndex (line 64) | func (o OutputAssertionManager) ReportsSuccessfulRemoveManifestFromInd...
    method ReportSuccessfulQuietBuild (line 70) | func (o OutputAssertionManager) ReportSuccessfulQuietBuild(name string) {
    method ReportsSuccessfulRebase (line 77) | func (o OutputAssertionManager) ReportsSuccessfulRebase(name string) {
    method ReportsUsingBuildCacheVolume (line 83) | func (o OutputAssertionManager) ReportsUsingBuildCacheVolume() {
    method ReportsSelectingRunImageMirror (line 90) | func (o OutputAssertionManager) ReportsSelectingRunImageMirror(mirror ...
    method ReportsSelectingRunImageMirrorFromLocalConfig (line 97) | func (o OutputAssertionManager) ReportsSelectingRunImageMirrorFromLoca...
    method ReportsSkippingRestore (line 104) | func (o OutputAssertionManager) ReportsSkippingRestore() {
    method ReportsRunImageStackNotMatchingBuilder (line 111) | func (o OutputAssertionManager) ReportsRunImageStackNotMatchingBuilder...
    method ReportsDeprecatedUseOfStack (line 120) | func (o OutputAssertionManager) ReportsDeprecatedUseOfStack() {
    method WithoutColors (line 126) | func (o OutputAssertionManager) WithoutColors() {
    method ReportsAddingBuildpack (line 133) | func (o OutputAssertionManager) ReportsAddingBuildpack(name, version s...
    method ReportsPullingImage (line 139) | func (o OutputAssertionManager) ReportsPullingImage(image string) {
    method ReportsImageNotExistingOnDaemon (line 145) | func (o OutputAssertionManager) ReportsImageNotExistingOnDaemon(image ...
    method ReportsPackageCreation (line 151) | func (o OutputAssertionManager) ReportsPackageCreation(name string) {
    method ReportsInvalidExtension (line 157) | func (o OutputAssertionManager) ReportsInvalidExtension(extension stri...
    method ReportsPackagePublished (line 163) | func (o OutputAssertionManager) ReportsPackagePublished(name string) {
    method ReportsCommandUnknown (line 169) | func (o OutputAssertionManager) ReportsCommandUnknown(command string) {
    method IncludesUsagePrompt (line 175) | func (o OutputAssertionManager) IncludesUsagePrompt() {
    method ReportsBuilderCreated (line 181) | func (o OutputAssertionManager) ReportsBuilderCreated(name string) {
    method ReportsSettingDefaultBuilder (line 187) | func (o OutputAssertionManager) ReportsSettingDefaultBuilder(name stri...
    method IncludesSuggestedBuildersHeading (line 193) | func (o OutputAssertionManager) IncludesSuggestedBuildersHeading() {
    method IncludesMessageToSetDefaultBuilder (line 199) | func (o OutputAssertionManager) IncludesMessageToSetDefaultBuilder() {
    method IncludesSuggestedStacksHeading (line 205) | func (o OutputAssertionManager) IncludesSuggestedStacksHeading() {
    method IncludesTrustedBuildersHeading (line 211) | func (o OutputAssertionManager) IncludesTrustedBuildersHeading() {
    method IncludesGoogleBuilder (line 219) | func (o OutputAssertionManager) IncludesGoogleBuilder() {
    method IncludesPrefixedGoogleBuilder (line 225) | func (o OutputAssertionManager) IncludesPrefixedGoogleBuilder() {
    method IncludesHerokuBuilders (line 235) | func (o OutputAssertionManager) IncludesHerokuBuilders() {
    method IncludesPrefixedHerokuBuilders (line 241) | func (o OutputAssertionManager) IncludesPrefixedHerokuBuilders() {
    method IncludesPaketoBuilders (line 255) | func (o OutputAssertionManager) IncludesPaketoBuilders() {
    method IncludesPrefixedPaketoBuilders (line 261) | func (o OutputAssertionManager) IncludesPrefixedPaketoBuilders() {
    method IncludesDeprecationWarning (line 269) | func (o OutputAssertionManager) IncludesDeprecationWarning() {
    method ReportsSuccesfulRunImageMirrorsAdd (line 275) | func (o OutputAssertionManager) ReportsSuccesfulRunImageMirrorsAdd(ima...
    method ReportsReadingConfig (line 281) | func (o OutputAssertionManager) ReportsReadingConfig() {
    method ReportsInvalidBuilderToml (line 287) | func (o OutputAssertionManager) ReportsInvalidBuilderToml() {
  function NewOutputAssertionManager (line 20) | func NewOutputAssertionManager(t *testing.T, output string) OutputAssert...
  constant googleBuilder (line 217) | googleBuilder = "gcr.io/buildpacks/builder:google-22"

FILE: acceptance/assertions/test_buildpack_output.go
  type TestBuildpackOutputAssertionManager (line 11) | type TestBuildpackOutputAssertionManager struct
    method ReportsReadingFileContents (line 25) | func (t TestBuildpackOutputAssertionManager) ReportsReadingFileContent...
    method ReportsWritingFileContents (line 31) | func (t TestBuildpackOutputAssertionManager) ReportsWritingFileContent...
    method ReportsFailingToWriteFileContents (line 37) | func (t TestBuildpackOutputAssertionManager) ReportsFailingToWriteFile...
    method ReportsConnectedToInternet (line 43) | func (t TestBuildpackOutputAssertionManager) ReportsConnectedToInterne...
    method ReportsDisconnectedFromInternet (line 49) | func (t TestBuildpackOutputAssertionManager) ReportsDisconnectedFromIn...
    method ReportsBuildStep (line 55) | func (t TestBuildpackOutputAssertionManager) ReportsBuildStep(message ...
  function NewTestBuildpackOutputAssertionManager (line 17) | func NewTestBuildpackOutputAssertionManager(t *testing.T, output string)...

FILE: acceptance/buildpacks/archive_buildpack.go
  constant defaultBasePath (line 18) | defaultBasePath = "./"
  constant defaultUid (line 19) | defaultUid      = 0
  constant defaultGid (line 20) | defaultGid      = 0
  constant defaultMode (line 21) | defaultMode     = 0755
  type archiveBuildModule (line 24) | type archiveBuildModule struct
    method Prepare (line 28) | func (a archiveBuildModule) Prepare(sourceDir, destination string) err...
    method FileName (line 42) | func (a archiveBuildModule) FileName() string {
    method String (line 46) | func (a archiveBuildModule) String() string {
    method FullPathIn (line 50) | func (a archiveBuildModule) FullPathIn(parentFolder string) string {
    method createTgz (line 54) | func (a archiveBuildModule) createTgz(sourceDir string) (string, error) {

FILE: acceptance/buildpacks/folder_buildpack.go
  type folderBuildModule (line 13) | type folderBuildModule struct
    method Prepare (line 17) | func (f folderBuildModule) Prepare(sourceDir, destination string) error {
    method FullPathIn (line 38) | func (f folderBuildModule) FullPathIn(parentFolder string) string {

FILE: acceptance/buildpacks/manager.go
  type BuildModuleManager (line 12) | type BuildModuleManager struct
    method PrepareBuildModules (line 38) | func (b BuildModuleManager) PrepareBuildModules(destination string, mo...
  type BuildModuleManagerModifier (line 18) | type BuildModuleManagerModifier
  function NewBuildModuleManager (line 20) | func NewBuildModuleManager(t *testing.T, assert testhelpers.AssertionMan...
  type TestBuildModule (line 34) | type TestBuildModule interface
  type Modifiable (line 47) | type Modifiable interface
  type PackageModifier (line 51) | type PackageModifier
  function WithRequiredBuildpacks (line 53) | func WithRequiredBuildpacks(buildpacks ...TestBuildModule) PackageModifi...
  function WithPublish (line 59) | func WithPublish() PackageModifier {

FILE: acceptance/buildpacks/package_file_buildpack.go
  type PackageFile (line 17) | type PackageFile struct
    method SetBuildpacks (line 25) | func (p *PackageFile) SetBuildpacks(buildpacks []TestBuildModule) {
    method SetPublish (line 29) | func (p *PackageFile) SetPublish() {}
    method Prepare (line 51) | func (p PackageFile) Prepare(sourceDir, _ string) error {
  function NewPackageFile (line 31) | func NewPackageFile(

FILE: acceptance/buildpacks/package_image_buildpack.go
  type PackageImage (line 18) | type PackageImage struct
    method SetBuildpacks (line 27) | func (p *PackageImage) SetBuildpacks(buildpacks []TestBuildModule) {
    method SetPublish (line 31) | func (p *PackageImage) SetPublish() {
    method Prepare (line 55) | func (p PackageImage) Prepare(sourceDir, _ string) error {
  function NewPackageImage (line 35) | func NewPackageImage(

FILE: acceptance/config/asset_manager.go
  constant defaultCompilePackVersion (line 22) | defaultCompilePackVersion = "0.0.0"
  type AssetManager (line 31) | type AssetManager struct
    method PackPaths (line 112) | func (a AssetManager) PackPaths(kind ComboValue) (packPath string, pac...
    method LifecyclePath (line 129) | func (a AssetManager) LifecyclePath(kind ComboValue) string {
    method LifecycleDescriptor (line 145) | func (a AssetManager) LifecycleDescriptor(kind ComboValue) builder.Lif...
    method LifecycleImage (line 161) | func (a AssetManager) LifecycleImage(kind ComboValue) string {
  function ConvergedAssetManager (line 47) | func ConvergedAssetManager(t *testing.T, assert h.AssertionManager, inpu...
  type assetManagerBuilder (line 177) | type assetManagerBuilder struct
    method ensureCurrentPack (line 184) | func (b assetManagerBuilder) ensureCurrentPack() string {
    method ensurePreviousPack (line 199) | func (b assetManagerBuilder) ensurePreviousPack() string {
    method ensurePreviousPackFixtures (line 230) | func (b assetManagerBuilder) ensurePreviousPackFixtures() string {
    method ensureCurrentLifecycle (line 260) | func (b assetManagerBuilder) ensureCurrentLifecycle() (string, string,...
    method ensurePreviousLifecycle (line 291) | func (b assetManagerBuilder) ensurePreviousLifecycle() (string, string...
    method downloadLifecycle (line 322) | func (b assetManagerBuilder) downloadLifecycle(version string) string {
    method downloadLifecycleRelative (line 335) | func (b assetManagerBuilder) downloadLifecycleRelative(relativeVersion...
    method buildPack (line 344) | func (b assetManagerBuilder) buildPack(compileVersion string) string {
    method defaultLifecycleDescriptor (line 371) | func (b assetManagerBuilder) defaultLifecycleDescriptor() builder.Life...

FILE: acceptance/config/github_asset_fetcher.go
  constant assetCacheDir (line 33) | assetCacheDir         = "test-assets-cache"
  constant assetCacheManifest (line 34) | assetCacheManifest    = "github.json"
  constant cacheManifestLifetime (line 35) | cacheManifestLifetime = 1 * time.Hour
  type GithubAssetFetcher (line 38) | type GithubAssetFetcher struct
    method FetchReleaseAsset (line 89) | func (f *GithubAssetFetcher) FetchReleaseAsset(owner, repo, version st...
    method FetchReleaseSource (line 166) | func (f *GithubAssetFetcher) FetchReleaseSource(owner, repo, version s...
    method FetchReleaseVersion (line 200) | func (f *GithubAssetFetcher) FetchReleaseVersion(owner, repo string, n...
    method cachedAsset (line 269) | func (f *GithubAssetFetcher) cachedAsset(owner, repo, version string, ...
    method cachedSource (line 288) | func (f *GithubAssetFetcher) cachedSource(owner, repo, version string)...
    method cachedVersion (line 303) | func (f *GithubAssetFetcher) cachedVersion(owner, repo string, n int) ...
    method loadCacheManifest (line 318) | func (f *GithubAssetFetcher) loadCacheManifest() (assetCache, error) {
    method writeCacheManifest (line 345) | func (f *GithubAssetFetcher) writeCacheManifest(owner, repo string, op...
    method downloadAndSave (line 375) | func (f *GithubAssetFetcher) downloadAndSave(assetURI, destPath string...
    method downloadAndExtractTgz (line 404) | func (f *GithubAssetFetcher) downloadAndExtractTgz(assetURI, destDir s...
    method downloadAndExtractZip (line 427) | func (f *GithubAssetFetcher) downloadAndExtractZip(assetURI, destPath ...
  type assetCache (line 45) | type assetCache
  type cachedRepo (line 46) | type cachedRepo struct
  type cachedAssets (line 51) | type cachedAssets
  type cachedSources (line 52) | type cachedSources
  type cachedVersions (line 53) | type cachedVersions
  function NewGithubAssetFetcher (line 55) | func NewGithubAssetFetcher(t *testing.T, githubToken string) (*GithubAss...
  function extractType (line 156) | func extractType(extract bool, assetName string) string {
  function stripExtension (line 441) | func stripExtension(assetFilename string) string {
  function extractTgz (line 445) | func extractTgz(reader io.Reader, destDir string) error {
  function extractZip (line 482) | func extractZip(zipPath string) error {
  type testWriter (line 521) | type testWriter struct
    method Write (line 525) | func (w *testWriter) Write(p []byte) (n int, err error) {

FILE: acceptance/config/input_configuration_manager.go
  constant envAcceptanceSuiteConfig (line 16) | envAcceptanceSuiteConfig    = "ACCEPTANCE_SUITE_CONFIG"
  constant envCompilePackWithVersion (line 17) | envCompilePackWithVersion   = "COMPILE_PACK_WITH_VERSION"
  constant envGitHubToken (line 18) | envGitHubToken              = "GITHUB_TOKEN"
  constant envLifecycleImage (line 19) | envLifecycleImage           = "LIFECYCLE_IMAGE"
  constant envLifecyclePath (line 20) | envLifecyclePath            = "LIFECYCLE_PATH"
  constant envPackPath (line 21) | envPackPath                 = "PACK_PATH"
  constant envPreviousLifecycleImage (line 22) | envPreviousLifecycleImage   = "PREVIOUS_LIFECYCLE_IMAGE"
  constant envPreviousLifecyclePath (line 23) | envPreviousLifecyclePath    = "PREVIOUS_LIFECYCLE_PATH"
  constant envPreviousPackFixturesPath (line 24) | envPreviousPackFixturesPath = "PREVIOUS_PACK_FIXTURES_PATH"
  constant envPreviousPackPath (line 25) | envPreviousPackPath         = "PREVIOUS_PACK_PATH"
  type InputConfigurationManager (line 28) | type InputConfigurationManager struct
    method Combinations (line 82) | func (i InputConfigurationManager) Combinations() ComboSet {
  function NewInputConfigurationManager (line 41) | func NewInputConfigurationManager() (InputConfigurationManager, error) {
  function resolveAbsolutePaths (line 86) | func resolveAbsolutePaths(paths ...*string) error {

FILE: acceptance/config/lifecycle_asset.go
  type LifecycleAsset (line 15) | type LifecycleAsset struct
    method Version (line 29) | func (l *LifecycleAsset) Version() string {
    method SemVer (line 33) | func (l *LifecycleAsset) SemVer() *builder.Version {
    method Identifier (line 37) | func (l *LifecycleAsset) Identifier() string {
    method HasLocation (line 45) | func (l *LifecycleAsset) HasLocation() bool {
    method EscapedPath (line 49) | func (l *LifecycleAsset) EscapedPath() string {
    method Image (line 53) | func (l *LifecycleAsset) Image() string {
    method EarliestBuildpackAPIVersion (line 86) | func (l *LifecycleAsset) EarliestBuildpackAPIVersion() string {
    method EarliestPlatformAPIVersion (line 90) | func (l *LifecycleAsset) EarliestPlatformAPIVersion() string {
    method LatestPlatformAPIVersion (line 94) | func (l *LifecycleAsset) LatestPlatformAPIVersion() string {
    method OutputForAPIs (line 98) | func (l *LifecycleAsset) OutputForAPIs() (deprecatedBuildpackAPIs, sup...
    method TOMLOutputForAPIs (line 113) | func (l *LifecycleAsset) TOMLOutputForAPIs() (deprecatedBuildpacksAPIs,
    method YAMLOutputForAPIs (line 137) | func (l *LifecycleAsset) YAMLOutputForAPIs(baseIndentationWidth int) (...
    method JSONOutputForAPIs (line 164) | func (l *LifecycleAsset) JSONOutputForAPIs(baseIndentationWidth int) (
    method SupportsFeature (line 231) | func (l *LifecycleAsset) SupportsFeature(f LifecycleFeature) bool {
    method atLeast074 (line 235) | func (l *LifecycleAsset) atLeast074() bool {
  method NewLifecycleAsset (line 21) | func (a AssetManager) NewLifecycleAsset(kind ComboValue) LifecycleAsset {
  function earliestVersion (line 57) | func earliestVersion(versions []*api.Version) *api.Version {
  function latestVersion (line 72) | func latestVersion(versions []*api.Version) *api.Version {
  type LifecycleFeature (line 199) | type LifecycleFeature
  constant CreationTime (line 202) | CreationTime = iota
  constant BuildImageExtensions (line 203) | BuildImageExtensions
  constant RunImageExtensions (line 204) | RunImageExtensions
  type LifecycleAssetSupported (line 207) | type LifecycleAssetSupported
  function supportsPlatformAPI (line 209) | func supportsPlatformAPI(version string) LifecycleAssetSupported {

FILE: acceptance/config/pack_assets.go
  type PackAsset (line 5) | type PackAsset struct
    method Path (line 19) | func (p PackAsset) Path() string {
    method FixturePaths (line 23) | func (p PackAsset) FixturePaths() []string {
  method NewPackAsset (line 10) | func (a AssetManager) NewPackAsset(kind ComboValue) PackAsset {

FILE: acceptance/config/run_combination.go
  type ComboValue (line 14) | type ComboValue
    method String (line 22) | func (v ComboValue) String() string {
  constant Current (line 17) | Current ComboValue = iota
  constant Previous (line 18) | Previous
  constant DefaultKind (line 19) | DefaultKind
  type RunCombo (line 34) | type RunCombo struct
    method UnmarshalJSON (line 44) | func (c *RunCombo) UnmarshalJSON(b []byte) error {
    method String (line 109) | func (c *RunCombo) String() string {
    method Describe (line 113) | func (c *RunCombo) Describe(assets AssetManager) string {
  function validatedPackKind (line 85) | func validatedPackKind(k string) (ComboValue, error) {
  function validateLifecycleKind (line 96) | func validateLifecycleKind(k string) (ComboValue, error) {
  type ComboSet (line 145) | type ComboSet
    method requiresCurrentPack (line 147) | func (combos ComboSet) requiresCurrentPack() bool {
    method requiresPreviousPack (line 151) | func (combos ComboSet) requiresPreviousPack() bool {
    method requiresPackKind (line 155) | func (combos ComboSet) requiresPackKind(k ComboValue) bool {
    method IncludesCurrentSubjectPack (line 165) | func (combos ComboSet) IncludesCurrentSubjectPack() bool {
    method requiresCurrentLifecycle (line 175) | func (combos ComboSet) requiresCurrentLifecycle() bool {
    method requiresPreviousLifecycle (line 179) | func (combos ComboSet) requiresPreviousLifecycle() bool {
    method requiresDefaultLifecycle (line 183) | func (combos ComboSet) requiresDefaultLifecycle() bool {
    method requiresLifecycleKind (line 187) | func (combos ComboSet) requiresLifecycleKind(k ComboValue) bool {

FILE: acceptance/invoke/pack.go
  type PackInvoker (line 22) | type PackInvoker struct
    method Cleanup (line 66) | func (i *PackInvoker) Cleanup() {
    method cmd (line 76) | func (i *PackInvoker) cmd(name string, args ...string) *exec.Cmd {
    method baseCmd (line 95) | func (i *PackInvoker) baseCmd(parts ...string) *exec.Cmd {
    method Run (line 99) | func (i *PackInvoker) Run(name string, args ...string) (string, error) {
    method SetVerbose (line 107) | func (i *PackInvoker) SetVerbose(verbose bool) {
    method RunSuccessfully (line 111) | func (i *PackInvoker) RunSuccessfully(name string, args ...string) str...
    method JustRunSuccessfully (line 120) | func (i *PackInvoker) JustRunSuccessfully(name string, args ...string) {
    method StartWithWriter (line 126) | func (i *PackInvoker) StartWithWriter(combinedOutput *bytes.Buffer, na...
    method Home (line 142) | func (i *PackInvoker) Home() string {
    method Version (line 173) | func (i *PackInvoker) Version() string {
    method SanitizedVersion (line 178) | func (i *PackInvoker) SanitizedVersion() string {
    method EnableExperimental (line 185) | func (i *PackInvoker) EnableExperimental() {
    method Supports (line 199) | func (i *PackInvoker) Supports(command string) bool {
    method SupportsFeature (line 294) | func (i *PackInvoker) SupportsFeature(f Feature) bool {
    method semanticVersion (line 298) | func (i *PackInvoker) semanticVersion() *semver.Version {
    method laterThan (line 307) | func (i *PackInvoker) laterThan(version string) bool {
    method atLeast (line 314) | func (i *PackInvoker) atLeast(version string) bool {
    method ConfigFileContents (line 320) | func (i *PackInvoker) ConfigFileContents() string {
    method FixtureManager (line 329) | func (i *PackInvoker) FixtureManager() PackFixtureManager {
  type packPathsProvider (line 32) | type packPathsProvider interface
  function NewPackInvoker (line 37) | func NewPackInvoker(
  type InterruptCmd (line 146) | type InterruptCmd struct
    method TerminateAtStep (line 154) | func (c *InterruptCmd) TerminateAtStep(pattern string) {
    method Wait (line 169) | func (c *InterruptCmd) Wait() error {
  type Feature (line 226) | type Feature
  constant CreationTime (line 229) | CreationTime = iota
  constant Cache (line 230) | Cache
  constant BuildImageExtensions (line 231) | BuildImageExtensions
  constant RunImageExtensions (line 232) | RunImageExtensions
  constant StackValidation (line 233) | StackValidation
  constant ForceRebase (line 234) | ForceRebase
  constant BuildpackFlatten (line 235) | BuildpackFlatten
  constant MetaBuildpackFolder (line 236) | MetaBuildpackFolder
  constant PlatformRetries (line 237) | PlatformRetries
  constant FlattenBuilderCreationV2 (line 238) | FlattenBuilderCreationV2
  constant FixesRunImageMetadata (line 239) | FixesRunImageMetadata
  constant ManifestCommands (line 240) | ManifestCommands
  constant PlatformOption (line 241) | PlatformOption
  constant MultiPlatformBuildersAndBuildPackages (line 242) | MultiPlatformBuildersAndBuildPackages
  constant StackWarning (line 243) | StackWarning

FILE: acceptance/invoke/pack_fixtures.go
  type PackFixtureManager (line 18) | type PackFixtureManager struct
    method FixtureLocation (line 24) | func (m PackFixtureManager) FixtureLocation(name string) string {
    method VersionedFixtureOrFallbackLocation (line 40) | func (m PackFixtureManager) VersionedFixtureOrFallbackLocation(pattern...
    method TemplateFixture (line 56) | func (m PackFixtureManager) TemplateFixture(templateName string, templ...
    method TemplateVersionedFixture (line 65) | func (m PackFixtureManager) TemplateVersionedFixture(
    method TemplateFixtureToFile (line 76) | func (m PackFixtureManager) TemplateFixtureToFile(name string, destina...
    method fillTemplate (line 81) | func (m PackFixtureManager) fillTemplate(templateContents []byte, data...

FILE: acceptance/managers/image_manager.go
  type ImageManager (line 22) | type ImageManager struct
    method CleanupImages (line 36) | func (im ImageManager) CleanupImages(imageNames ...string) {
    method InspectLocal (line 44) | func (im ImageManager) InspectLocal(imageName string) (image.InspectRe...
    method GetImageID (line 50) | func (im ImageManager) GetImageID(image string) string {
    method HostOS (line 57) | func (im ImageManager) HostOS() string {
    method TagImage (line 64) | func (im ImageManager) TagImage(imageName, ref string) {
    method PullImage (line 73) | func (im ImageManager) PullImage(image, registryAuth string) {
    method ExposePortOnImage (line 79) | func (im ImageManager) ExposePortOnImage(image, containerName string) ...
    method CreateContainer (line 110) | func (im ImageManager) CreateContainer(name string) TestContainer {
  function NewImageManager (line 28) | func NewImageManager(t *testing.T, dockerCli *client.Client) ImageManager {
  type TestContainer (line 130) | type TestContainer struct
    method RunWithOutput (line 138) | func (t TestContainer) RunWithOutput() string {
    method Cleanup (line 146) | func (t TestContainer) Cleanup() {
    method WaitForResponse (line 152) | func (t TestContainer) WaitForResponse(duration time.Duration) string {
    method hostPort (line 174) | func (t TestContainer) hostPort() string {

FILE: acceptance/os/variables.go
  constant PackBinaryName (line 7) | PackBinaryName = "pack"

FILE: acceptance/os/variables_windows.go
  constant PackBinaryName (line 10) | PackBinaryName = "pack.exe"

FILE: acceptance/suite_manager.go
  type SuiteManager (line 5) | type SuiteManager struct
    method CleanUp (line 11) | func (s *SuiteManager) CleanUp() error {
    method RegisterCleanUp (line 22) | func (s *SuiteManager) RegisterCleanUp(key string, cleanUp func() erro...
    method RunTaskOnceString (line 30) | func (s *SuiteManager) RunTaskOnceString(key string, run func() (strin...
    method runTaskOnce (line 41) | func (s *SuiteManager) runTaskOnce(key string, run func() (interface{}...

FILE: acceptance/testdata/mock_stack/windows/run/server.go
  function main (line 16) | func main() {

FILE: benchmarks/build_test.go
  function BenchmarkBuild (line 33) | func BenchmarkBuild(b *testing.B) {
  function createCmd (line 92) | func createCmd(b *testing.B, docker *dockerCli.Client) *cobra.Command {
  function setEnv (line 102) | func setEnv() {

FILE: builder/buildpack_identifier.go
  type BpIdentifier (line 3) | type BpIdentifier interface

FILE: builder/config_reader.go
  type Config (line 18) | type Config struct
    method mergeStackWithImages (line 146) | func (c *Config) mergeStackWithImages() {
  type ModuleCollection (line 33) | type ModuleCollection
  type ModuleConfig (line 36) | type ModuleConfig struct
    method DisplayString (line 41) | func (c *ModuleConfig) DisplayString() string {
  type StackConfig (line 50) | type StackConfig struct
  type LifecycleConfig (line 58) | type LifecycleConfig struct
  type RunConfig (line 64) | type RunConfig struct
  type RunImageConfig (line 69) | type RunImageConfig struct
  type BuildConfig (line 75) | type BuildConfig struct
  type Suffix (line 80) | type Suffix
  constant NONE (line 83) | NONE     Suffix = ""
  constant DEFAULT (line 84) | DEFAULT  Suffix = "default"
  constant OVERRIDE (line 85) | OVERRIDE Suffix = "override"
  constant APPEND (line 86) | APPEND   Suffix = "append"
  constant PREPEND (line 87) | PREPEND  Suffix = "prepend"
  type BuildConfigEnv (line 90) | type BuildConfigEnv struct
  function ReadConfig (line 100) | func ReadConfig(path string) (config Config, warnings []string, err erro...
  function ValidateConfig (line 122) | func ValidateConfig(c Config) error {
  function parseConfig (line 168) | func parseConfig(file *os.File) (Config, error) {
  function ParseBuildConfigEnv (line 188) | func ParseBuildConfigEnv(env []BuildConfigEnv, path string) (envMap map[...
  function getBuildConfigEnvFileName (line 230) | func getBuildConfigEnvFileName(env BuildConfigEnv) (suffixName, delimNam...
  function getActionType (line 246) | func getActionType(suffix Suffix) (suffixString string, err error) {
  function getFilePrefixSuffix (line 264) | func getFilePrefixSuffix(filename string) (prefix, suffix string, err er...

FILE: builder/config_reader_test.go
  function TestConfig (line 16) | func TestConfig(t *testing.T) {
  function testConfig (line 22) | func testConfig(t *testing.T, when spec.G, it spec.S) {

FILE: builder/detection_order.go
  type DetectionOrderEntry (line 7) | type DetectionOrderEntry struct
  type DetectionOrder (line 13) | type DetectionOrder
  constant OrderDetectionMaxDepth (line 16) | OrderDetectionMaxDepth = -1
  constant OrderDetectionNone (line 17) | OrderDetectionNone     = 0

FILE: buildpackage/config_reader.go
  constant defaultOS (line 15) | defaultOS = "linux"
  type Config (line 18) | type Config struct
  function DefaultConfig (line 29) | func DefaultConfig() Config {
  function DefaultExtensionConfig (line 40) | func DefaultExtensionConfig() Config {
  function NewConfigReader (line 52) | func NewConfigReader() *ConfigReader {
  type ConfigReader (line 58) | type ConfigReader struct
    method Read (line 62) | func (r *ConfigReader) Read(path string) (Config, error) {
    method ReadBuildpackDescriptor (line 124) | func (r *ConfigReader) ReadBuildpackDescriptor(path string) (dist.Buil...
  function validateURI (line 135) | func validateURI(uri, relativeBaseDir string) error {

FILE: buildpackage/config_reader_test.go
  function TestBuildpackageConfigReader (line 17) | func TestBuildpackageConfigReader(t *testing.T) {
  function testBuildpackageConfigReader (line 23) | func testBuildpackageConfigReader(t *testing.T, when spec.G, it spec.S) {
  constant validPackageToml (line 260) | validPackageToml = `
  constant validPackageWithoutPlatformToml (line 271) | validPackageWithoutPlatformToml = `
  constant brokenPackageToml (line 279) | brokenPackageToml = `
  constant invalidBPURIPackageToml (line 287) | invalidBPURIPackageToml = `
  constant invalidDepURIPackageToml (line 292) | invalidDepURIPackageToml = `
  constant invalidDepTablePackageToml (line 300) | invalidDepTablePackageToml = `
  constant invalidPlatformOSPackageToml (line 308) | invalidPlatformOSPackageToml = `
  constant unknownBPKeyPackageToml (line 316) | unknownBPKeyPackageToml = `
  constant multipleUnknownKeysPackageToml (line 321) | multipleUnknownKeysPackageToml = `
  constant conflictingDependencyKeysPackageToml (line 329) | conflictingDependencyKeysPackageToml = `
  constant missingBuildpackPackageToml (line 338) | missingBuildpackPackageToml = `
  constant validCompositeBuildPackTomlWithExecEnv (line 343) | validCompositeBuildPackTomlWithExecEnv = `

FILE: cmd/cmd.go
  type ConfigurableLogger (line 19) | type ConfigurableLogger interface
  function NewPackCommand (line 29) | func NewPackCommand(logger ConfigurableLogger) (*cobra.Command, error) {
  function initConfig (line 127) | func initConfig() (config.Config, string, error) {
  function initClient (line 140) | func initClient(logger logging.Logger, cfg config.Config) (*client.Clien...

FILE: cmd/docker_init.go
  function tryInitSSHDockerClient (line 22) | func tryInitSSHDockerClient() (*dockerClient.Client, error) {
  function readSecret (line 65) | func readSecret(prompt string) (pw []byte, err error) {
  function newReadSecretCbk (line 99) | func newReadSecretCbk(prompt string) sshdialer.SecretCallback {
  function newHostKeyCbk (line 118) | func newHostKeyCbk() sshdialer.HostKeyCallback {

FILE: internal/build/container_ops.go
  type ContainerOperation (line 27) | type ContainerOperation
  function CopyOut (line 30) | func CopyOut(handler func(closer io.ReadCloser) error, srcs ...string) C...
  function CopyOutMaybe (line 52) | func CopyOutMaybe(handler func(closer io.ReadCloser) error, srcs ...stri...
  function CopyOutTo (line 74) | func CopyOutTo(src, dest string) ContainerOperation {
  function CopyOutToMaybe (line 86) | func CopyOutToMaybe(src, dest string) ContainerOperation {
  function CopyDir (line 100) | func CopyDir(src, dst string, uid, gid int, os string, includeRoot bool,...
  function copyDir (line 120) | func copyDir(ctx context.Context, ctrClient DockerClient, containerID st...
  function copyDirWindows (line 150) | func copyDirWindows(ctx context.Context, ctrClient DockerClient, contain...
  function findMount (line 211) | func findMount(info dcontainer.InspectResponse, dst string) (dcontainer....
  function writeToml (line 220) | func writeToml(ctrClient DockerClient, ctx context.Context, data interfa...
  function WriteProjectMetadata (line 251) | func WriteProjectMetadata(dstPath string, metadata files.ProjectMetadata...
  function WriteStackToml (line 258) | func WriteStackToml(dstPath string, stack builder.StackMetadata, os stri...
  function WriteRunToml (line 265) | func WriteRunToml(dstPath string, runImages []builder.RunImageMetadata, ...
  function createReader (line 274) | func createReader(src, dst string, uid, gid int, includeRoot bool, fileF...
  function EnsureVolumeAccess (line 296) | func EnsureVolumeAccess(uid, gid int, os string, volumeNames ...string) ...

FILE: internal/build/container_ops_test.go
  function TestContainerOperations (line 32) | func TestContainerOperations(t *testing.T) {
  function testContainerOps (line 45) | func testContainerOps(t *testing.T, when spec.G, it spec.S) {
  function createContainer (line 689) | func createContainer(ctx context.Context, imageName, containerDir, osTyp...
  function cleanupContainer (line 707) | func cleanupContainer(ctx context.Context, ctrID string) {

FILE: internal/build/docker.go
  type DockerClient (line 9) | type DockerClient interface

FILE: internal/build/fakes/cache.go
  type FakeCache (line 9) | type FakeCache struct
    method Type (line 23) | func (f *FakeCache) Type() cache.Type {
    method Clear (line 28) | func (f *FakeCache) Clear(ctx context.Context) error {
    method Name (line 32) | func (f *FakeCache) Name() string {
  function NewFakeCache (line 19) | func NewFakeCache() *FakeCache {

FILE: internal/build/fakes/fake_builder.go
  type FakeBuilder (line 14) | type FakeBuilder struct
    method Name (line 88) | func (b *FakeBuilder) Name() string {
    method Image (line 92) | func (b *FakeBuilder) Image() imgutil.Image {
    method UID (line 96) | func (b *FakeBuilder) UID() int {
    method GID (line 100) | func (b *FakeBuilder) GID() int {
    method LifecycleDescriptor (line 104) | func (b *FakeBuilder) LifecycleDescriptor() builder.LifecycleDescriptor {
    method OrderExtensions (line 108) | func (b *FakeBuilder) OrderExtensions() dist.Order {
    method Stack (line 112) | func (b *FakeBuilder) Stack() builder.StackMetadata {
    method RunImages (line 116) | func (b *FakeBuilder) RunImages() []builder.RunImageMetadata {
    method System (line 120) | func (b *FakeBuilder) System() dist.System { return dist.System{} }
  function NewFakeBuilder (line 24) | func NewFakeBuilder(ops ...func(*FakeBuilder)) (*FakeBuilder, error) {
  function WithDeprecatedPlatformAPIs (line 52) | func WithDeprecatedPlatformAPIs(apis []*api.Version) func(*FakeBuilder) {
  function WithSupportedPlatformAPIs (line 58) | func WithSupportedPlatformAPIs(apis []*api.Version) func(*FakeBuilder) {
  function WithImage (line 64) | func WithImage(image imgutil.Image) func(*FakeBuilder) {
  function WithOrderExtensions (line 70) | func WithOrderExtensions(orderExt dist.Order) func(*FakeBuilder) {
  function WithUID (line 76) | func WithUID(uid int) func(*FakeBuilder) {
  function WithGID (line 82) | func WithGID(gid int) func(*FakeBuilder) {
  function WithBuilder (line 122) | func WithBuilder(builder *FakeBuilder) func(*build.LifecycleOptions) {
  function WithEnableUsernsHost (line 129) | func WithEnableUsernsHost() func(*build.LifecycleOptions) {
  function WithExecutionEnvironment (line 136) | func WithExecutionEnvironment(execEnv string) func(*build.LifecycleOptio...

FILE: internal/build/fakes/fake_phase.go
  type FakePhase (line 5) | type FakePhase struct
    method Cleanup (line 10) | func (p *FakePhase) Cleanup() error {
    method Run (line 16) | func (p *FakePhase) Run(ctx context.Context) error {

FILE: internal/build/fakes/fake_phase_factory.go
  type FakePhaseFactory (line 5) | type FakePhaseFactory struct
    method New (line 29) | func (f *FakePhaseFactory) New(phaseConfigProvider *build.PhaseConfigP...
  function NewFakePhaseFactory (line 11) | func NewFakePhaseFactory(ops ...func(*FakePhaseFactory)) *FakePhaseFacto...
  function WhichReturnsForNew (line 23) | func WhichReturnsForNew(phase build.RunnerCleaner) func(*FakePhaseFactor...

FILE: internal/build/fakes/fake_termui.go
  type FakeTermui (line 10) | type FakeTermui struct
    method Run (line 15) | func (f *FakeTermui) Run(funk func()) error {
    method Handler (line 19) | func (f *FakeTermui) Handler() container.Handler {
    method ReadLayers (line 23) | func (f *FakeTermui) ReadLayers(reader io.ReadCloser) error {
    method Debug (line 35) | func (f *FakeTermui) Debug(msg string) {
    method Debugf (line 39) | func (f *FakeTermui) Debugf(fmt string, v ...interface{}) {
    method Info (line 43) | func (f *FakeTermui) Info(msg string) {
    method Infof (line 47) | func (f *FakeTermui) Infof(fmt string, v ...interface{}) {
    method Warn (line 51) | func (f *FakeTermui) Warn(msg string) {
    method Warnf (line 55) | func (f *FakeTermui) Warnf(fmt string, v ...interface{}) {
    method Error (line 59) | func (f *FakeTermui) Error(msg string) {
    method Errorf (line 63) | func (f *FakeTermui) Errorf(fmt string, v ...interface{}) {
    method Writer (line 67) | func (f *FakeTermui) Writer() io.Writer {
    method IsVerbose (line 72) | func (f *FakeTermui) IsVerbose() bool {
  function WithTermui (line 28) | func WithTermui(screen build.Termui) func(*build.LifecycleOptions) {

FILE: internal/build/lifecycle_execution.go
  constant defaultProcessType (line 29) | defaultProcessType = "web"
  constant overrideGID (line 30) | overrideGID        = 0
  constant overrideUID (line 31) | overrideUID        = 0
  constant sourceDateEpochEnv (line 32) | sourceDateEpochEnv = "SOURCE_DATE_EPOCH"
  type LifecycleExecution (line 35) | type LifecycleExecution struct
    method Builder (line 136) | func (l *LifecycleExecution) Builder() Builder {
    method AppPath (line 140) | func (l *LifecycleExecution) AppPath() string {
    method AppDir (line 144) | func (l LifecycleExecution) AppDir() string {
    method AppVolume (line 148) | func (l *LifecycleExecution) AppVolume() string {
    method LayersVolume (line 152) | func (l *LifecycleExecution) LayersVolume() string {
    method PlatformAPI (line 156) | func (l *LifecycleExecution) PlatformAPI() *api.Version {
    method ImageName (line 160) | func (l *LifecycleExecution) ImageName() name.Reference {
    method PrevImageName (line 164) | func (l *LifecycleExecution) PrevImageName() string {
    method Run (line 170) | func (l *LifecycleExecution) Run(ctx context.Context, phaseFactoryCrea...
    method Cleanup (line 352) | func (l *LifecycleExecution) Cleanup() error {
    method Create (line 366) | func (l *LifecycleExecution) Create(ctx context.Context, buildCache, l...
    method Detect (line 482) | func (l *LifecycleExecution) Detect(ctx context.Context, phaseFactory ...
    method extensionsAreExperimental (line 516) | func (l *LifecycleExecution) extensionsAreExperimental() bool {
    method Restore (line 520) | func (l *LifecycleExecution) Restore(ctx context.Context, buildCache C...
    method Analyze (line 623) | func (l *LifecycleExecution) Analyze(ctx context.Context, buildCache, ...
    method Build (line 773) | func (l *LifecycleExecution) Build(ctx context.Context, phaseFactory P...
    method ExtendBuild (line 790) | func (l *LifecycleExecution) ExtendBuild(ctx context.Context, kanikoCa...
    method ExtendRun (line 811) | func (l *LifecycleExecution) ExtendRun(ctx context.Context, kanikoCach...
    method Export (line 843) | func (l *LifecycleExecution) Export(ctx context.Context, buildCache, l...
    method withLogLevel (line 962) | func (l *LifecycleExecution) withLogLevel(args ...string) []string {
    method hasExtensions (line 969) | func (l *LifecycleExecution) hasExtensions() bool {
    method hasExtensionsForBuild (line 973) | func (l *LifecycleExecution) hasExtensionsForBuild() bool {
    method hasExtensionsForRun (line 998) | func (l *LifecycleExecution) hasExtensionsForRun() bool {
    method runImageIdentifierAfterExtensions (line 1015) | func (l *LifecycleExecution) runImageIdentifierAfterExtensions() string {
    method runImageNameAfterExtensions (line 1032) | func (l *LifecycleExecution) runImageNameAfterExtensions() string {
    method runImageChanged (line 1049) | func (l *LifecycleExecution) runImageChanged() bool {
    method appendLayoutOperations (line 1054) | func (l *LifecycleExecution) appendLayoutOperations(opts []PhaseConfig...
  function NewLifecycleExecution (line 47) | func NewLifecycleExecution(logger logging.Logger, docker DockerClient, t...
  function apiIntersection (line 81) | func apiIntersection(apisA, apisB []*api.Version) []*api.Version {
  function FindLatestSupported (line 99) | func FindLatestSupported(builderapis []*api.Version, lifecycleapis []str...
  function randString (line 128) | func randString(n int) string {
  constant maxNetworkRemoveRetries (line 168) | maxNetworkRemoveRetries = 2
  function determineDefaultProcessType (line 833) | func determineDefaultProcessType(platformAPI *api.Version, providedValue...
  function withLayoutOperation (line 1059) | func withLayoutOperation() PhaseConfigProviderOperation {
  function prependArg (line 1064) | func prependArg(arg string, args []string) []string {
  function addTags (line 1068) | func addTags(flags, additionalTags []string) []string {

FILE: internal/build/lifecycle_execution_test.go
  function TestLifecycleExecution (line 38) | func TestLifecycleExecution(t *testing.T) {
  function testLifecycleExecution (line 45) | func testLifecycleExecution(t *testing.T, when spec.G, it spec.S) {
  function newFakeVolumeCache (line 2670) | func newFakeVolumeCache() *fakes.FakeCache {
  function newFakeImageCache (line 2677) | func newFakeImageCache() *fakes.FakeCache {
  function newFakeFetchRunImageFunc (line 2684) | func newFakeFetchRunImageFunc(f *fakeImageFetcher) func(name string) (st...
  type fakeImageFetcher (line 2690) | type fakeImageFetcher struct
    method fetchRunImage (line 2695) | func (f *fakeImageFetcher) fetchRunImage(name string) error {
  type fakeDockerClient (line 2701) | type fakeDockerClient struct
    method NetworkList (line 2706) | func (f *fakeDockerClient) NetworkList(ctx context.Context, opts clien...
    method NetworkCreate (line 2711) | func (f *fakeDockerClient) NetworkCreate(ctx context.Context, name str...
    method NetworkRemove (line 2716) | func (f *fakeDockerClient) NetworkRemove(ctx context.Context, network ...
  function newTestLifecycleExecErr (line 2721) | func newTestLifecycleExecErr(t *testing.T, logVerbose bool, tmpDir strin...
  function newTestLifecycleExec (line 2750) | func newTestLifecycleExec(t *testing.T, logVerbose bool, tmpDir string, ...

FILE: internal/build/lifecycle_executor.go
  type Builder (line 41) | type Builder interface
  type LifecycleExecutor (line 53) | type LifecycleExecutor struct
    method Execute (line 118) | func (l *LifecycleExecutor) Execute(ctx context.Context, opts Lifecycl...
  type Cache (line 58) | type Cache interface
  type Termui (line 64) | type Termui interface
  type LifecycleOptions (line 72) | type LifecycleOptions struct
  function NewLifecycleExecutor (line 114) | func NewLifecycleExecutor(logger logging.Logger, docker DockerClient) *L...

FILE: internal/build/mount_paths.go
  type mountPaths (line 5) | type mountPaths struct
    method join (line 29) | func (m mountPaths) join(parts ...string) string {
    method layersDir (line 33) | func (m mountPaths) layersDir() string {
    method stackPath (line 37) | func (m mountPaths) stackPath() string {
    method runPath (line 41) | func (m mountPaths) runPath() string {
    method projectPath (line 45) | func (m mountPaths) projectPath() string {
    method reportPath (line 49) | func (m mountPaths) reportPath() string {
    method appDirName (line 53) | func (m mountPaths) appDirName() string {
    method appDir (line 57) | func (m mountPaths) appDir() string {
    method cacheDir (line 61) | func (m mountPaths) cacheDir() string {
    method kanikoCacheDir (line 65) | func (m mountPaths) kanikoCacheDir() string {
    method launchCacheDir (line 69) | func (m mountPaths) launchCacheDir() string {
    method sbomDir (line 73) | func (m mountPaths) sbomDir() string {
  function mountPathsForOS (line 11) | func mountPathsForOS(os, workspace string) mountPaths {

FILE: internal/build/phase.go
  type Phase (line 14) | type Phase struct
    method Run (line 30) | func (p *Phase) Run(ctx context.Context) error {
    method Cleanup (line 69) | func (p *Phase) Cleanup() error {

FILE: internal/build/phase_config_provider.go
  constant linuxContainerAdmin (line 17) | linuxContainerAdmin   = "root"
  constant windowsContainerAdmin (line 18) | windowsContainerAdmin = "ContainerAdministrator"
  constant platformAPIEnvVar (line 19) | platformAPIEnvVar     = "CNB_PLATFORM_API"
  constant executionEnvVar (line 20) | executionEnvVar       = "CNB_EXEC_ENV"
  type PhaseConfigProviderOperation (line 23) | type PhaseConfigProviderOperation
  type PhaseConfigProvider (line 25) | type PhaseConfigProvider struct
    method ContainerConfig (line 109) | func (p *PhaseConfigProvider) ContainerConfig() *container.Config {
    method ContainerOps (line 113) | func (p *PhaseConfigProvider) ContainerOps() []ContainerOperation {
    method PostContainerRunOps (line 117) | func (p *PhaseConfigProvider) PostContainerRunOps() []ContainerOperati...
    method HostConfig (line 121) | func (p *PhaseConfigProvider) HostConfig() *container.HostConfig {
    method Handler (line 125) | func (p *PhaseConfigProvider) Handler() pcontainer.Handler {
    method Name (line 129) | func (p *PhaseConfigProvider) Name() string {
    method ErrorWriter (line 133) | func (p *PhaseConfigProvider) ErrorWriter() io.Writer {
    method InfoWriter (line 137) | func (p *PhaseConfigProvider) InfoWriter() io.Writer {
  function NewPhaseConfigProvider (line 37) | func NewPhaseConfigProvider(name string, lifecycleExec *LifecycleExecuti...
  function sanitized (line 97) | func sanitized(origEnv []string) []string {
  function NullOp (line 141) | func NullOp() PhaseConfigProviderOperation {
  function WithArgs (line 145) | func WithArgs(args ...string) PhaseConfigProviderOperation {
  function WithFlags (line 152) | func WithFlags(flags ...string) PhaseConfigProviderOperation {
  function WithBinds (line 158) | func WithBinds(binds ...string) PhaseConfigProviderOperation {
  function WithDaemonAccess (line 164) | func WithDaemonAccess(dockerHost string) PhaseConfigProviderOperation {
  function WithEnv (line 196) | func WithEnv(envs ...string) PhaseConfigProviderOperation {
  function WithImage (line 202) | func WithImage(image string) PhaseConfigProviderOperation {
  function WithLogPrefix (line 209) | func WithLogPrefix(prefix string) PhaseConfigProviderOperation {
  function WithLifecycleProxy (line 218) | func WithLifecycleProxy(lifecycleExec *LifecycleExecution) PhaseConfigPr...
  function WithNetwork (line 234) | func WithNetwork(networkMode string) PhaseConfigProviderOperation {
  function WithRegistryAccess (line 240) | func WithRegistryAccess(authConfig string) PhaseConfigProviderOperation {
  function WithRoot (line 246) | func WithRoot() PhaseConfigProviderOperation {
  function WithContainerOperations (line 256) | func WithContainerOperations(operations ...ContainerOperation) PhaseConf...
  function WithPostContainerRunOperations (line 262) | func WithPostContainerRunOperations(operations ...ContainerOperation) Ph...
  function If (line 268) | func If(expression bool, operation PhaseConfigProviderOperation) PhaseCo...

FILE: internal/build/phase_config_provider_test.go
  function TestPhaseConfigProvider (line 23) | func TestPhaseConfigProvider(t *testing.T) {
  function testPhaseConfigProvider (line 30) | func testPhaseConfigProvider(t *testing.T, when spec.G, it spec.S) {

FILE: internal/build/phase_factory.go
  type RunnerCleaner (line 5) | type RunnerCleaner interface
  type PhaseFactory (line 10) | type PhaseFactory interface
  type DefaultPhaseFactory (line 14) | type DefaultPhaseFactory struct
    method New (line 24) | func (m *DefaultPhaseFactory) New(provider *PhaseConfigProvider) Runne...
  type PhaseFactoryCreator (line 18) | type PhaseFactoryCreator
  function NewDefaultPhaseFactory (line 20) | func NewDefaultPhaseFactory(lifecycleExec *LifecycleExecution) PhaseFact...

FILE: internal/build/phase_test.go
  constant phaseName (line 38) | phaseName = "phase"
  function TestPhase (line 43) | func TestPhase(t *testing.T) {
  function testPhase (line 66) | func testPhase(t *testing.T, when spec.G, it spec.S) {
  function assertAppModTimePreserved (line 475) | func assertAppModTimePreserved(t *testing.T, lifecycle *build.LifecycleE...
  function assertRunSucceeds (line 492) | func assertRunSucceeds(t *testing.T, phase build.RunnerCleaner, outBuf *...
  function CreateFakeLifecycleExecution (line 501) | func CreateFakeLifecycleExecution(logger logging.Logger, docker client.A...
  function forwardUnix2TCP (line 538) | func forwardUnix2TCP(ctx context.Context, t *testing.T, outPort chan<- i...

FILE: internal/build/testdata/fake-lifecycle/phase.go
  function main (line 19) | func main() {
  function testWrite (line 57) | func testWrite(filename, contents string) {
  function testDaemon (line 72) | func testDaemon() {
  function testRegistryAccess (line 86) | func testRegistryAccess(repoName string) {
  function testRead (line 107) | func testRead(filename string) {
  function testEnv (line 125) | func testEnv() {
  function testDelete (line 142) | func testDelete(filename string) {
  function testBuildpacks (line 151) | func testBuildpacks() {
  function testProxy (line 157) | func testProxy() {
  function testNetwork (line 167) | func testNetwork() {
  function testBinds (line 187) | func testBinds() {
  function readDir (line 192) | func readDir(dir string) {
  function testUser (line 213) | func testUser() {

FILE: internal/builder/builder.go
  constant packName (line 38) | packName = "Pack CLI"
  constant cnbDir (line 40) | cnbDir        = "/cnb"
  constant buildpacksDir (line 41) | buildpacksDir = "/cnb/buildpacks"
  constant orderPath (line 43) | orderPath          = "/cnb/order.toml"
  constant stackPath (line 44) | stackPath          = "/cnb/stack.toml"
  constant systemPath (line 45) | systemPath         = "/cnb/system.toml"
  constant runPath (line 46) | runPath            = "/cnb/run.toml"
  constant platformDir (line 47) | platformDir        = "/platform"
  constant lifecycleDir (line 48) | lifecycleDir       = "/cnb/lifecycle"
  constant compatLifecycleDir (line 49) | compatLifecycleDir = "/lifecycle"
  constant workspaceDir (line 50) | workspaceDir       = "/workspace"
  constant layersDir (line 51) | layersDir          = "/layers"
  constant emptyTarDiffID (line 53) | emptyTarDiffID = "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934...
  constant metadataLabel (line 55) | metadataLabel = "io.buildpacks.builder.metadata"
  constant stackLabel (line 56) | stackLabel    = "io.buildpacks.stack.id"
  constant EnvUID (line 58) | EnvUID = "CNB_USER_ID"
  constant EnvGID (line 59) | EnvGID = "CNB_GROUP_ID"
  constant ModuleOnBuilderMessage (line 61) | ModuleOnBuilderMessage = `%s %s already exists on builder and will be ov...
  constant ModulePreviouslyDefinedMessage (line 65) | ModulePreviouslyDefinedMessage = `%s %s was previously defined with diff...
  type Builder (line 71) | type Builder struct
    method Description (line 264) | func (b *Builder) Description() string {
    method LifecycleDescriptor (line 269) | func (b *Builder) LifecycleDescriptor() LifecycleDescriptor {
    method Buildpacks (line 274) | func (b *Builder) Buildpacks() []dist.ModuleInfo {
    method Extensions (line 279) | func (b *Builder) Extensions() []dist.ModuleInfo {
    method CreatedBy (line 284) | func (b *Builder) CreatedBy() CreatorMetadata {
    method Order (line 289) | func (b *Builder) Order() dist.Order {
    method OrderExtensions (line 294) | func (b *Builder) OrderExtensions() dist.Order {
    method BaseImageName (line 299) | func (b *Builder) BaseImageName() string {
    method Name (line 304) | func (b *Builder) Name() string {
    method Image (line 309) | func (b *Builder) Image() imgutil.Image {
    method Stack (line 314) | func (b *Builder) Stack() StackMetadata {
    method System (line 319) | func (b *Builder) System() dist.System { return b.system }
    method RunImages (line 322) | func (b *Builder) RunImages() []RunImageMetadata {
    method DefaultRunImage (line 327) | func (b *Builder) DefaultRunImage() RunImageMetadata {
    method Mixins (line 334) | func (b *Builder) Mixins() []string {
    method UID (line 339) | func (b *Builder) UID() int {
    method GID (line 344) | func (b *Builder) GID() int {
    method AllModules (line 348) | func (b *Builder) AllModules(kind string) []buildpack.BuildModule {
    method moduleManager (line 352) | func (b *Builder) moduleManager(kind string) buildpack.ManagedCollecti...
    method FlattenedModules (line 362) | func (b *Builder) FlattenedModules(kind string) [][]buildpack.BuildMod...
    method ShouldFlatten (line 367) | func (b *Builder) ShouldFlatten(module buildpack.BuildModule) bool {
    method AddBuildpack (line 374) | func (b *Builder) AddBuildpack(bp buildpack.BuildModule) {
    method AddBuildpacks (line 379) | func (b *Builder) AddBuildpacks(main buildpack.BuildModule, dependenci...
    method AddExtension (line 388) | func (b *Builder) AddExtension(bp buildpack.BuildModule) {
    method SetLifecycle (line 394) | func (b *Builder) SetLifecycle(lifecycle Lifecycle) {
    method SetEnv (line 400) | func (b *Builder) SetEnv(env map[string]string) {
    method SetBuildConfigEnv (line 405) | func (b *Builder) SetBuildConfigEnv(env map[string]string) {
    method SetOrder (line 410) | func (b *Builder) SetOrder(order dist.Order) {
    method SetOrderExtensions (line 416) | func (b *Builder) SetOrderExtensions(order dist.Order) {
    method SetDescription (line 429) | func (b *Builder) SetDescription(description string) {
    method SetStack (line 434) | func (b *Builder) SetStack(stackConfig builder.StackConfig) {
    method SetSystem (line 444) | func (b *Builder) SetSystem(system dist.System) {
    method SetRunImage (line 449) | func (b *Builder) SetRunImage(runConfig builder.RunConfig) {
    method SetValidateMixins (line 461) | func (b *Builder) SetValidateMixins(to bool) {
    method Save (line 466) | func (b *Builder) Save(logger logging.Logger, creatorMetadata CreatorM...
    method addExplodedModules (line 663) | func (b *Builder) addExplodedModules(kind string, logger logging.Logge...
    method addFlattenedModules (line 729) | func (b *Builder) addFlattenedModules(kind string, logger logging.Logg...
    method validateBuildpacks (line 879) | func (b *Builder) validateBuildpacks() error {
    method defaultDirsLayer (line 1015) | func (b *Builder) defaultDirsLayer(dest string) (string, error) {
    method packOwnedDir (line 1043) | func (b *Builder) packOwnedDir(path string, time time.Time) *tar.Header {
    method rootOwnedDir (line 1054) | func (b *Builder) rootOwnedDir(path string, time time.Time) *tar.Header {
    method lifecycleLayer (line 1063) | func (b *Builder) lifecycleLayer(dest string) (string, error) {
    method embedLifecycleTar (line 1100) | func (b *Builder) embedLifecycleTar(tw archive.TarWriter) error {
    method orderLayer (line 1143) | func (b *Builder) orderLayer(order dist.Order, orderExt dist.Order, de...
    method systemLayer (line 1167) | func (b *Builder) systemLayer(system dist.System, dest string) (string...
    method stackLayer (line 1190) | func (b *Builder) stackLayer(dest string) (string, error) {
    method runImageLayer (line 1211) | func (b *Builder) runImageLayer(dest string) (string, error) {
    method envLayer (line 1229) | func (b *Builder) envLayer(dest string, env map[string]string) (string...
    method buildConfigEnvLayer (line 1256) | func (b *Builder) buildConfigEnvLayer(dest string, env map[string]stri...
    method whiteoutLayer (line 1281) | func (b *Builder) whiteoutLayer(tmpDir string, i int, bpInfo dist.Modu...
  type orderTOML (line 93) | type orderTOML struct
  type systemTOML (line 98) | type systemTOML struct
  type moduleWithDiffID (line 103) | type moduleWithDiffID struct
  type BuilderOption (line 109) | type BuilderOption
  type options (line 111) | type options struct
  function WithRunImage (line 118) | func WithRunImage(name string) BuilderOption {
  function WithoutSave (line 125) | func WithoutSave() BuilderOption {
  function FromImage (line 133) | func FromImage(img imgutil.Image) (*Builder, error) {
  function New (line 138) | func New(baseImage imgutil.Image, name string, ops ...BuilderOption) (*B...
  function constructBuilder (line 142) | func constructBuilder(img imgutil.Image, newName string, errOnMissingLab...
  function WithFlattened (line 210) | func WithFlattened(modules buildpack.FlattenModuleInfos) BuilderOption {
  function WithLabels (line 217) | func WithLabels(labels map[string]string) BuilderOption {
  function constructLifecycleDescriptor (line 224) | func constructLifecycleDescriptor(metadata Metadata) LifecycleDescriptor {
  function addImgLabelsToBuildr (line 234) | func addImgLabelsToBuildr(bldr *Builder) error {
  function processOrder (line 795) | func processOrder(modulesOnBuilder []dist.ModuleInfo, order dist.Order, ...
  function processSystem (line 810) | func processSystem(modulesOnBuilder []dist.ModuleInfo, system dist.Syste...
  function resolveRef (line 840) | func resolveRef(moduleList []dist.ModuleInfo, ref dist.ModuleRef, kind s...
  function hasElementWithVersion (line 870) | func hasElementWithVersion(moduleList []dist.ModuleInfo, version string)...
  function validateExtensions (line 933) | func validateExtensions(lifecycleDescriptor LifecycleDescriptor, allExte...
  function validateLifecycleCompat (line 950) | func validateLifecycleCompat(descriptor buildpack.Descriptor, lifecycleD...
  function userAndGroupIDs (line 973) | func userAndGroupIDs(img imgutil.Image) (int, int, error) {
  function uniqueVersions (line 1002) | func uniqueVersions(buildpacks []dist.ModuleInfo) []string {
  function orderFileContents (line 1158) | func orderFileContents(order dist.Order, orderExt dist.Order) (string, e...
  function systemFileContents (line 1181) | func systemFileContents(system dist.System) (string, error) {
  function sortKeys (line 1313) | func sortKeys(collection map[string]moduleWithDiffID) []string {
  function explodeModules (line 1328) | func explodeModules(kind, tmpDir string, additionalModules []buildpack.B...
  function handleError (line 1408) | func handleError(module buildpack.BuildModule, err error, message string...
  function namesMatch (line 1415) | func namesMatch(module buildpack.BuildModule, moduleOnDisk buildpack.Mod...
  type modInfo (line 1420) | type modInfo struct
  type errModuleTar (line 1425) | type errModuleTar struct
    method Info (line 1429) | func (e errModuleTar) Info() dist.ModuleInfo {
    method Path (line 1433) | func (e errModuleTar) Path() string {
  function cnbBuildConfigDir (line 1437) | func cnbBuildConfigDir() string {

FILE: internal/builder/builder_test.go
  function TestBuilder (line 37) | func TestBuilder(t *testing.T) {
  function testBuilder (line 43) | func testBuilder(t *testing.T, when spec.G, it spec.S) {
  function assertImageHasBPLayer (line 2038) | func assertImageHasBPLayer(t *testing.T, image *fakes.Image, bp buildpac...
  function assertImageHasExtLayer (line 2062) | func assertImageHasExtLayer(t *testing.T, image *fakes.Image, ext buildp...
  function assertImageHasOrderBpLayer (line 2086) | func assertImageHasOrderBpLayer(t *testing.T, image *fakes.Image, bp bui...

FILE: internal/builder/descriptor.go
  type LifecycleDescriptor (line 10) | type LifecycleDescriptor struct
  type LifecycleInfo (line 18) | type LifecycleInfo struct
  type LifecycleAPI (line 23) | type LifecycleAPI struct
  type LifecycleAPIs (line 29) | type LifecycleAPIs struct
  type APISet (line 34) | type APISet
    method search (line 36) | func (a APISet) search(comp func(prevMatch, value *api.Version) bool) ...
    method Earliest (line 52) | func (a APISet) Earliest() *api.Version {
    method Latest (line 56) | func (a APISet) Latest() *api.Version {
    method AsStrings (line 60) | func (a APISet) AsStrings() []string {
  type APIVersions (line 70) | type APIVersions struct
  function ParseDescriptor (line 76) | func ParseDescriptor(contents string) (LifecycleDescriptor, error) {
  function CompatDescriptor (line 87) | func CompatDescriptor(descriptor LifecycleDescriptor) LifecycleDescriptor {

FILE: internal/builder/descriptor_test.go
  function TestDescriptor (line 15) | func TestDescriptor(t *testing.T) {
  function testDescriptor (line 21) | func testDescriptor(t *testing.T, when spec.G, it spec.S) {

FILE: internal/builder/detection_order_calculator.go
  type DetectionOrderCalculator (line 8) | type DetectionOrderCalculator struct
    method Order (line 26) | func (c *DetectionOrderCalculator) Order(
  function NewDetectionOrderCalculator (line 10) | func NewDetectionOrderCalculator() *DetectionOrderCalculator {
  type detectionOrderRecurser (line 14) | type detectionOrderRecurser struct
    method detectionOrderFromOrder (line 36) | func (r *detectionOrderRecurser) detectionOrderFromOrder(
    method detectionOrderFromGroup (line 58) | func (r *detectionOrderRecurser) detectionOrderFromGroup(
    method shouldGoDeeper (line 87) | func (r *detectionOrderRecurser) shouldGoDeeper(currentDepth int) bool {
  function newDetectionOrderRecurser (line 19) | func newDetectionOrderRecurser(layers dist.ModuleLayers, maxDepth int) *...
  function copyMap (line 99) | func copyMap(toCopy map[string]interface{}) map[string]interface{} {

FILE: internal/builder/detection_order_calculator_test.go
  function TestDetectionOrderCalculator (line 18) | func TestDetectionOrderCalculator(t *testing.T) {
  function testDetectionOrderCalculator (line 24) | func testDetectionOrderCalculator(t *testing.T, when spec.G, it spec.S) {

FILE: internal/builder/fakes/fake_detection_calculator.go
  type FakeDetectionCalculator (line 8) | type FakeDetectionCalculator struct
    method Order (line 18) | func (c *FakeDetectionCalculator) Order(

FILE: internal/builder/fakes/fake_inspectable.go
  type FakeInspectable (line 3) | type FakeInspectable struct
    method Label (line 11) | func (f *FakeInspectable) Label(name string) (string, error) {

FILE: internal/builder/fakes/fake_inspectable_fetcher.go
  type FakeInspectableFetcher (line 10) | type FakeInspectableFetcher struct
    method Fetch (line 21) | func (f *FakeInspectableFetcher) Fetch(ctx context.Context, name strin...

FILE: internal/builder/fakes/fake_label_manager.go
  type FakeLabelManager (line 8) | type FakeLabelManager struct
    method Metadata (line 24) | func (m *FakeLabelManager) Metadata() (builder.Metadata, error) {
    method StackID (line 28) | func (m *FakeLabelManager) StackID() (string, error) {
    method Mixins (line 32) | func (m *FakeLabelManager) Mixins() ([]string, error) {
    method Order (line 36) | func (m *FakeLabelManager) Order() (dist.Order, error) {
    method OrderExtensions (line 40) | func (m *FakeLabelManager) OrderExtensions() (dist.Order, error) {
    method BuildpackLayers (line 44) | func (m *FakeLabelManager) BuildpackLayers() (dist.ModuleLayers, error) {

FILE: internal/builder/fakes/fake_label_manager_factory.go
  type FakeLabelManagerFactory (line 5) | type FakeLabelManagerFactory struct
    method BuilderLabelManager (line 17) | func (f *FakeLabelManagerFactory) BuilderLabelManager(inspectable buil...
  function NewFakeLabelManagerFactory (line 11) | func NewFakeLabelManagerFactory(builderLabelManagerToReturn builder.Labe...

FILE: internal/builder/image_fetcher_wrapper.go
  type ImageFetcher (line 11) | type ImageFetcher interface
  type ImageFetcherWrapper (line 26) | type ImageFetcherWrapper struct
    method Fetch (line 36) | func (w *ImageFetcherWrapper) Fetch(
    method CheckReadAccessValidator (line 44) | func (w *ImageFetcherWrapper) CheckReadAccessValidator(repo string, op...
  function NewImageFetcherWrapper (line 30) | func NewImageFetcherWrapper(fetcher ImageFetcher) *ImageFetcherWrapper {

FILE: internal/builder/inspect.go
  type Info (line 14) | type Info struct
  type Inspectable (line 28) | type Inspectable interface
  type InspectableFetcher (line 32) | type InspectableFetcher interface
  type LabelManagerFactory (line 36) | type LabelManagerFactory interface
  type LabelInspector (line 40) | type LabelInspector interface
  type DetectionCalculator (line 49) | type DetectionCalculator interface
  type Inspector (line 53) | type Inspector struct
    method Inspect (line 67) | func (i *Inspector) Inspect(name string, daemon bool, orderDetectionDe...
  function NewInspector (line 59) | func NewInspector(fetcher InspectableFetcher, factory LabelManagerFactor...
  function orderExttoPubbldrDetectionOrderExt (line 160) | func orderExttoPubbldrDetectionOrderExt(orderExt dist.Order) pubbldr.Det...
  function uniqueBuildpacks (line 174) | func uniqueBuildpacks(buildpacks []dist.ModuleInfo) []dist.ModuleInfo {
  function sortBuildPacksByID (line 189) | func sortBuildPacksByID(buildpacks []dist.ModuleInfo) []dist.ModuleInfo {

FILE: internal/builder/inspect_test.go
  constant testBuilderName (line 22) | testBuilderName        = "test-builder"
  constant testBuilderDescription (line 23) | testBuilderDescription = "Test Builder Description"
  constant testStackID (line 24) | testStackID            = "test-builder-stack-id"
  constant testRunImage (line 25) | testRunImage           = "test/run-image"
  constant testStackRunImage (line 26) | testStackRunImage      = "test/stack-run-image"
  function TestInspect (line 163) | func TestInspect(t *testing.T) {
  function testInspect (line 169) | func testInspect(t *testing.T, when spec.G, it spec.S) {
  function newDefaultInspectableFetcher (line 406) | func newDefaultInspectableFetcher() *fakes.FakeInspectableFetcher {
  function newNoOpInspectable (line 412) | func newNoOpInspectable() *fakes.FakeInspectable {
  function newDefaultLabelManagerFactory (line 416) | func newDefaultLabelManagerFactory() *fakes.FakeLabelManagerFactory {
  function newLabelManagerFactory (line 420) | func newLabelManagerFactory(manager builder.LabelInspector) *fakes.FakeL...
  function newDefaultLabelManager (line 424) | func newDefaultLabelManager() *fakes.FakeLabelManager {
  type labelManagerModifier (line 435) | type labelManagerModifier
  function returnForMetadata (line 437) | func returnForMetadata(metadata builder.Metadata) labelManagerModifier {
  function errorForMetadata (line 443) | func errorForMetadata(err error) labelManagerModifier {
  function errorForStackID (line 449) | func errorForStackID(err error) labelManagerModifier {
  function errorForMixins (line 455) | func errorForMixins(err error) labelManagerModifier {
  function errorForOrder (line 461) | func errorForOrder(err error) labelManagerModifier {
  function errorForOrderExtensions (line 467) | func errorForOrderExtensions(err error) labelManagerModifier {
  function errorForBuildpackLayers (line 473) | func errorForBuildpackLayers(err error) labelManagerModifier {
  function newLabelManager (line 479) | func newLabelManager(modifiers ...labelManagerModifier) *fakes.FakeLabel...
  function newDefaultDetectionCalculator (line 489) | func newDefaultDetectionCalculator() *fakes.FakeDetectionCalculator {
  type detectionCalculatorModifier (line 495) | type detectionCalculatorModifier
  function errorForDetectionOrder (line 497) | func errorForDetectionOrder(err error) detectionCalculatorModifier {
  function newDetectionCalculator (line 503) | func newDetectionCalculator(modifiers ...detectionCalculatorModifier) *f...

FILE: internal/builder/label_manager.go
  type LabelManager (line 12) | type LabelManager struct
    method Metadata (line 20) | func (m *LabelManager) Metadata() (Metadata, error) {
    method StackID (line 26) | func (m *LabelManager) StackID() (string, error) {
    method Mixins (line 30) | func (m *LabelManager) Mixins() ([]string, error) {
    method Order (line 36) | func (m *LabelManager) Order() (dist.Order, error) {
    method OrderExtensions (line 42) | func (m *LabelManager) OrderExtensions() (dist.Order, error) {
    method BuildpackLayers (line 48) | func (m *LabelManager) BuildpackLayers() (dist.ModuleLayers, error) {
    method labelContent (line 54) | func (m *LabelManager) labelContent(labelName string) (string, error) {
    method labelJSON (line 67) | func (m *LabelManager) labelJSON(labelName string, targetObject interf...
    method labelJSONDefaultEmpty (line 81) | func (m *LabelManager) labelJSONDefaultEmpty(labelName string, targetO...
  function NewLabelManager (line 16) | func NewLabelManager(inspectable Inspectable) *LabelManager {

FILE: internal/builder/label_manager_provider.go
  type LabelManagerProvider (line 3) | type LabelManagerProvider struct
    method BuilderLabelManager (line 9) | func (p *LabelManagerProvider) BuilderLabelManager(inspectable Inspect...
  function NewLabelManagerProvider (line 5) | func NewLabelManagerProvider() *LabelManagerProvider {

FILE: internal/builder/label_manager_test.go
  function TestLabelManager (line 20) | func TestLabelManager(t *testing.T) {
  function testLabelManager (line 26) | func testLabelManager(t *testing.T, when spec.G, it spec.S) {
  type inspectableModifier (line 579) | type inspectableModifier
  function returnForLabel (line 581) | func returnForLabel(response string) inspectableModifier {
  function errorForLabel (line 587) | func errorForLabel(err error) inspectableModifier {
  function newInspectable (line 593) | func newInspectable(modifiers ...inspectableModifier) *fakes.FakeInspect...

FILE: internal/builder/lifecycle.go
  constant DefaultLifecycleVersion (line 17) | DefaultLifecycleVersion = "0.21.0"
  type Blob (line 21) | type Blob interface
  type Lifecycle (line 28) | type Lifecycle interface
  type lifecycle (line 33) | type lifecycle struct
    method Descriptor (line 70) | func (l *lifecycle) Descriptor() LifecycleDescriptor {
    method validateBinaries (line 74) | func (l *lifecycle) validateBinaries() error {
    method binaries (line 110) | func (l *lifecycle) binaries() []string {
  function NewLifecycle (line 39) | func NewLifecycle(blob Blob) (Lifecycle, error) {
  function SupportedLinuxArchitecture (line 124) | func SupportedLinuxArchitecture(arch string) bool {

FILE: internal/builder/lifecycle_test.go
  function TestLifecycle (line 19) | func TestLifecycle(t *testing.T) {
  function testLifecycle (line 25) | func testLifecycle(t *testing.T, when spec.G, it spec.S) {
  type fakeEmptyBlob (line 114) | type fakeEmptyBlob struct
    method Open (line 117) | func (f *fakeEmptyBlob) Open() (io.ReadCloser, error) {

FILE: internal/builder/metadata.go
  constant OrderLabel (line 6) | OrderLabel           = "io.buildpacks.buildpack.order"
  constant OrderExtensionsLabel (line 7) | OrderExtensionsLabel = "io.buildpacks.buildpack.order-extensions"
  constant SystemLabel (line 8) | SystemLabel          = "io.buildpacks.buildpack.system"
  type Metadata (line 11) | type Metadata struct
  type CreatorMetadata (line 21) | type CreatorMetadata struct
  type LifecycleMetadata (line 26) | type LifecycleMetadata struct
  type StackMetadata (line 33) | type StackMetadata struct
  type RunImages (line 37) | type RunImages struct
  type RunImageMetadata (line 41) | type RunImageMetadata struct

FILE: internal/builder/testmocks/mock_lifecycle.go
  type MockLifecycle (line 17) | type MockLifecycle struct
    method EXPECT (line 35) | func (m *MockLifecycle) EXPECT() *MockLifecycleMockRecorder {
    method Descriptor (line 40) | func (m *MockLifecycle) Descriptor() builder.LifecycleDescriptor {
    method Open (line 54) | func (m *MockLifecycle) Open() (io.ReadCloser, error) {
  type MockLifecycleMockRecorder (line 23) | type MockLifecycleMockRecorder struct
    method Descriptor (line 48) | func (mr *MockLifecycleMockRecorder) Descriptor() *gomock.Call {
    method Open (line 63) | func (mr *MockLifecycleMockRecorder) Open() *gomock.Call {
  function NewMockLifecycle (line 28) | func NewMockLifecycle(ctrl *gomock.Controller) *MockLifecycle {

FILE: internal/builder/trusted_builder.go
  type KnownBuilder (line 9) | type KnownBuilder struct
  function IsKnownTrustedBuilder (line 104) | func IsKnownTrustedBuilder(builderName string) bool {
  function IsTrustedBuilder (line 113) | func IsTrustedBuilder(cfg config.Config, builderName string) (bool, erro...

FILE: internal/builder/trusted_builder_test.go
  function TestTrustedBuilder (line 16) | func TestTrustedBuilder(t *testing.T) {
  function trustedBuilder (line 22) | func trustedBuilder(t *testing.T, when spec.G, it spec.S) {

FILE: internal/builder/version.go
  type Version (line 9) | type Version struct
    method String (line 19) | func (v *Version) String() string {
    method Equal (line 24) | func (v *Version) Equal(other *Version) bool {
    method MarshalText (line 33) | func (v *Version) MarshalText() ([]byte, error) {
    method UnmarshalText (line 38) | func (v *Version) UnmarshalText(text []byte) error {
  function VersionMustParse (line 14) | func VersionMustParse(v string) *Version {

FILE: internal/builder/version_test.go
  function TestVersion (line 13) | func TestVersion(t *testing.T) {
  function testVersion (line 17) | func testVersion(t *testing.T, when spec.G, it spec.S) {

FILE: internal/builder/writer/factory.go
  type Factory (line 13) | type Factory struct
    method Writer (line 39) | func (f *Factory) Writer(kind string) (BuilderWriter, error) {
  type BuilderWriter (line 15) | type BuilderWriter interface
  type SharedBuilderInfo (line 25) | type SharedBuilderInfo struct
  type BuilderWriterFactory (line 31) | type BuilderWriterFactory interface
  function NewFactory (line 35) | func NewFactory() *Factory {

FILE: internal/builder/writer/factory_test.go
  function TestFactory (line 15) | func TestFactory(t *testing.T) {
  function testFactory (line 21) | func testFactory(t *testing.T, when spec.G, it spec.S) {

FILE: internal/builder/writer/human_readable.go
  constant writerMinWidth (line 27) | writerMinWidth     = 0
  constant writerTabWidth (line 28) | writerTabWidth     = 0
  constant buildpacksTabWidth (line 29) | buildpacksTabWidth = 8
  constant extensionsTabWidth (line 30) | extensionsTabWidth = 8
  constant defaultTabWidth (line 31) | defaultTabWidth    = 4
  constant writerPadChar (line 32) | writerPadChar      = ' '
  constant writerFlags (line 33) | writerFlags        = 0
  constant none (line 34) | none               = "(none)"
  constant outputTemplate (line 36) | outputTemplate = `
  type HumanReadable (line 72) | type HumanReadable struct
    method Print (line 78) | func (h *HumanReadable) Print(
  function NewHumanReadable (line 74) | func NewHumanReadable() *HumanReadable {
  function writeBuilderInfo (line 109) | func writeBuilderInfo(
  type trailingSpaceStrippingWriter (line 204) | type trailingSpaceStrippingWriter struct
    method Write (line 210) | func (w *trailingSpaceStrippingWriter) Write(p []byte) (n int, err err...
  function stringFromBool (line 237) | func stringFromBool(subject bool) string {
  function runImagesOutput (line 245) | func runImagesOutput(
  function writeLocalMirrors (line 298) | func writeLocalMirrors(logWriter io.Writer, runImages []pubbldr.RunImage...
  function extensionsOutput (line 315) | func extensionsOutput(extensions []dist.ModuleInfo, builderName string) ...
  function buildpacksOutput (line 351) | func buildpacksOutput(buildpacks []dist.ModuleInfo, builderName string) ...
  constant lifecycleFormat (line 392) | lifecycleFormat = `
  function lifecycleOutput (line 403) | func lifecycleOutput(lifecycleInfo builder.LifecycleDescriptor, builderN...
  function stringFromAPISet (line 435) | func stringFromAPISet(versions builder.APISet) string {
  constant branchPrefix (line 444) | branchPrefix     = " ├ "
  constant lastBranchPrefix (line 445) | lastBranchPrefix = " └ "
  constant trunkPrefix (line 446) | trunkPrefix      = " │ "
  function detectionOrderOutput (line 449) | func detectionOrderOutput(order pubbldr.DetectionOrder, builderName stri...
  function detectionOrderExtOutput (line 480) | func detectionOrderExtOutput(order pubbldr.DetectionOrder, builderName s...
  function writeDetectionOrderGroup (line 506) | func writeDetectionOrderGroup(writer io.Writer, order pubbldr.DetectionO...
  function writeAndUpdateEntryPrefix (line 562) | func writeAndUpdateEntryPrefix(writer io.Writer, last bool, prefix strin...
  function writeDetectionOrderBuildpack (line 578) | func writeDetectionOrderBuildpack(writer io.Writer, entry pubbldr.Detect...
  function stringFromOptional (line 594) | func stringFromOptional(optional bool) string {
  function stringFromCyclical (line 602) | func stringFromCyclical(cyclical bool) string {

FILE: internal/builder/writer/human_readable_test.go
  function TestHumanReadable (line 24) | func TestHumanReadable(t *testing.T) {
  function testHumanReadable (line 30) | func testHumanReadable(t *testing.T, when spec.G, it spec.S) {

FILE: internal/builder/writer/json.go
  type JSON (line 8) | type JSON struct
  function NewJSON (line 12) | func NewJSON() BuilderWriter {

FILE: internal/builder/writer/json_test.go
  function TestJSON (line 26) | func TestJSON(t *testing.T) {
  function testJSON (line 32) | func testJSON(t *testing.T, when spec.G, it spec.S) {
  function validPrettifiedJSONOutput (line 506) | func validPrettifiedJSONOutput(source bytes.Buffer) (string, error) {

FILE: internal/builder/writer/structured_format.go
  type InspectOutput (line 16) | type InspectOutput struct
  type RunImage (line 22) | type RunImage struct
  type Lifecycle (line 27) | type Lifecycle struct
  type Stack (line 33) | type Stack struct
  type BuilderInfo (line 38) | type BuilderInfo struct
  type StructuredFormat (line 50) | type StructuredFormat struct
    method Print (line 54) | func (w *StructuredFormat) Print(
  function runImages (line 142) | func runImages(runImages []pubbldr.RunImageConfig, localRunImages []conf...

FILE: internal/builder/writer/toml.go
  type TOML (line 9) | type TOML struct
  function NewTOML (line 13) | func NewTOML() BuilderWriter {

FILE: internal/builder/writer/toml_test.go
  function TestTOML (line 27) | func TestTOML(t *testing.T) {
  function testTOML (line 33) | func testTOML(t *testing.T, when spec.G, it spec.S) {
  function validTOMLOutput (line 483) | func validTOMLOutput(source bytes.Buffer) error {

FILE: internal/builder/writer/yaml.go
  type YAML (line 9) | type YAML struct
  function NewYAML (line 13) | func NewYAML() BuilderWriter {

FILE: internal/builder/writer/yaml_test.go
  function TestYAML (line 26) | func TestYAML(t *testing.T) {
  function testYAML (line 32) | func testYAML(t *testing.T, when spec.G, it spec.S) {
  function validYAML (line 414) | func validYAML(source bytes.Buffer) (string, error) {

FILE: internal/commands/add_registry.go
  function AddBuildpackRegistry (line 11) | func AddBuildpackRegistry(logger logging.Logger, cfg config.Config, cfgP...

FILE: internal/commands/add_registry_test.go
  function TestAddRegistry (line 22) | func TestAddRegistry(t *testing.T) {
  function testAddRegistryCommand (line 29) | func testAddRegistryCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/build.go
  type BuildFlags (line 28) | type BuildFlags struct
  function Build (line 70) | func Build(logger logging.Logger, cfg config.Config, packClient PackClie...
  function parseTime (line 239) | func parseTime(providedTime string) (*time.Time, error) {
  function buildCommandFlags (line 256) | func buildCommandFlags(cmd *cobra.Command, buildFlags *BuildFlags, cfg c...
  function validateBuildFlags (line 312) | func validateBuildFlags(flags *BuildFlags, cfg config.Config, inputImage...
  function parseEnv (line 365) | func parseEnv(envFiles []string, envVars []string) (map[string]string, e...
  function parseEnvFile (line 384) | func parseEnvFile(filename string) (map[string]string, error) {
  function addEnvVar (line 400) | func addEnvVar(env map[string]string, item string) map[string]string {
  function parseProjectToml (line 410) | func parseProjectToml(appPath, descriptorPath string, logger logging.Log...
  function isForbiddenTag (line 429) | func isForbiddenTag(cfg config.Config, input, lifecycle, builder string)...

FILE: internal/commands/build_test.go
  function TestBuildCommand (line 31) | func TestBuildCommand(t *testing.T) {
  function testBuildCommand (line 38) | func testBuildCommand(t *testing.T, when spec.G, it spec.S) {
  function EqBuildOptionsWithImage (line 1151) | func EqBuildOptionsWithImage(builder, image string) gomock.Matcher {
  function EqBuildOptionsDefaultProcess (line 1160) | func EqBuildOptionsDefaultProcess(defaultProc string) gomock.Matcher {
  function EqBuildOptionsWithPlatform (line 1169) | func EqBuildOptionsWithPlatform(platform string) gomock.Matcher {
  function EqBuildOptionsWithPullPolicy (line 1178) | func EqBuildOptionsWithPullPolicy(policy image.PullPolicy) gomock.Matcher {
  function EqBuildOptionsWithCacheImage (line 1187) | func EqBuildOptionsWithCacheImage(cacheImage string) gomock.Matcher {
  function EqBuildOptionsWithCacheFlags (line 1196) | func EqBuildOptionsWithCacheFlags(cacheFlags string) gomock.Matcher {
  function EqBuildOptionsWithLifecycleImage (line 1205) | func EqBuildOptionsWithLifecycleImage(lifecycleImage string) gomock.Matc...
  function EqBuildOptionsWithNetwork (line 1214) | func EqBuildOptionsWithNetwork(network string) gomock.Matcher {
  function EqBuildOptionsWithBuilder (line 1223) | func EqBuildOptionsWithBuilder(builder string) gomock.Matcher {
  function EqBuildOptionsWithTrustedBuilder (line 1232) | func EqBuildOptionsWithTrustedBuilder(trustBuilder bool) gomock.Matcher {
  function EqBuildOptionsWithVolumes (line 1241) | func EqBuildOptionsWithVolumes(volumes []string) gomock.Matcher {
  function EqBuildOptionsWithAdditionalTags (line 1250) | func EqBuildOptionsWithAdditionalTags(additionalTags []string) gomock.Ma...
  function EqBuildOptionsWithProjectDescriptor (line 1259) | func EqBuildOptionsWithProjectDescriptor(descriptor projectTypes.Descrip...
  function EqBuildOptionsWithEnv (line 1268) | func EqBuildOptionsWithEnv(env map[string]string) gomock.Matcher {
  function EqBuildOptionsWithOverrideGroupID (line 1287) | func EqBuildOptionsWithOverrideGroupID(gid int) gomock.Matcher {
  function EqBuildOptionsWithPreviousImage (line 1296) | func EqBuildOptionsWithPreviousImage(prevImage string) gomock.Matcher {
  function EqBuildOptionsWithSBOMOutputDir (line 1305) | func EqBuildOptionsWithSBOMOutputDir(s string) interface{} {
  function EqBuildOptionsWithDateTime (line 1314) | func EqBuildOptionsWithDateTime(t *time.Time) interface{} {
  function EqBuildOptionsWithPath (line 1326) | func EqBuildOptionsWithPath(path string) interface{} {
  function EqBuildOptionsWithLayoutConfig (line 1335) | func EqBuildOptionsWithLayoutConfig(image, previousImage string, sparse ...
  function EqBuildOptionsWithExecEnv (line 1351) | func EqBuildOptionsWithExecEnv(s string) interface{} {
  function EqBuildOptionsWithInsecureRegistries (line 1360) | func EqBuildOptionsWithInsecureRegistries(insecureRegistries []string) g...
  type buildOptionsMatcher (line 1372) | type buildOptionsMatcher struct
    method Matches (line 1377) | func (m buildOptionsMatcher) Matches(x interface{}) bool {
    method String (line 1384) | func (m buildOptionsMatcher) String() string {

FILE: internal/commands/builder.go
  function NewBuilderCommand (line 11) | func NewBuilderCommand(logger logging.Logger, cfg config.Config, client ...

FILE: internal/commands/builder_create.go
  type BuilderCreateFlags (line 21) | type BuilderCreateFlags struct
  function BuilderCreate (line 34) | func BuilderCreate(logger logging.Logger, cfg config.Config, pack PackCl...
  function hasDockerLifecycle (line 161) | func hasDockerLifecycle(builderConfig builder.Config) bool {
  function validateCreateFlags (line 165) | func validateCreateFlags(flags *BuilderCreateFlags, cfg config.Config) e...

FILE: internal/commands/builder_create_test.go
  constant validConfig (line 28) | validConfig = `
  constant validConfigWithTargets (line 38) | validConfigWithTargets = `
  constant validConfigWithExtensions (line 55) | validConfigWithExtensions = `
  function TestCreateCommand (line 176) | func TestCreateCommand(t *testing.T) {
  function testCreateCommand (line 182) | func testCreateCommand(t *testing.T, when spec.G, it spec.S) {
  function EqCreateBuilderOptionsTargets (line 564) | func EqCreateBuilderOptionsTargets(targets []dist.Target) gomock.Matcher {
  type createbuilderOptionsMatcher (line 576) | type createbuilderOptionsMatcher struct
    method Matches (line 581) | func (m createbuilderOptionsMatcher) Matches(x interface{}) bool {
    method String (line 588) | func (m createbuilderOptionsMatcher) String() string {

FILE: internal/commands/builder_inspect.go
  type BuilderInspector (line 15) | type BuilderInspector interface
  type BuilderInspectFlags (line 19) | type BuilderInspectFlags struct
  function BuilderInspect (line 24) | func BuilderInspect(logger logging.Logger,
  function inspectBuilder (line 58) | func inspectBuilder(

FILE: internal/commands/builder_inspect_test.go
  function TestBuilderInspectCommand (line 59) | func TestBuilderInspectCommand(t *testing.T) {
  function testBuilderInspectCommand (line 65) | func testBuilderInspectCommand(t *testing.T, when spec.G, it spec.S) {
  function newDefaultBuilderInspector (line 294) | func newDefaultBuilderInspector() *fakes.FakeBuilderInspector {
  function newDefaultBuilderWriter (line 301) | func newDefaultBuilderWriter() *fakes.FakeBuilderWriter {
  function newDefaultWriterFactory (line 308) | func newDefaultWriterFactory() *fakes.FakeBuilderWriterFactory {
  type BuilderWriterModifier (line 314) | type BuilderWriterModifier
  function errorsForPrint (line 316) | func errorsForPrint(err error) BuilderWriterModifier {
  function newBuilderWriter (line 322) | func newBuilderWriter(modifiers ...BuilderWriterModifier) *fakes.FakeBui...
  type WriterFactoryModifier (line 332) | type WriterFactoryModifier
  function returnsForWriter (line 334) | func returnsForWriter(writer writer.BuilderWriter) WriterFactoryModifier {
  function errorsForWriter (line 340) | func errorsForWriter(err error) WriterFactoryModifier {
  function newWriterFactory (line 346) | func newWriterFactory(modifiers ...WriterFactoryModifier) *fakes.FakeBui...
  type BuilderInspectorModifier (line 356) | type BuilderInspectorModifier
  function errorsForLocal (line 358) | func errorsForLocal(err error) BuilderInspectorModifier {
  function errorsForRemote (line 364) | func errorsForRemote(err error) BuilderInspectorModifier {
  function newBuilderInspector (line 370) | func newBuilderInspector(modifiers ...BuilderInspectorModifier) *fakes.F...

FILE: internal/commands/builder_suggest.go
  function BuilderSuggest (line 9) | func BuilderSuggest(logger logging.Logger, inspector BuilderInspector) *...

FILE: internal/commands/builder_suggest_test.go
  function TestSuggestCommand (line 21) | func TestSuggestCommand(t *testing.T) {
  function testSuggestCommand (line 27) | func testSuggestCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/builder_test.go
  function TestBuilderCommand (line 19) | func TestBuilderCommand(t *testing.T) {
  function testBuilderCommand (line 23) | func testBuilderCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/buildpack.go
  function NewBuildpackCommand (line 10) | func NewBuildpackCommand(logger logging.Logger, cfg config.Config, clien...

FILE: internal/commands/buildpack_inspect.go
  type BuildpackInspectFlags (line 14) | type BuildpackInspectFlags struct
  function BuildpackInspect (line 20) | func BuildpackInspect(logger logging.Logger, cfg config.Config, client P...
  function buildpackInspect (line 45) | func buildpackInspect(logger logging.Logger, buildpackName, registryName...

FILE: internal/commands/buildpack_inspect_test.go
  constant complexOutputSection (line 27) | complexOutputSection = `Stacks:
  constant simpleOutputSection (line 61) | simpleOutputSection = `Stacks:
  constant inspectOutputTemplate (line 78) | inspectOutputTemplate = `Inspecting buildpack: '%s'
  constant depthOutputSection (line 85) | depthOutputSection = `
  constant simpleMixinOutputSection (line 95) | simpleMixinOutputSection = `
  function TestBuildpackInspectCommand (line 107) | func TestBuildpackInspectCommand(t *testing.T) {
  function testBuildpackInspectCommand (line 113) | func testBuildpackInspectCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/buildpack_new.go
  type BuildpackNewFlags (line 21) | type BuildpackNewFlags struct
  type BuildpackCreator (line 31) | type BuildpackCreator interface
  function BuildpackNew (line 36) | func BuildpackNew(logger logging.Logger, creator BuildpackCreator) *cobr...

FILE: internal/commands/buildpack_new_test.go
  function TestBuildpackNewCommand (line 25) | func TestBuildpackNewCommand(t *testing.T) {
  function testBuildpackNewCommand (line 31) | func testBuildpackNewCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/buildpack_package.go
  type BuildpackPackageFlags (line 22) | type BuildpackPackageFlags struct
  type BuildpackPackager (line 38) | type BuildpackPackager interface
  type PackageConfigReader (line 43) | type PackageConfigReader interface
  function BuildpackPackage (line 49) | func BuildpackPackage(logger logging.Logger, cfg config.Config, packager...
  function validateBuildpackPackageFlags (line 197) | func validateBuildpackPackageFlags(cfg config.Config, p *BuildpackPackag...
  function processBuildpackPackageTargets (line 223) | func processBuildpackPackageTargets(path string, packageConfigReader Pac...
  function clean (line 249) | func clean(paths []string) error {

FILE: internal/commands/buildpack_package_test.go
  function TestPackageCommand (line 25) | func TestPackageCommand(t *testing.T) {
  function testPackageCommand (line 31) | func testPackageCommand(t *testing.T, when spec.G, it spec.S) {
  type packageCommandConfig (line 429) | type packageCommandConfig struct
  type packageCommandOption (line 439) | type packageCommandOption
  function packageCommand (line 441) | func packageCommand(ops ...packageCommandOption) *cobra.Command {
  function withLogger (line 461) | func withLogger(logger *logging.LogWithWriters) packageCommandOption {
  function withPackageConfigReader (line 467) | func withPackageConfigReader(reader *fakes.FakePackageConfigReader) pack...
  function withBuildpackPackager (line 473) | func withBuildpackPackager(creator *fakes.FakeBuildpackPackager) package...
  function withImageName (line 479) | func withImageName(name string) packageCommandOption {
  function withPath (line 485) | func withPath(name string) packageCommandOption {
  function withPackageConfigPath (line 491) | func withPackageConfigPath(path string) packageCommandOption {
  function withClientConfig (line 497) | func withClientConfig(clientCfg config.Config) packageCommandOption {
  function whereReadReturns (line 503) | func whereReadReturns(config pubbldpkg.Config, err error) func(*fakes.Fa...
  function whereReadBuildpackDescriptor (line 510) | func whereReadBuildpackDescriptor(descriptor dist.BuildpackDescriptor, e...

FILE: internal/commands/buildpack_pull.go
  type BuildpackPullFlags (line 13) | type BuildpackPullFlags struct
  function BuildpackPull (line 19) | func BuildpackPull(logger logging.Logger, cfg config.Config, pack PackCl...

FILE: internal/commands/buildpack_pull_test.go
  function TestPullBuildpackCommand (line 20) | func TestPullBuildpackCommand(t *testing.T) {
  function testPullBuildpackCommand (line 24) | func testPullBuildpackCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/buildpack_register.go
  type BuildpackRegisterFlags (line 12) | type BuildpackRegisterFlags struct
  function BuildpackRegister (line 16) | func BuildpackRegister(logger logging.Logger, cfg config.Config, pack Pa...

FILE: internal/commands/buildpack_register_test.go
  function TestRegisterCommand (line 21) | func TestRegisterCommand(t *testing.T) {
  function testRegisterCommand (line 25) | func testRegisterCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/buildpack_test.go
  function TestBuildpackCommand (line 20) | func TestBuildpackCommand(t *testing.T) {
  function testBuildpackCommand (line 24) | func testBuildpackCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/buildpack_yank.go
  type BuildpackYankFlags (line 15) | type BuildpackYankFlags struct
  function BuildpackYank (line 20) | func BuildpackYank(logger logging.Logger, cfg config.Config, pack PackCl...
  function parseIDVersion (line 62) | func parseIDVersion(buildpackIDVersion string) (string, string, error) {

FILE: internal/commands/buildpack_yank_test.go
  function TestYankCommand (line 21) | func TestYankCommand(t *testing.T) {
  function testYankCommand (line 27) | func testYankCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/commands.go
  type PackClient (line 24) | type PackClient interface
  function AddHelpFlag (line 48) | func AddHelpFlag(cmd *cobra.Command, commandName string) {
  function CreateCancellableContext (line 52) | func CreateCancellableContext() context.Context {
  function logError (line 65) | func logError(logger logging.Logger, f func(cmd *cobra.Command, args []s...
  function enableExperimentalTip (line 88) | func enableExperimentalTip(logger logging.Logger, configPath string) {
  function stringArrayHelp (line 92) | func stringArrayHelp(name string) string {
  function stringSliceHelp (line 96) | func stringSliceHelp(name string) string {
  function getMirrors (line 100) | func getMirrors(config config.Config) map[string][]string {
  function deprecationWarning (line 108) | func deprecationWarning(logger logging.Logger, oldCmd, replacementCmd st...
  function parseFormatFlag (line 112) | func parseFormatFlag(value string) (types.MediaType, error) {
  function processMultiArchitectureConfig (line 127) | func processMultiArchitectureConfig(logger logging.Logger, userTargets [...

FILE: internal/commands/completion.go
  type CompletionFlags (line 13) | type CompletionFlags struct
  type completionFunc (line 17) | type completionFunc
  function CompletionCommand (line 38) | func CompletionCommand(logger logging.Logger, packHome string) *cobra.Co...

FILE: internal/commands/completion_test.go
  function TestCompletionCommand (line 18) | func TestCompletionCommand(t *testing.T) {
  function testCompletionCommand (line 22) | func testCompletionCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/config.go
  function NewConfigCommand (line 12) | func NewConfigCommand(logger logging.Logger, cfg config.Config, cfgPath ...
  type editCfgFunc (line 32) | type editCfgFunc
  function generateAdd (line 34) | func generateAdd(cmdName string, logger logging.Logger, cfg config.Confi...
  function generateRemove (line 47) | func generateRemove(cmdName string, logger logging.Logger, cfg config.Co...
  type listFunc (line 60) | type listFunc
  function generateListCmd (line 62) | func generateListCmd(cmdName string, logger logging.Logger, cfg config.C...

FILE: internal/commands/config_default_builder.go
  function ConfigDefaultBuilder (line 16) | func ConfigDefaultBuilder(logger logging.Logger, cfg config.Config, cfgP...
  function validateBuilderExists (line 71) | func validateBuilderExists(logger logging.Logger, imageName string, clie...

FILE: internal/commands/config_default_builder_test.go
  function TestConfigDefaultBuilder (line 25) | func TestConfigDefaultBuilder(t *testing.T) {
  function testConfigDefaultBuilder (line 31) | func testConfigDefaultBuilder(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/config_experimental.go
  function ConfigExperimental (line 15) | func ConfigExperimental(logger logging.Logger, cfg config.Config, cfgPat...

FILE: internal/commands/config_experimental_test.go
  function TestConfigExperimental (line 22) | func TestConfigExperimental(t *testing.T) {
  function testConfigExperimental (line 28) | func testConfigExperimental(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/config_lifecycle_image.go
  function ConfigLifecycleImage (line 13) | func ConfigLifecycleImage(logger logging.Logger, cfg config.Config, cfgP...

FILE: internal/commands/config_lifecycle_image_test.go
  function TestConfigLifecyleImage (line 21) | func TestConfigLifecyleImage(t *testing.T) {
  function testConfigLifecycleImageCommand (line 27) | func testConfigLifecycleImageCommand(t *testing.T, when spec.G, it spec....

FILE: internal/commands/config_pull_policy.go
  function ConfigPullPolicy (line 15) | func ConfigPullPolicy(logger logging.Logger, cfg config.Config, cfgPath ...

FILE: internal/commands/config_pull_policy_test.go
  function TestConfigPullPolicy (line 21) | func TestConfigPullPolicy(t *testing.T) {
  function testConfigPullPolicyCommand (line 27) | func testConfigPullPolicyCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/config_registries.go
  function ConfigRegistries (line 27) | func ConfigRegistries(logger logging.Logger, cfg config.Config, cfgPath ...
  function addRegistry (line 63) | func addRegistry(args []string, logger logging.Logger, cfg config.Config...
  function addRegistryToConfig (line 73) | func addRegistryToConfig(logger logging.Logger, newRegistry config.Regis...
  function removeRegistry (line 102) | func removeRegistry(args []string, logger logging.Logger, cfg config.Con...
  function listRegistries (line 128) | func listRegistries(args []string, logger logging.Logger, cfg config.Con...
  function fmtRegistry (line 142) | func fmtRegistry(registry config.Registry, isDefaultRegistry, isVerbose ...
  function registriesContains (line 154) | func registriesContains(registries []config.Registry, registry string) b...
  function findRegistryIndex (line 158) | func findRegistryIndex(registries []config.Registry, registryName string...
  function removeBPRegistry (line 168) | func removeBPRegistry(index int, registries []config.Registry) []config....

FILE: internal/commands/config_registries_default.go
  function ConfigRegistriesDefault (line 14) | func ConfigRegistriesDefault(logger logging.Logger, cfg config.Config, c...

FILE: internal/commands/config_registries_default_test.go
  function TestConfigRegistriesDefault (line 21) | func TestConfigRegistriesDefault(t *testing.T) {
  function testConfigRegistriesDefaultCommand (line 28) | func testConfigRegistriesDefaultCommand(t *testing.T, when spec.G, it sp...

FILE: internal/commands/config_registries_test.go
  function TestConfigRegistries (line 21) | func TestConfigRegistries(t *testing.T) {
  function testConfigRegistries (line 27) | func testConfigRegistries(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/config_registry_mirrors.go
  function ConfigRegistryMirrors (line 17) | func ConfigRegistryMirrors(logger logging.Logger, cfg config.Config, cfg...
  function addRegistryMirror (line 52) | func addRegistryMirror(args []string, logger logging.Logger, cfg config....
  function removeRegistryMirror (line 72) | func removeRegistryMirror(args []string, logger logging.Logger, cfg conf...
  function listRegistryMirrors (line 89) | func listRegistryMirrors(args []string, logger logging.Logger, cfg confi...

FILE: internal/commands/config_registry_mirrors_test.go
  function TestConfigRegistryMirrors (line 23) | func TestConfigRegistryMirrors(t *testing.T) {
  function testConfigRegistryMirrorsCommand (line 29) | func testConfigRegistryMirrorsCommand(t *testing.T, when spec.G, it spec...

FILE: internal/commands/config_run_image_mirrors.go
  function ConfigRunImagesMirrors (line 19) | func ConfigRunImagesMirrors(logger logging.Logger, cfg config.Config, cf...
  function addRunImageMirror (line 55) | func addRunImageMirror(args []string, logger logging.Logger, cfg config....
  function removeRunImageMirror (line 81) | func removeRunImageMirror(args []string, logger logging.Logger, cfg conf...
  function listRunImageMirror (line 125) | func listRunImageMirror(args []string, logger logging.Logger, cfg config...
  function dedupAndSortSlice (line 158) | func dedupAndSortSlice(slice []string) []string {

FILE: internal/commands/config_run_image_mirrors_test.go
  function TestConfigRunImageMirrors (line 23) | func TestConfigRunImageMirrors(t *testing.T) {
  function testConfigRunImageMirrorsCommand (line 29) | func testConfigRunImageMirrorsCommand(t *testing.T, when spec.G, it spec...

FILE: internal/commands/config_test.go
  function TestConfigCommand (line 22) | func TestConfigCommand(t *testing.T) {
  function testConfigCommand (line 28) | func testConfigCommand(t *testing.T, when spec.G, it spec.S) {
  type configManager (line 70) | type configManager struct
    method configWithTrustedBuilders (line 82) | func (c configManager) configWithTrustedBuilders(trustedBuilders ...st...
  function newConfigManager (line 75) | func newConfigManager(t *testing.T, configPath string) configManager {

FILE: internal/commands/config_trusted_builder.go
  function ConfigTrustedBuilder (line 15) | func ConfigTrustedBuilder(logger logging.Logger, cfg config.Config, cfgP...
  function addTrustedBuilder (line 50) | func addTrustedBuilder(args []string, logger logging.Logger, cfg config....
  function removeTrustedBuilder (line 72) | func removeTrustedBuilder(args []string, logger logging.Logger, cfg conf...
  function getTrustedBuilders (line 105) | func getTrustedBuilders(cfg config.Config) []string {
  function listTrustedBuilders (line 121) | func listTrustedBuilders(args []string, logger logging.Logger, cfg confi...

FILE: internal/commands/config_trusted_builder_test.go
  function TestTrustedBuilderCommand (line 22) | func TestTrustedBuilderCommand(t *testing.T) {
  function testTrustedBuilderCommand (line 28) | func testTrustedBuilderCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/create_builder.go
  function CreateBuilder (line 20) | func CreateBuilder(logger logging.Logger, cfg config.Config, pack PackCl...

FILE: internal/commands/create_builder_test.go
  function TestCreateBuilderCommand (line 23) | func TestCreateBuilderCommand(t *testing.T) {
  function testCreateBuilderCommand (line 29) | func testCreateBuilderCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/download_sbom.go
  type DownloadSBOMFlags (line 10) | type DownloadSBOMFlags struct
  function DownloadSBOM (line 15) | func DownloadSBOM(

FILE: internal/commands/download_sbom_test.go
  function TestDownloadSBOMCommand (line 21) | func TestDownloadSBOMCommand(t *testing.T) {
  function testDownloadSBOMCommand (line 27) | func testDownloadSBOMCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/extension.go
  function NewExtensionCommand (line 10) | func NewExtensionCommand(logger logging.Logger, cfg config.Config, clien...

FILE: internal/commands/extension_inspect.go
  function ExtensionInspect (line 14) | func ExtensionInspect(logger logging.Logger, cfg config.Config, client P...
  function extensionInspect (line 29) | func extensionInspect(logger logging.Logger, extensionName string, _ con...

FILE: internal/commands/extension_inspect_test.go
  constant extensionOutputSection (line 26) | extensionOutputSection = `Extension:
  constant inspectExtensionOutputTemplate (line 30) | inspectExtensionOutputTemplate = `Inspecting extension: '%s'
  function TestExtensionInspectCommand (line 37) | func TestExtensionInspectCommand(t *testing.T) {
  function testExtensionInspectCommand (line 43) | func testExtensionInspectCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/extension_new.go
  type ExtensionNewFlags (line 10) | type ExtensionNewFlags struct
  function ExtensionNew (line 20) | func ExtensionNew(logger logging.Logger) *cobra.Command {

FILE: internal/commands/extension_package.go
  type ExtensionPackageFlags (line 21) | type ExtensionPackageFlags struct
  type ExtensionPackager (line 32) | type ExtensionPackager interface
  function ExtensionPackage (line 37) | func ExtensionPackage(logger logging.Logger, cfg config.Config, packager...
  function validateExtensionPackageFlags (line 162) | func validateExtensionPackageFlags(p *ExtensionPackageFlags) error {
  function processExtensionPackageTargets (line 170) | func processExtensionPackageTargets(path string, packageConfigReader Pac...

FILE: internal/commands/extension_package_test.go
  function TestExtensionPackageCommand (line 25) | func TestExtensionPackageCommand(t *testing.T) {
  function testExtensionPackageCommand (line 31) | func testExtensionPackageCommand(t *testing.T, when spec.G, it spec.S) {
  type packageExtensionCommandConfig (line 322) | type packageExtensionCommandConfig struct
  type packageExtensionCommandOption (line 331) | type packageExtensionCommandOption
  function packageExtensionCommand (line 333) | func packageExtensionCommand(ops ...packageExtensionCommandOption) *cobr...
  function withExtensionLogger (line 353) | func withExtensionLogger(logger *logging.LogWithWriters) packageExtensio...
  function withExtensionPackageConfigReader (line 359) | func withExtensionPackageConfigReader(reader *fakes.FakePackageConfigRea...
  function withExtensionPackager (line 365) | func withExtensionPackager(creator *fakes.FakeBuildpackPackager) package...
  function withExtensionImageName (line 371) | func withExtensionImageName(name string) packageExtensionCommandOption {
  function withExtensionPackageConfigPath (line 377) | func withExtensionPackageConfigPath(path string) packageExtensionCommand...
  function withExtensionClientConfig (line 383) | func withExtensionClientConfig(clientCfg config.Config) packageExtension...

FILE: internal/commands/extension_pull.go
  type ExtensionPullFlags (line 11) | type ExtensionPullFlags struct
  function ExtensionPull (line 17) | func ExtensionPull(logger logging.Logger, cfg config.Config, pack PackCl...

FILE: internal/commands/extension_register.go
  type ExtensionRegisterFlags (line 10) | type ExtensionRegisterFlags struct
  function ExtensionRegister (line 14) | func ExtensionRegister(logger logging.Logger, cfg config.Config, pack Pa...

FILE: internal/commands/extension_test.go
  function TestExtensionCommand (line 20) | func TestExtensionCommand(t *testing.T) {
  function testExtensionCommand (line 24) | func testExtensionCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/extension_yank.go
  type ExtensionYankFlags (line 10) | type ExtensionYankFlags struct
  function ExtensionYank (line 15) | func ExtensionYank(logger logging.Logger, cfg config.Config, pack PackCl...

FILE: internal/commands/fakes/fake_builder_inspector.go
  type FakeBuilderInspector (line 7) | type FakeBuilderInspector struct
    method InspectBuilder (line 19) | func (i *FakeBuilderInspector) InspectBuilder(

FILE: internal/commands/fakes/fake_builder_writer.go
  type FakeBuilderWriter (line 10) | type FakeBuilderWriter struct
    method Print (line 23) | func (w *FakeBuilderWriter) Print(

FILE: internal/commands/fakes/fake_builder_writer_factory.go
  type FakeBuilderWriterFactory (line 7) | type FakeBuilderWriterFactory struct
    method Writer (line 14) | func (f *FakeBuilderWriterFactory) Writer(kind string) (writer.Builder...

FILE: internal/commands/fakes/fake_buildpack_packager.go
  type FakeBuildpackPackager (line 9) | type FakeBuildpackPackager struct
    method PackageBuildpack (line 13) | func (c *FakeBuildpackPackager) PackageBuildpack(ctx context.Context, ...

FILE: internal/commands/fakes/fake_extension_packager.go
  method PackageExtension (line 9) | func (c *FakeBuildpackPackager) PackageExtension(ctx context.Context, op...

FILE: internal/commands/fakes/fake_inspect_image_writer.go
  type FakeInspectImageWriter (line 9) | type FakeInspectImageWriter struct
    method Print (line 21) | func (w *FakeInspectImageWriter) Print(

FILE: internal/commands/fakes/fake_inspect_image_writer_factory.go
  type FakeInspectImageWriterFactory (line 7) | type FakeInspectImageWriterFactory struct
    method Writer (line 15) | func (f *FakeInspectImageWriterFactory) Writer(kind string, bom bool) ...

FILE: internal/commands/fakes/fake_package_config_reader.go
  type FakePackageConfigReader (line 8) | type FakePackageConfigReader struct
    method Read (line 19) | func (r *FakePackageConfigReader) Read(path string) (pubbldpkg.Config,...
    method ReadBuildpackDescriptor (line 25) | func (r *FakePackageConfigReader) ReadBuildpackDescriptor(path string)...
  function NewFakePackageConfigReader (line 31) | func NewFakePackageConfigReader(ops ...func(*FakePackageConfigReader)) *...

FILE: internal/commands/inspect_builder.go
  function InspectBuilder (line 14) | func InspectBuilder(

FILE: internal/commands/inspect_builder_test.go
  function TestInspectBuilderCommand (line 20) | func TestInspectBuilderCommand(t *testing.T) {
  function testInspectBuilderCommand (line 26) | func testInspectBuilderCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/inspect_buildpack.go
  constant inspectBuildpackTemplate (line 22) | inspectBuildpackTemplate = `
  constant writerMinWidth (line 54) | writerMinWidth     = 0
  constant writerTabWidth (line 55) | writerTabWidth     = 0
  constant buildpacksTabWidth (line 56) | buildpacksTabWidth = 8
  constant defaultTabWidth (line 57) | defaultTabWidth    = 4
  constant writerPadChar (line 58) | writerPadChar      = ' '
  constant writerFlags (line 59) | writerFlags        = 0
  function InspectBuildpack (line 63) | func InspectBuildpack(logger logging.Logger, cfg config.Config, client P...
  function inspectAllBuildpacks (line 89) | func inspectAllBuildpacks(client PackClient, flags BuildpackInspectFlags...
  function inspectBuildpackOutput (line 120) | func inspectBuildpackOutput(info *client.BuildpackInfo, prefix string, f...
  function determinePrefix (line 152) | func determinePrefix(name string, locator buildpack.LocatorType, daemon ...
  function buildpacksOutput (line 170) | func buildpacksOutput(bps []dist.ModuleInfo) (string, error) {
  function detectionOrderOutput (line 192) | func detectionOrderOutput(order dist.Order, layers dist.ModuleLayers, ma...
  function orderOutputRecurrence (line 207) | func orderOutputRecurrence(w io.Writer, prefix string, order dist.Order,...
  constant branchPrefix (line 254) | branchPrefix     = " ├ "
  constant lastBranchPrefix (line 255) | lastBranchPrefix = " └ "
  constant trunkPrefix (line 256) | trunkPrefix      = " │ "
  function updatePrefix (line 259) | func updatePrefix(oldPrefix string, last bool) string {
  function validMaxDepth (line 266) | func validMaxDepth(depth int) bool {
  function displayGroup (line 270) | func displayGroup(w io.Writer, prefix string, groupCount int, last bool)...
  function displayBuildpack (line 279) | func displayBuildpack(w io.Writer, prefix string, entry dist.ModuleRef, ...
  function joinErrors (line 304) | func joinErrors(errs []error) error {

FILE: internal/commands/inspect_buildpack_test.go
  function TestInspectBuildpackCommand (line 27) | func TestInspectBuildpackCommand(t *testing.T) {
  function testInspectBuildpackCommand (line 33) | func testInspectBuildpackCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/inspect_extension.go
  constant inspectExtensionTemplate (line 16) | inspectExtensionTemplate = `
  function inspectAllExtensions (line 23) | func inspectAllExtensions(client PackClient, options ...client.InspectEx...
  function inspectExtensionOutput (line 54) | func inspectExtensionOutput(info *client.ExtensionInfo, prefix string) (...
  function extensionsOutput (line 76) | func extensionsOutput(ex dist.ModuleInfo) (string, error) {

FILE: internal/commands/inspect_image.go
  type InspectImageWriterFactory (line 15) | type InspectImageWriterFactory interface
  type InspectImageFlags (line 19) | type InspectImageFlags struct
  function InspectImage (line 24) | func InspectImage(

FILE: internal/commands/inspect_image_test.go
  function TestInspectImageCommand (line 71) | func TestInspectImageCommand(t *testing.T) {
  function testInspectImageCommand (line 77) | func testInspectImageCommand(t *testing.T, when spec.G, it spec.S) {
  function newDefaultInspectImageWriter (line 278) | func newDefaultInspectImageWriter() *fakes.FakeInspectImageWriter {
  function newImageWriterFactory (line 285) | func newImageWriterFactory(writer *fakes.FakeInspectImageWriter) *fakes....

FILE: internal/commands/list_registries.go
  function ListBuildpackRegistries (line 11) | func ListBuildpackRegistries(logger logging.Logger, cfg config.Config) *...

FILE: internal/commands/list_registries_test.go
  function TestListRegistries (line 20) | func TestListRegistries(t *testing.T) {
  function testListRegistriesCommand (line 27) | func testListRegistriesCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/list_trusted_builders.go
  function ListTrustedBuilders (line 11) | func ListTrustedBuilders(logger logging.Logger, cfg config.Config) *cobr...

FILE: internal/commands/list_trusted_builders_test.go
  function TestListTrustedBuildersCommand (line 19) | func TestListTrustedBuildersCommand(t *testing.T) {
  function testListTrustedBuildersCommand (line 25) | func testListTrustedBuildersCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/manifest.go
  function NewManifestCommand (line 9) | func NewManifestCommand(logger logging.Logger, client PackClient) *cobra...

FILE: internal/commands/manifest_add.go
  function ManifestAdd (line 11) | func ManifestAdd(logger logging.Logger, pack PackClient) *cobra.Command {

FILE: internal/commands/manifest_add_test.go
  function TestManifestAddCommand (line 20) | func TestManifestAddCommand(t *testing.T) {
  function testManifestAddCommand (line 27) | func testManifestAddCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/manifest_annotate.go
  type ManifestAnnotateFlags (line 13) | type ManifestAnnotateFlags struct
  function ManifestAnnotate (line 19) | func ManifestAnnotate(logger logging.Logger, pack PackClient) *cobra.Com...
  function validateManifestAnnotateFlags (line 50) | func validateManifestAnnotateFlags(flags ManifestAnnotateFlags) error {

FILE: internal/commands/manifest_annotate_test.go
  function TestManifestAnnotationsCommand (line 20) | func TestManifestAnnotationsCommand(t *testing.T) {
  function testManifestAnnotateCommand (line 27) | func testManifestAnnotateCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/manifest_create.go
  type ManifestCreateFlags (line 14) | type ManifestCreateFlags struct
  function ManifestCreate (line 20) | func ManifestCreate(logger logging.Logger, pack PackClient) *cobra.Comma...
  function validateCreateManifestFlags (line 62) | func validateCreateManifestFlags(flags ManifestCreateFlags) error {

FILE: internal/commands/manifest_create_test.go
  function TestManifestCreateCommand (line 21) | func TestManifestCreateCommand(t *testing.T) {
  function testManifestCreateCommand (line 28) | func testManifestCreateCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/manifest_inspect.go
  function ManifestInspect (line 12) | func ManifestInspect(logger logging.Logger, pack PackClient) *cobra.Comm...

FILE: internal/commands/manifest_inspect_test.go
  function TestManifestInspectCommand (line 19) | func TestManifestInspectCommand(t *testing.T) {
  function testManifestInspectCommand (line 26) | func testManifestInspectCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/manifest_push.go
  type ManifestPushFlags (line 13) | type ManifestPushFlags struct
  function ManifestPush (line 19) | func ManifestPush(logger logging.Logger, pack PackClient) *cobra.Command {

FILE: internal/commands/manifest_push_test.go
  function TestManifestPushCommand (line 22) | func TestManifestPushCommand(t *testing.T) {
  function testManifestPushCommand (line 29) | func testManifestPushCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/manifest_remove.go
  function ManifestDelete (line 10) | func ManifestDelete(logger logging.Logger, pack PackClient) *cobra.Comma...

FILE: internal/commands/manifest_remove_test.go
  function TestManifestDeleteCommand (line 20) | func TestManifestDeleteCommand(t *testing.T) {
  function testManifestDeleteCommand (line 27) | func testManifestDeleteCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/manifest_rm.go
  function ManifestRemove (line 10) | func ManifestRemove(logger logging.Logger, pack PackClient) *cobra.Comma...

FILE: internal/commands/manifest_rm_test.go
  function TestManifestRemoveCommand (line 20) | func TestManifestRemoveCommand(t *testing.T) {
  function testManifestRemoveCommand (line 27) | func testManifestRemoveCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/manifest_test.go
  function TestNewManifestCommand (line 19) | func TestNewManifestCommand(t *testing.T) {
  function testNewManifestCommand (line 26) | func testNewManifestCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/package_buildpack.go
  function PackageBuildpack (line 19) | func PackageBuildpack(logger logging.Logger, cfg config.Config, packager...

FILE: internal/commands/package_buildpack_test.go
  function TestPackageBuildpackCommand (line 24) | func TestPackageBuildpackCommand(t *testing.T) {
  function testPackageBuildpackCommand (line 30) | func testPackageBuildpackCommand(t *testing.T, when spec.G, it spec.S) {
  function packageBuildpackCommand (line 279) | func packageBuildpackCommand(ops ...packageCommandOption) *cobra.Command {

FILE: internal/commands/rebase.go
  function Rebase (line 16) | func Rebase(logger logging.Logger, cfg config.Config, pack PackClient) *...

FILE: internal/commands/rebase_test.go
  function TestRebaseCommand (line 24) | func TestRebaseCommand(t *testing.T) {
  function testRebaseCommand (line 31) | func testRebaseCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/register_buildpack.go
  function RegisterBuildpack (line 14) | func RegisterBuildpack(logger logging.Logger, cfg config.Config, pack Pa...

FILE: internal/commands/register_buildpack_test.go
  function TestRegisterBuildpackCommand (line 21) | func TestRegisterBuildpackCommand(t *testing.T) {
  function testRegisterBuildpackCommand (line 25) | func testRegisterBuildpackCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/remove_registry.go
  function RemoveRegistry (line 11) | func RemoveRegistry(logger logging.Logger, cfg config.Config, cfgPath st...

FILE: internal/commands/remove_registry_test.go
  function TestRemoveRegistry (line 19) | func TestRemoveRegistry(t *testing.T) {
  function testRemoveRegistryCommand (line 26) | func testRemoveRegistryCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/report.go
  function Report (line 21) | func Report(logger logging.Logger, version, cfgPath string) *cobra.Comma...
  function generateOutput (line 47) | func generateOutput(writer io.Writer, version, cfgPath string, explicit ...
  function sanitize (line 86) | func sanitize(line string) string {

FILE: internal/commands/report_test.go
  function TestReport (line 19) | func TestReport(t *testing.T) {
  function testReportCommand (line 23) | func testReportCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/sbom.go
  function NewSBOMCommand (line 10) | func NewSBOMCommand(logger logging.Logger, cfg config.Config, client Pac...

FILE: internal/commands/set_default_builder.go
  function SetDefaultBuilder (line 14) | func SetDefaultBuilder(logger logging.Logger, cfg config.Config, cfgPath...

FILE: internal/commands/set_default_builder_test.go
  function TestSetDefaultBuilderCommand (line 24) | func TestSetDefaultBuilderCommand(t *testing.T) {
  function testSetDefaultBuilderCommand (line 30) | func testSetDefaultBuilderCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/set_default_registry.go
  function SetDefaultRegistry (line 13) | func SetDefaultRegistry(logger logging.Logger, cfg config.Config, cfgPat...

FILE: internal/commands/set_default_registry_test.go
  function TestSetDefaultRegistry (line 19) | func TestSetDefaultRegistry(t *testing.T) {
  function testSetDefaultRegistryCommand (line 26) | func testSetDefaultRegistryCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/set_run_image_mirrors.go
  function SetRunImagesMirrors (line 13) | func SetRunImagesMirrors(logger logging.Logger, cfg config.Config, cfgPa...

FILE: internal/commands/set_run_image_mirrors_test.go
  function TestSetRunImageMirrorsCommand (line 19) | func TestSetRunImageMirrorsCommand(t *testing.T) {
  function testSetRunImageMirrorsCommand (line 23) | func testSetRunImageMirrorsCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/stack.go
  function NewStackCommand (line 9) | func NewStackCommand(logger logging.Logger) *cobra.Command {

FILE: internal/commands/stack_suggest.go
  type suggestedStack (line 13) | type suggestedStack struct
  function stackSuggest (line 64) | func stackSuggest(logger logging.Logger) *cobra.Command {
  function Suggest (line 79) | func Suggest(log logging.Logger) {

FILE: internal/commands/stack_suggest_test.go
  function TestStacksSuggestCommand (line 15) | func TestStacksSuggestCommand(t *testing.T) {
  function testStacksSuggestCommand (line 19) | func testStacksSuggestCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/stack_test.go
  function TestStackCommand (line 15) | func TestStackCommand(t *testing.T) {
  function testStackCommand (line 19) | func testStackCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/suggest_builders.go
  function SuggestBuilders (line 17) | func SuggestBuilders(logger logging.Logger, inspector BuilderInspector) ...
  function suggestSettingBuilder (line 33) | func suggestSettingBuilder(logger logging.Logger, inspector BuilderInspe...
  function suggestBuilders (line 41) | func suggestBuilders(logger logging.Logger, client BuilderInspector) {
  function WriteSuggestedBuilder (line 51) | func WriteSuggestedBuilder(logger logging.Logger, inspector BuilderInspe...
  function getBuilderDescription (line 87) | func getBuilderDescription(builder bldr.KnownBuilder, inspector BuilderI...

FILE: internal/commands/suggest_builders_test.go
  function TestSuggestBuildersCommand (line 21) | func TestSuggestBuildersCommand(t *testing.T) {
  function testSuggestBuildersCommand (line 27) | func testSuggestBuildersCommand(t *testing.T, when spec.G, it spec.S) {

FILE: internal/commands/testmocks/mock_inspect_image_writer_factory.go
  type MockInspectImageWriterFactory (line 16) | type MockInspectImageWriterFactory struct
    method EXPECT (line 34) | func (m *MockInspectImageWriterFactory) EXPECT() *MockInspectImageWrit...
    method Writer (line 39) | func (m *MockInspectImageWriterFactory) Writer(arg0 string, arg1 bool)...
  type MockInspectImageWriterFactoryMockRecorder (line 22) | type MockInspectImageWriterFactoryMockRecorder struct
    method Writer (line 48) | func (mr *MockInspectImageWriterFactoryMockRecorder) Writer(arg0, arg1...
  function NewMockInspectImageWriterFactory (line 27) | func NewMockInspectImageWriterFactory(ctrl *gomock.Controller) *MockInsp...

FILE: internal/commands/testmocks/mock_pack_client.go
  type MockPackClient (line 17) | type MockPackClient struct
    method EXPECT (line 35) | func (m *MockPackClient) EXPECT() *MockPackClientMockRecorder {
    method AddManifest (line 40) | func (m *MockPackClient) AddManifest(arg0 context.Context, arg1 client...
    method AnnotateManifest (line 54) | func (m *MockPackClient) AnnotateManifest(arg0 context.Context, arg1 c...
    method Build (line 68) | func (m *MockPackClient) Build(arg0 context.Context, arg1 client.Build...
    method CreateBuilder (line 82) | func (m *MockPackClient) CreateBuilder(arg0 context.Context, arg1 clie...
    method CreateManifest (line 96) | func (m *MockPackClient) CreateManifest(arg0 context.Context, arg1 cli...
    method DeleteManifest (line 110) | func (m *MockPackClient) DeleteManifest(arg0 []string) error {
    method DownloadSBOM (line 124) | func (m *MockPackClient) DownloadSBOM(arg0 string, arg1 client.Downloa...
    method InspectBuilder (line 138) | func (m *MockPackClient) InspectBuilder(arg0 string, arg1 bool, arg2 ....
    method InspectBuildpack (line 158) | func (m *MockPackClient) InspectBuildpack(arg0 client.InspectBuildpack...
    method InspectExtension (line 173) | func (m *MockPackClient) InspectExtension(arg0 client.InspectExtension...
    method InspectImage (line 188) | func (m *MockPackClient) InspectImage(arg0 string, arg1 bool) (*client...
    method InspectManifest (line 203) | func (m *MockPackClient) InspectManifest(arg0 string) error {
    method NewBuildpack (line 217) | func (m *MockPackClient) NewBuildpack(arg0 context.Context, arg1 clien...
    method PackageBuildpack (line 231) | func (m *MockPackClient) PackageBuildpack(arg0 context.Context, arg1 c...
    method PackageExtension (line 245) | func (m *MockPackClient) PackageExtension(arg0 context.Context, arg1 c...
    method PullBuildpack (line 259) | func (m *MockPackClient) PullBuildpack(arg0 context.Context, arg1 clie...
    method PushManifest (line 273) | func (m *MockPackClient) PushManifest(arg0 client.PushManifestOptions)...
    method Rebase (line 287) | func (m *MockPackClient) Rebase(arg0 context.Context, arg1 client.Reba...
    method RegisterBuildpack (line 301) | func (m *MockPackClient) RegisterBuildpack(arg0 context.Context, arg1 ...
    method RemoveManifest (line 315) | func (m *MockPackClient) RemoveManifest(arg0 string, arg1 []string) er...
    method YankBuildpack (line 329) | func (m *MockPackClient) YankBuildpack(arg0 client.YankBuildpackOption...
  type MockPackClientMockRecorder (line 23) | type MockPackClientMockRecorder struct
    method AddManifest (line 48) | func (mr *MockPackClientMockRecorder) AddManifest(arg0, arg1 interface...
    method AnnotateManifest (line 62) | func (mr *MockPackClientMockRecorder) AnnotateManifest(arg0, arg1 inte...
    method Build (line 76) | func (mr *MockPackClientMockRecorder) Build(arg0, arg1 interface{}) *g...
    method CreateBuilder (line 90) | func (mr *MockPackClientMockRecorder) CreateBuilder(arg0, arg1 interfa...
    method CreateManifest (line 104) | func (mr *MockPackClientMockRecorder) CreateManifest(arg0, arg1 interf...
    method DeleteManifest (line 118) | func (mr *MockPackClientMockRecorder) DeleteManifest(arg0 interface{})...
    method DownloadSBOM (line 132) | func (mr *MockPackClientMockRecorder) DownloadSBOM(arg0, arg1 interfac...
    method InspectBuilder (line 151) | func (mr *MockPackClientMockRecorder) InspectBuilder(arg0, arg1 interf...
    method InspectBuildpack (line 167) | func (mr *MockPackClientMockRecorder) InspectBuildpack(arg0 interface{...
    method InspectExtension (line 182) | func (mr *MockPackClientMockRecorder) InspectExtension(arg0 interface{...
    method InspectImage (line 197) | func (mr *MockPackClientMockRecorder) InspectImage(arg0, arg1 interfac...
    method InspectManifest (line 211) | func (mr *MockPackClientMockRecorder) InspectManifest(arg0 interface{}...
    method NewBuildpack (line 225) | func (mr *MockPackClientMockRecorder) NewBuildpack(arg0, arg1 interfac...
    method P
Condensed preview — 888 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,688K chars).
[
  {
    "path": ".github/ISSUE_TEMPLATE/bug.md",
    "chars": 555,
    "preview": "---\nname: Bug\nabout: Bug report\ntitle: ''\nlabels: status/triage, type/bug\nassignees: ''\n\n---\n### Summary\n<!--- Please pr"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/chore.md",
    "chars": 480,
    "preview": "---\nname: Chore\nabout: Suggest a chore that will help contributors and doesn't affect end users.\ntitle: ''\nlabels: type/"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 132,
    "preview": "contact_links:\n  - name: Questions\n    url: https://github.com/buildpacks/community/discussions\n    about: Have a genera"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature.md",
    "chars": 783,
    "preview": "---\nname: Feature request\nabout: Suggest a new feature or an improvement to existing functionality\ntitle: ''\nlabels: typ"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 596,
    "preview": "version: 2\nupdates:\n  # Set update schedule for gomod\n  - package-ecosystem: \"gomod\"\n    directory: \"/\"\n    schedule:\n  "
  },
  {
    "path": ".github/labeler.yml",
    "chars": 206,
    "preview": "# Rules defined here: https://github.com/actions/labeler\ntype/chore:\n  - '*.md'\n  - '**/*.yml'\n  - 'acceptance/**/*'\n  -"
  },
  {
    "path": ".github/pull_request_template.md",
    "chars": 574,
    "preview": "## Summary\n<!-- Provide a high-level summary of the change. -->\n\n## Output\n<!-- If applicable, please provide examples o"
  },
  {
    "path": ".github/release-notes.yml",
    "chars": 744,
    "preview": "labels:\n  breaking-change:\n    title: Breaking Changes\n    description: Changes that may require a little bit of thought"
  },
  {
    "path": ".github/workflows/actions/release-notes/.gitignore",
    "chars": 26,
    "preview": "node_modules/\nchangelog.md"
  },
  {
    "path": ".github/workflows/actions/release-notes/README.md",
    "chars": 1400,
    "preview": "## Changelog\n\nA simple script that generates the changelog for pack based on a pack version (aka milestone).\n\n### Usage\n"
  },
  {
    "path": ".github/workflows/actions/release-notes/action.js",
    "chars": 799,
    "preview": "/*\n * This file is the main entrypoint for GitHub Actions (see action.yml)\n */\n\nconst core = require('@actions/core');\nc"
  },
  {
    "path": ".github/workflows/actions/release-notes/action.yml",
    "chars": 555,
    "preview": "name: 'Release Notes'\ndescription: 'Generate release notes based on pull requests in a milestone.'\ninputs:\n  github-toke"
  },
  {
    "path": ".github/workflows/actions/release-notes/dist/index.js",
    "chars": 861097,
    "preview": "module.exports =\n/******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 4582:\n/***/ ((__unu"
  },
  {
    "path": ".github/workflows/actions/release-notes/local.js",
    "chars": 882,
    "preview": "/*\n * This file is the main entry for local development and manual testing.\n */\n\nconst path = require('path');\nconst rel"
  },
  {
    "path": ".github/workflows/actions/release-notes/package.json",
    "chars": 347,
    "preview": "{\n  \"name\": \"release-notes\",\n  \"version\": \"1.0.0\",\n  \"scripts\": {\n    \"local\": \"node local.js\",\n    \"build\": \"ncc build "
  },
  {
    "path": ".github/workflows/actions/release-notes/release-notes.js",
    "chars": 2885,
    "preview": "const {promises: fs} = require('fs');\nconst YAML = require('yaml');\n\nmodule.exports = async (github, repository, milesto"
  },
  {
    "path": ".github/workflows/benchmark.yml",
    "chars": 1359,
    "preview": "name: benchmark\non:\n  push:\n    branches:\n      - main\n\npermissions:\n  contents: write\n  deployments: write\n\njobs:\n  ben"
  },
  {
    "path": ".github/workflows/build.yml",
    "chars": 14697,
    "preview": "name: build\n\non:\n  push:\n    branches:\n      - main\n      - 'release/**'\n  pull_request:\n    paths-ignore:\n      - '**.m"
  },
  {
    "path": ".github/workflows/check-latest-release.yml",
    "chars": 4079,
    "preview": "name: Check latest pack release\n\non:\n  schedule:\n    - cron: 0 2 * * 1,4\n  workflow_dispatch: {}\n\njobs:\n  check-release:"
  },
  {
    "path": ".github/workflows/codeql-analysis.yml",
    "chars": 2217,
    "preview": "# For most projects, this workflow file will not need changing; you simply need\n# to commit it to your repository.\n#\n# Y"
  },
  {
    "path": ".github/workflows/compatibility.yml",
    "chars": 1860,
    "preview": "name: compatibility\n\non:\n  push:\n    paths-ignore:\n      - '**.md'\n      - 'resources/**'\n      - 'CODEOWNERS'\n      - '"
  },
  {
    "path": ".github/workflows/delivery/archlinux/README.md",
    "chars": 1226,
    "preview": "# Arch Linux\n\nThere are two maintained packages by us and one official archlinux package:\n\n- [pack-cli](https://archlinu"
  },
  {
    "path": ".github/workflows/delivery/archlinux/pack-cli-bin/PKGBUILD",
    "chars": 524,
    "preview": "# Maintainer: Michael William Le Nguyen <michael at mail dot ttp dot codes>\n# Maintainer: Buildpacks Maintainers <cncf-b"
  },
  {
    "path": ".github/workflows/delivery/archlinux/pack-cli-git/PKGBUILD",
    "chars": 791,
    "preview": "# Maintainer: Michael William Le Nguyen <michael at mail dot ttp dot codes>\n# Maintainer: Buildpacks Maintainers <cncf-b"
  },
  {
    "path": ".github/workflows/delivery/archlinux/publish-package.sh",
    "chars": 1555,
    "preview": "#!/usr/bin/env bash\nset -e\nset -u\n\n# ensure variable is set\n: \"$PACK_VERSION\"\n: \"$PACKAGE_NAME\"\n: \"$AUR_KEY\"\n: \"$GITHUB_"
  },
  {
    "path": ".github/workflows/delivery/archlinux/test-install-package.sh",
    "chars": 795,
    "preview": "#!/usr/bin/env bash\nset -e\nset -u\n\n# ensure variable is set\n: \"$PACKAGE_NAME\"\n: \"$GITHUB_WORKSPACE\"\n\n# setup non-root us"
  },
  {
    "path": ".github/workflows/delivery/chocolatey/pack.nuspec",
    "chars": 2441,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Do not remove this test for UTF-8: if “Ω” doesn’t appear as greek uppercase "
  },
  {
    "path": ".github/workflows/delivery/chocolatey/tools/VERIFICATION.txt",
    "chars": 241,
    "preview": "\nVERIFICATION\nVerification is intended to assist the Chocolatey moderators and community\nin verifying that this package'"
  },
  {
    "path": ".github/workflows/delivery/homebrew/pack.rb",
    "chars": 723,
    "preview": "###\n# This file is autogenerated from https://github.com/buildpacks/pack/tree/main/.github/workflows/delivery/homebrew/\n"
  },
  {
    "path": ".github/workflows/delivery/ubuntu/1_dependencies.sh",
    "chars": 422,
    "preview": "function dependencies() {\n    : \"$GO_DEP_PACKAGE_NAME\"\n\n    echo \"> Installing dev tools...\"\n    apt-get update\n    apt-"
  },
  {
    "path": ".github/workflows/delivery/ubuntu/2_create-ppa.sh",
    "chars": 1625,
    "preview": "function create_ppa() {\n  # verify the following are set.\n  : \"$GPG_PUBLIC_KEY\"\n  : \"$GPG_PRIVATE_KEY\"\n  : \"$PACKAGE_VER"
  },
  {
    "path": ".github/workflows/delivery/ubuntu/3_test-ppa.sh",
    "chars": 509,
    "preview": "function test_ppa {\n    : \"$GITHUB_WORKSPACE\"\n\n    echo \"> Creating a test directory...\"\n    testdir=\"$(mktemp -d)\"\n\n   "
  },
  {
    "path": ".github/workflows/delivery/ubuntu/4_upload-ppa.sh",
    "chars": 108,
    "preview": "function upload_ppa {\n    echo \"> Uploading PPA...\"\n    dput \"ppa:cncf-buildpacks/pack-cli\" ./../*.changes\n}"
  },
  {
    "path": ".github/workflows/delivery/ubuntu/debian/README",
    "chars": 331,
    "preview": "The Debian Package {{PACKAGE_NAME}}\n----------------------------\n\nCLI for building apps using Cloud Native Buildpacks.\n\n"
  },
  {
    "path": ".github/workflows/delivery/ubuntu/debian/changelog",
    "chars": 261,
    "preview": "{{PACKAGE_NAME}} ({{PACK_VERSION}}-0ubuntu1~{{UBUNTU_VERSION}}) {{UBUNTU_VERSION}}; urgency=medium\n\n  * For complete cha"
  },
  {
    "path": ".github/workflows/delivery/ubuntu/debian/compat",
    "chars": 2,
    "preview": "11"
  },
  {
    "path": ".github/workflows/delivery/ubuntu/debian/control",
    "chars": 375,
    "preview": "Source: {{PACKAGE_NAME}}\nSection: utils\nPriority: optional\nMaintainer: {{MAINTAINER_NAME}} <{{MAINTAINER_EMAIL}}>\nBuild-"
  },
  {
    "path": ".github/workflows/delivery/ubuntu/debian/copyright",
    "chars": 922,
    "preview": "Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\nUpstream-Name: {{PACKAGE_NAME}}\n\nFiles: *\n\nLi"
  },
  {
    "path": ".github/workflows/delivery/ubuntu/debian/rules",
    "chars": 422,
    "preview": "#!/usr/bin/make -f\n# See debhelper(7) (uncomment to enable)\n# output every command that modifies files on the build syst"
  },
  {
    "path": ".github/workflows/delivery/ubuntu/deliver.sh",
    "chars": 800,
    "preview": "#!/usr/bin/env bash\n\nset -e\nset -o pipefail\n\nreadonly SCRIPT_DIR=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")\" && pwd)\"\n\necho \""
  },
  {
    "path": ".github/workflows/delivery-archlinux-git.yml",
    "chars": 1895,
    "preview": "name: delivery / archlinux / git\n\non:\n#  push:\n#    branches:\n#      - main\n  workflow_dispatch:\n\njobs:\n  pack-cli-git:\n"
  },
  {
    "path": ".github/workflows/delivery-archlinux.yml",
    "chars": 3144,
    "preview": "name: delivery / archlinux\n\non:\n  release:\n    types:\n      - released\n  workflow_dispatch:\n    inputs:\n      tag_name:\n"
  },
  {
    "path": ".github/workflows/delivery-chocolatey.yml",
    "chars": 2713,
    "preview": "name: delivery / chocolatey\n\non:\n  release:\n    types:\n      - released\n  workflow_dispatch:\n    inputs:\n      tag_name:"
  },
  {
    "path": ".github/workflows/delivery-docker.yml",
    "chars": 2788,
    "preview": "name: delivery / docker\n\non:\n  release:\n    types:\n      - released\n  workflow_dispatch:\n    inputs:\n      tag_name:\n   "
  },
  {
    "path": ".github/workflows/delivery-homebrew.yml",
    "chars": 4671,
    "preview": "name: delivery / homebrew\n\non:\n  release:\n    types:\n      - released\n  workflow_dispatch:\n    inputs:\n      tag_name:\n "
  },
  {
    "path": ".github/workflows/delivery-release-dispatch.yml",
    "chars": 511,
    "preview": "name: delivery / release-dispatch\n\non:\n  release:\n    types:\n      - released\n\njobs:\n  send-release-dispatch:\n    runs-o"
  },
  {
    "path": ".github/workflows/delivery-ubuntu.yml",
    "chars": 4128,
    "preview": "name: delivery / ubuntu\n\non:\n  release:\n    types:\n      - released\n  workflow_dispatch:\n    inputs:\n      tag_name:\n   "
  },
  {
    "path": ".github/workflows/privileged-pr-process.yml",
    "chars": 1471,
    "preview": "name: \"Process Pull Request\"\n# NOTE: This workflow is privileged, and shouldn't be used to checkout the repo or run any "
  },
  {
    "path": ".github/workflows/release-merge.yml",
    "chars": 1052,
    "preview": "# Merges changes to release branches back into main.\nname: release-merge\n\non:\n  push:\n    branches:\n      - 'release/**'"
  },
  {
    "path": ".github/workflows/scripts/generate-release-event.sh",
    "chars": 2139,
    "preview": "#!/usr/bin/env bash\nset -e\n\n: ${GITHUB_TOKEN?\"Need to set GITHUB_TOKEN env var.\"}\n\nusage() {\n  echo \"Usage: \"\n  echo \"  "
  },
  {
    "path": ".github/workflows/scripts/generate-workflow_dispatch-event.sh",
    "chars": 514,
    "preview": "#!/usr/bin/env bash\nset -e\n\nusage() {\n  echo \"Usage: \"\n  echo \"  $0 <input-json>\"\n  echo\n  echo \"    <input-json> inputs"
  },
  {
    "path": ".github/workflows/scripts/test-job.sh",
    "chars": 1048,
    "preview": "#!/usr/bin/env bash\nset -e\n\n: ${GITHUB_TOKEN?\"Need to set GITHUB_TOKEN env var.\"}\n\nusage() {\n  echo \"Usage: \"\n  echo \"  "
  },
  {
    "path": ".gitignore",
    "chars": 149,
    "preview": ".pack/\n/pack\nout/\nbenchmarks.test\n*.out\n\n# Jetbrains Goland\n.idea/\n\n# Build outputs\nartifacts/\n.DS_Store\n\n# Travis unenc"
  },
  {
    "path": ".gitpod.yml",
    "chars": 307,
    "preview": "\ntasks:\n  - name: Setup\n    before: chmod ugo+w /var/run/docker.sock\n    init: make build\n    command: chmod ugo+w /var/"
  },
  {
    "path": "CODEOWNERS",
    "chars": 51,
    "preview": "* @buildpacks/platform-maintainers @buildpacks/toc\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 3239,
    "preview": "We're glad you are interested in contributing to this project. We hope that this\ndocument helps you get started.\n\n## Pol"
  },
  {
    "path": "DEVELOPMENT.md",
    "chars": 7265,
    "preview": "# Development\n\n## Prerequisites\n\n* [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n    * macOS: _(b"
  },
  {
    "path": "Dockerfile",
    "chars": 265,
    "preview": "ARG base_image=gcr.io/distroless/static\n\nFROM golang:1.25 as builder\nARG pack_version\nENV PACK_VERSION=$pack_version\nWOR"
  },
  {
    "path": "LICENSE",
    "chars": 11365,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "Makefile",
    "chars": 6421,
    "preview": "ifeq ($(OS),Windows_NT)\nSHELL:=cmd.exe\n\n# Need BLANK due to makefile parsing of `\\`\n# (see: https://stackoverflow.com/qu"
  },
  {
    "path": "README.md",
    "chars": 2651,
    "preview": "# pack - Buildpack CLI\n\n[![Build results](https://github.com/buildpacks/pack/workflows/build/badge.svg)](https://github."
  },
  {
    "path": "RELEASE.md",
    "chars": 3641,
    "preview": "# Release Process\n\nPack follows a 6 week release cadence, composed of 3 phases:\n  - [Development](#development)\n  - [Fea"
  },
  {
    "path": "acceptance/acceptance_test.go",
    "chars": 152225,
    "preview": "//go:build acceptance\n\npackage acceptance\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"crypto/sha256\"\n\t\"encoding/hex\"\n\t\"encoding/json"
  },
  {
    "path": "acceptance/assertions/image.go",
    "chars": 4546,
    "preview": "//go:build acceptance\n\npackage assertions\n\nimport (\n\t\"fmt\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/buildpacks/pack/acceptance/m"
  },
  {
    "path": "acceptance/assertions/lifecycle_output.go",
    "chars": 3044,
    "preview": "//go:build acceptance\n\npackage assertions\n\nimport (\n\t\"fmt\"\n\t\"regexp\"\n\t\"strings\"\n\t\"testing\"\n\n\th \"github.com/buildpacks/pa"
  },
  {
    "path": "acceptance/assertions/output.go",
    "chars": 8180,
    "preview": "//go:build acceptance\n\npackage assertions\n\nimport (\n\t\"fmt\"\n\t\"regexp\"\n\t\"strings\"\n\t\"testing\"\n\n\th \"github.com/buildpacks/pa"
  },
  {
    "path": "acceptance/assertions/test_buildpack_output.go",
    "chars": 1597,
    "preview": "//go:build acceptance\n\npackage assertions\n\nimport (\n\t\"testing\"\n\n\th \"github.com/buildpacks/pack/testhelpers\"\n)\n\ntype Test"
  },
  {
    "path": "acceptance/buildpacks/archive_buildpack.go",
    "chars": 2832,
    "preview": "//go:build acceptance\n\npackage buildpacks\n\nimport (\n\t\"archive/tar\"\n\t\"compress/gzip\"\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\n\t\"git"
  },
  {
    "path": "acceptance/buildpacks/folder_buildpack.go",
    "chars": 1560,
    "preview": "//go:build acceptance\n\npackage buildpacks\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\n\th \"github.com/buildpacks/pack/testhe"
  },
  {
    "path": "acceptance/buildpacks/manager.go",
    "chars": 1295,
    "preview": "//go:build acceptance\n\npackage buildpacks\n\nimport (\n\t\"path/filepath\"\n\t\"testing\"\n\n\t\"github.com/buildpacks/pack/testhelper"
  },
  {
    "path": "acceptance/buildpacks/package_file_buildpack.go",
    "chars": 1897,
    "preview": "//go:build acceptance\n\npackage buildpacks\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"testing\"\n\n\t\"git"
  },
  {
    "path": "acceptance/buildpacks/package_image_buildpack.go",
    "chars": 2131,
    "preview": "//go:build acceptance\n\npackage buildpacks\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"testing\"\n\n\t\"github.com/buildpacks/pa"
  },
  {
    "path": "acceptance/config/asset_manager.go",
    "chars": 11383,
    "preview": "//go:build acceptance\n\npackage config\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path/filepath\"\n\t\"regexp\"\n\t\"testing\"\n\n\tacceptan"
  },
  {
    "path": "acceptance/config/github_asset_fetcher.go",
    "chars": 13570,
    "preview": "//go:build acceptance\n\npackage config\n\nimport (\n\t\"archive/tar\"\n\t\"archive/zip\"\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t"
  },
  {
    "path": "acceptance/config/input_configuration_manager.go",
    "chars": 3205,
    "preview": "//go:build acceptance\n\npackage config\n\nimport (\n\t\"encoding/json\"\n\t\"os\"\n\t\"os/user\"\n\t\"path/filepath\"\n\t\"strings\"\n\n\t\"github."
  },
  {
    "path": "acceptance/config/lifecycle_asset.go",
    "chars": 6131,
    "preview": "//go:build acceptance\n\npackage config\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\n\t\"github.com/Masterminds/semver\"\n\t\"github.com/buildpa"
  },
  {
    "path": "acceptance/config/pack_assets.go",
    "chars": 408,
    "preview": "//go:build acceptance\n\npackage config\n\ntype PackAsset struct {\n\tpath         string\n\tfixturePaths []string\n}\n\nfunc (a As"
  },
  {
    "path": "acceptance/config/run_combination.go",
    "chars": 4083,
    "preview": "//go:build acceptance\n\npackage config\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pkg/errors\"\n\n\t\"github.com/buildpac"
  },
  {
    "path": "acceptance/invoke/pack.go",
    "chars": 8022,
    "preview": "//go:build acceptance\n\npackage invoke\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path/filepath\"\n\t\"regexp\"\n\t\"strings\"\n\t"
  },
  {
    "path": "acceptance/invoke/pack_fixtures.go",
    "chars": 2762,
    "preview": "//go:build acceptance\n\npackage invoke\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"testing\"\n\t\"tex"
  },
  {
    "path": "acceptance/managers/image_manager.go",
    "chars": 4812,
    "preview": "//go:build acceptance\n\npackage managers\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"fmt\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/moby/moby/"
  },
  {
    "path": "acceptance/os/variables.go",
    "chars": 126,
    "preview": "//go:build acceptance && !windows\n\npackage os\n\nimport \"os\"\n\nconst PackBinaryName = \"pack\"\n\nvar InterruptSignal = os.Inte"
  },
  {
    "path": "acceptance/os/variables_darwin.go",
    "chars": 139,
    "preview": "//go:build acceptance && darwin && amd64\n\npackage os\n\nimport \"regexp\"\n\nvar PackBinaryExp = regexp.MustCompile(`pack-v\\d+"
  },
  {
    "path": "acceptance/os/variables_darwin_arm64.go",
    "chars": 138,
    "preview": "//go:build acceptance && darwin && arm64\n\npackage os\n\nimport \"regexp\"\n\nvar PackBinaryExp = regexp.MustCompile(`pack-v\\d+"
  },
  {
    "path": "acceptance/os/variables_linux.go",
    "chars": 129,
    "preview": "//go:build acceptance && linux\n\npackage os\n\nimport \"regexp\"\n\nvar PackBinaryExp = regexp.MustCompile(`pack-v\\d+.\\d+.\\d+-l"
  },
  {
    "path": "acceptance/os/variables_windows.go",
    "chars": 211,
    "preview": "//go:build acceptance && windows\n\npackage os\n\nimport (\n\t\"os\"\n\t\"regexp\"\n)\n\nconst PackBinaryName = \"pack.exe\"\n\nvar (\n\tPack"
  },
  {
    "path": "acceptance/suite_manager.go",
    "chars": 1207,
    "preview": "//go:build acceptance\n\npackage acceptance\n\ntype SuiteManager struct {\n\tout          func(format string, args ...interfac"
  },
  {
    "path": "acceptance/testconfig/all.json",
    "chars": 413,
    "preview": "[\n  {\"pack\": \"current\", \"pack_create_builder\": \"current\", \"lifecycle\": \"current\"},\n  {\"pack\": \"current\", \"pack_create_bu"
  },
  {
    "path": "acceptance/testdata/mock_app/project.toml",
    "chars": 82,
    "preview": "[project]\n  version = \"1.0.2\"\n  source-url = \"https://github.com/buildpacks/pack\"\n"
  },
  {
    "path": "acceptance/testdata/mock_app/run",
    "chars": 213,
    "preview": "#!/usr/bin/env bash\n\nset -x\n\nport=\"${1-8080}\"\n\necho \"listening on port $port\"\n\nresp=$(echo \"HTTP/1.1 200 OK\\n\" && cat \"$"
  },
  {
    "path": "acceptance/testdata/mock_app/run.bat",
    "chars": 125,
    "preview": "@echo off\n\nset port=8080\nif [%1] neq [] set port=%1\n\nC:\\util\\server.exe -p %port% -g \"%cd%\\*-deps\\*-dep, c:\\contents*.tx"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/descriptor-buildpack/bin/build",
    "chars": 135,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Build: Descriptor Buildpack\"\n\nset -o errexit\nset -o nounset\nset -o pipefail\n\nls -laR\n\nec"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/descriptor-buildpack/bin/build.bat",
    "chars": 73,
    "preview": "@echo off\n\necho ---- Build: Descriptor Buildpack\n\ndir /s\n\necho ---- Done\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/descriptor-buildpack/bin/detect",
    "chars": 127,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Detect: Descriptor Buildpack\"\n\nset -o errexit\nset -o nounset\nset -o pipefail\n\necho \"--->"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/descriptor-buildpack/bin/detect.bat",
    "chars": 66,
    "preview": "@echo off\n\necho ---- Detect: Descriptor Buildpack\n\necho ---- Done\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/descriptor-buildpack/buildpack.toml",
    "chars": 153,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"descriptor/bp\"\n  version = \"descriptor-bp-version\"\n  name = \"Descriptor Buildpack\"\n\n[[s"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/internet-capable-buildpack/bin/build",
    "chars": 271,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Build: Internet Capable Buildpack\"\n\nset -o errexit\nset -o nounset\nset -o pipefail\n\n\nif n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/internet-capable-buildpack/bin/build.bat",
    "chars": 216,
    "preview": "@echo off\n\necho ---- Build: Internet capable buildpack\n\nping -n 1 google.com\n\nif %ERRORLEVEL% equ 0 (\n  echo RESULT: Con"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/internet-capable-buildpack/bin/detect",
    "chars": 264,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Internet capable buildpack\"\n\nset -o errexit\nset -o nounset\nset -o pipefail\n\n\nif netcat -"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/internet-capable-buildpack/bin/detect.bat",
    "chars": 217,
    "preview": "@echo off\n\necho ---- Detect: Internet capable buildpack\n\nping -n 1 google.com\n\nif %ERRORLEVEL% equ 0 (\n  echo RESULT: Co"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/internet-capable-buildpack/buildpack.toml",
    "chars": 155,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"internet/bp\"\n  version = \"internet-bp-version\"\n  name = \"Internet Capable Buildpack\"\n\n["
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/meta-buildpack/buildpack.toml",
    "chars": 201,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"local/meta-bp\"\n  version = \"local-meta-bp-version\"\n  name = \"Local Meta-Buildpack\"\n\n[[o"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/meta-buildpack/package.toml",
    "chars": 76,
    "preview": "[buildpack]\nuri = \".\"\n\n[[dependencies]]\nuri = \"../meta-buildpack-dependency\""
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/meta-buildpack-dependency/bin/build",
    "chars": 72,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Build: Local Meta-Buildpack Dependency\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/meta-buildpack-dependency/bin/build.bat",
    "chars": 60,
    "preview": "@echo off\n\necho ---- Build: Local Meta-Buildpack Dependency\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/meta-buildpack-dependency/bin/detect",
    "chars": 38,
    "preview": "#!/usr/bin/env bash\n\n## always detect\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/meta-buildpack-dependency/bin/detect.bat",
    "chars": 27,
    "preview": "@echo off\n:: always detect\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/meta-buildpack-dependency/buildpack.toml",
    "chars": 167,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"local/meta-bp-dep\"\n  version = \"local-meta-bp-version\"\n  name = \"Local Meta-Buildpack D"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/multi-platform-buildpack/buildpack.toml",
    "chars": 268,
    "preview": "api = \"0.10\"\n\n[buildpack]\n  id = \"simple/layers\"\n  version = \"simple-layers-version\"\n  name = \"Simple Layers Buildpack\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/multi-platform-buildpack/linux/amd64/bin/build",
    "chars": 55,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Build: NOOP Buildpack\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/multi-platform-buildpack/linux/amd64/bin/detect",
    "chars": 37,
    "preview": "#!/usr/bin/env bash\n\n## always detect"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/multi-platform-buildpack/windows/amd64/bin/build.bat",
    "chars": 43,
    "preview": "@echo off\n\necho ---- Build: NOOP Buildpack\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/multi-platform-buildpack/windows/amd64/bin/detect.bat",
    "chars": 27,
    "preview": "@echo off\n:: always detect\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/nested-level-1-buildpack/buildpack.toml",
    "chars": 222,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"simple/nested-level-1\"\n  version = \"nested-l1-version\"\n  name = \"Nested Level One Build"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/nested-level-2-buildpack/buildpack.toml",
    "chars": 217,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"simple/nested-level-2\"\n  version = \"nested-l2-version\"\n  name = \"Nested Level Two Build"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/noop-buildpack/bin/build",
    "chars": 55,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Build: NOOP Buildpack\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/noop-buildpack/bin/build.bat",
    "chars": 43,
    "preview": "@echo off\n\necho ---- Build: NOOP Buildpack\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/noop-buildpack/bin/detect",
    "chars": 37,
    "preview": "#!/usr/bin/env bash\n\n## always detect"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/noop-buildpack/bin/detect.bat",
    "chars": 27,
    "preview": "@echo off\n:: always detect\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/noop-buildpack/buildpack.toml",
    "chars": 148,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"noop.buildpack\"\n  version = \"noop.buildpack.version\"\n  name = \"NOOP Buildpack\"\n\n[[stack"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/noop-buildpack-2/bin/build",
    "chars": 71,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Build: NOOP Buildpack (later version)\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/noop-buildpack-2/bin/detect",
    "chars": 37,
    "preview": "#!/usr/bin/env bash\n\n## always detect"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/noop-buildpack-2/buildpack.toml",
    "chars": 199,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"noop.buildpack\"\n  version = \"noop.buildpack.later-version\"\n  name = \"NOOP Buildpack\"\n  "
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/not-in-builder-buildpack/bin/build",
    "chars": 56,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Build: Local Buildpack\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/not-in-builder-buildpack/bin/build.bat",
    "chars": 44,
    "preview": "@echo off\n\necho ---- Build: Local Buildpack\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/not-in-builder-buildpack/bin/detect",
    "chars": 38,
    "preview": "#!/usr/bin/env bash\n\n## always detect\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/not-in-builder-buildpack/bin/detect.bat",
    "chars": 27,
    "preview": "@echo off\n:: always detect\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/not-in-builder-buildpack/buildpack.toml",
    "chars": 137,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"local/bp\"\n  version = \"local-bp-version\"\n  name = \"Local Buildpack\"\n\n[[stacks]]\n  id = "
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/other-stack-buildpack/bin/build",
    "chars": 62,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Build: Other Stack Buildpack\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/other-stack-buildpack/bin/build.bat",
    "chars": 50,
    "preview": "@echo off\n\necho ---- Build: Other Stack Buildpack\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/other-stack-buildpack/bin/detect",
    "chars": 37,
    "preview": "#!/usr/bin/env bash\n\n## always detect"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/other-stack-buildpack/bin/detect.bat",
    "chars": 27,
    "preview": "@echo off\n:: always detect\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/other-stack-buildpack/buildpack.toml",
    "chars": 148,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"other/stack/bp\"\n  version = \"other-stack-version\"\n  name = \"Other Stack Buildpack\"\n\n[[s"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-env-buildpack/bin/build",
    "chars": 1075,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Build: Read Env Buildpack\"\n\nset -o errexit\nset -o nounset\nset -o pipefail\n\nlaunch_dir=$1"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-env-buildpack/bin/build.bat",
    "chars": 976,
    "preview": "@echo off\nsetlocal EnableDelayedExpansion\n\nset launch_dir=%1\nset platform_dir=%2\n\n:: makes a launch layer\nif exist %plat"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-env-buildpack/bin/detect",
    "chars": 179,
    "preview": "#!/usr/bin/env bash\n\necho \"---> DETECT: Printenv buildpack\"\n\nset -o errexit\nset -o pipefail\n\nplatform_dir=$1\n\nif [[ ! -f"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-env-buildpack/bin/detect.bat",
    "chars": 133,
    "preview": "@echo off\n\necho DETECT: Printenv buildpack\n\nset platform_dir=%1\n\nif not exist %platform_dir%\\env\\DETECT_ENV_BUILDPACK (\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-env-buildpack/buildpack.toml",
    "chars": 140,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"read/env\"\n  version = \"read-env-version\"\n  name = \"Read Env Buildpack\"\n\n[[stacks]]\n  id"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-env-extension/bin/detect",
    "chars": 60,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Detect: Read Env Extension\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-env-extension/bin/generate",
    "chars": 830,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Generate: Read Env Extension\"\n\n# 1. Get args\noutput_dir=$CNB_OUTPUT_DIR\n\n# 2. Generate b"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-env-extension/extension.toml",
    "chars": 104,
    "preview": "api = \"0.9\"\n\n[extension]\n  id = \"read/env\"\n  version = \"read-env-version\"\n  name = \"Read Env Extension\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-volume-buildpack/bin/build",
    "chars": 253,
    "preview": "#!/usr/bin/env bash\n\nTEST_FILE_PATH=${TEST_FILE_PATH:?\"env var must be set\"}\n\necho \"---> Build: Volume Buildpack\"\n\nset -"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-volume-buildpack/bin/build.bat",
    "chars": 148,
    "preview": "@echo off\n\necho --- Build: Volume Buildpack\n\nset /p content=<%TEST_FILE_PATH%\necho Build: Reading file '%TEST_FILE_PATH%"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-volume-buildpack/bin/detect",
    "chars": 255,
    "preview": "#!/usr/bin/env bash\n\nTEST_FILE_PATH=${TEST_FILE_PATH:?\"env var must be set\"}\n\necho \"---> Detect: Volume Buildpack\"\n\nset "
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-volume-buildpack/bin/detect.bat",
    "chars": 150,
    "preview": "@echo off\n\necho --- Detect: Volume Buildpack\n\nset /p content=<%TEST_FILE_PATH%\necho Detect: Reading file '%TEST_FILE_PAT"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-volume-buildpack/buildpack.toml",
    "chars": 141,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"volume/bp\"\n  version = \"volume-bp-version\"\n  name = \"Volume Buildpack\"\n\n[[stacks]]\n  id"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-write-volume-buildpack/bin/build",
    "chars": 398,
    "preview": "#!/usr/bin/env bash\n\nTEST_FILE_PATH=${BUILD_TEST_FILE_PATH:?\"env var must be set\"}\n\necho \"---> Build: Read/Write Volume "
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-write-volume-buildpack/bin/build.bat",
    "chars": 391,
    "preview": "@echo off\n\nset TEST_FILE_PATH=%BUILD_TEST_FILE_PATH%\n\necho --- Build: Read/Write Volume Buildpack\n\necho some-content> %T"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-write-volume-buildpack/bin/detect",
    "chars": 402,
    "preview": "#!/usr/bin/env bash\n\nTEST_FILE_PATH=${DETECT_TEST_FILE_PATH:?\"env var must be set\"}\n\necho \"---> Detect: Read/Write Volum"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-write-volume-buildpack/bin/detect.bat",
    "chars": 396,
    "preview": "@echo off\n\nset TEST_FILE_PATH=%DETECT_TEST_FILE_PATH%\n\necho --- Detect: Read/Write Volume Buildpack\n\necho some-content> "
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/read-write-volume-buildpack/buildpack.toml",
    "chars": 158,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"rw-volume/bp\"\n  version = \"rw-volume-bp-version\"\n  name = \"Read/Write Volume Buildpack\""
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-buildpack/bin/build",
    "chars": 1546,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Build: Simple Layers Buildpack\"\n\nset -o errexit\nset -o nounset\nset -o pipefail\n\nlaunch_d"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-buildpack/bin/build.bat",
    "chars": 1534,
    "preview": "@echo off\necho --- Build: Simple Layers Buildpack\n\nset launch_dir=%1\n\n:: makes a launch layer\necho making launch layer %"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-buildpack/bin/detect",
    "chars": 38,
    "preview": "#!/usr/bin/env bash\n\n## always detect\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-buildpack/bin/detect.bat",
    "chars": 27,
    "preview": "@echo off\n:: always detect\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-buildpack/buildpack.toml",
    "chars": 156,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"simple/layers\"\n  version = \"simple-layers-version\"\n  name = \"Simple Layers Buildpack\"\n\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-buildpack-different-sha/bin/build",
    "chars": 1373,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Build: Simple Layers Different Sha Buildpack\"\n\nset -o errexit\nset -o nounset\nset -o pipe"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-buildpack-different-sha/bin/build.bat",
    "chars": 1364,
    "preview": "@echo off\necho --- Build: Simple Layers Different Sha Buildpack\n\nset launch_dir=%1\n\n:: makes a launch layer\necho making "
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-buildpack-different-sha/bin/detect",
    "chars": 38,
    "preview": "#!/usr/bin/env bash\n\n## always detect\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-buildpack-different-sha/bin/detect.bat",
    "chars": 27,
    "preview": "@echo off\n:: always detect\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-buildpack-different-sha/bin/extra_file.txt",
    "chars": 65,
    "preview": "Just some extra content to change the sha256 of this buildpack :)"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-buildpack-different-sha/buildpack.toml",
    "chars": 156,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"simple/layers\"\n  version = \"simple-layers-version\"\n  name = \"Simple Layers Buildpack\"\n\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-extension/bin/detect",
    "chars": 65,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Detect: Simple Layers Extension\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-extension/bin/generate",
    "chars": 67,
    "preview": "#!/usr/bin/env bash\n\necho \"---> Generate: Simple Layers Extension\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-extension/extension.toml",
    "chars": 119,
    "preview": "api = \"0.7\"\n\n[extension]\n  id = \"simple/layers\"\n  version = \"simple-layers-version\"\n  name = \"Simple Layers Extension\"\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/simple-layers-parent-buildpack/buildpack.toml",
    "chars": 225,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"simple/layers/parent\"\n  version = \"simple-layers-parent-version\"\n  name = \"Simple Layer"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/system-fail-detect/bin/build",
    "chars": 126,
    "preview": "#!/usr/bin/env bash\n\necho \"---> BUILD: System Fail Detect buildpack (should never run)\"\n\n# This should never be reached\n"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/system-fail-detect/bin/detect",
    "chars": 113,
    "preview": "#!/usr/bin/env bash\n\necho \"---> DETECT: System Fail Detect buildpack (will fail)\"\n\n# Always fail detection\nexit 1"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/system-fail-detect/buildpack.toml",
    "chars": 170,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"system/fail-detect\"\n  version = \"system-fail-detect-version\"\n  name = \"System Fail Dete"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/system-post-buildpack/bin/build",
    "chars": 356,
    "preview": "#!/usr/bin/env bash\n\necho \"---> BUILD: System Post buildpack\"\n\nset -o errexit\nset -o pipefail\n\nlayers_dir=$1\nplatform_di"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/system-post-buildpack/bin/detect",
    "chars": 106,
    "preview": "#!/usr/bin/env bash\n\necho \"---> DETECT: System Post buildpack\"\n\n# Always pass detection for testing\nexit 0"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/system-post-buildpack/buildpack.toml",
    "chars": 149,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"system/post\"\n  version = \"system-post-version\"\n  name = \"System Post Buildpack\"\n\n[[stac"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/system-pre-buildpack/bin/build",
    "chars": 351,
    "preview": "#!/usr/bin/env bash\n\necho \"---> BUILD: System Pre buildpack\"\n\nset -o errexit\nset -o pipefail\n\nlayers_dir=$1\nplatform_dir"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/system-pre-buildpack/bin/detect",
    "chars": 105,
    "preview": "#!/usr/bin/env bash\n\necho \"---> DETECT: System Pre buildpack\"\n\n# Always pass detection for testing\nexit 0"
  },
  {
    "path": "acceptance/testdata/mock_buildpacks/system-pre-buildpack/buildpack.toml",
    "chars": 146,
    "preview": "api = \"0.7\"\n\n[buildpack]\n  id = \"system/pre\"\n  version = \"system-pre-version\"\n  name = \"System Pre Buildpack\"\n\n[[stacks]"
  },
  {
    "path": "acceptance/testdata/mock_stack/create-stack.sh",
    "chars": 211,
    "preview": "#!/usr/bin/env bash\n\ndir=\"$(cd $(dirname $0) && pwd)\"\nos=$(docker info --format '{{json .}}' | jq -r .OSType)\n\ndocker bu"
  },
  {
    "path": "acceptance/testdata/mock_stack/linux/build/Dockerfile",
    "chars": 353,
    "preview": "FROM ubuntu:bionic\n\nENV CNB_USER_ID=2222\nENV CNB_GROUP_ID=3333\n\nRUN \\\n  groupadd pack --gid 3333 && \\\n  useradd --uid 22"
  },
  {
    "path": "acceptance/testdata/mock_stack/linux/run/Dockerfile",
    "chars": 333,
    "preview": "FROM ubuntu:bionic\n\nENV CNB_USER_ID=2222\nENV CNB_GROUP_ID=3333\n\nRUN \\\n  groupadd pack --gid 3333 && \\\n  useradd --uid 22"
  },
  {
    "path": "acceptance/testdata/mock_stack/windows/build/Dockerfile",
    "chars": 379,
    "preview": "FROM mcr.microsoft.com/windows/nanoserver:1809\n\n# non-zero sets all user-owned directories to BUILTIN\\Users\nENV CNB_USER"
  },
  {
    "path": "acceptance/testdata/mock_stack/windows/run/Dockerfile",
    "chars": 700,
    "preview": "FROM golang:1.17-nanoserver-1809 AS gobuild\n\n# bake in a simple server util\nCOPY server.go /util/server.go\nWORKDIR /util"
  },
  {
    "path": "acceptance/testdata/mock_stack/windows/run/server.go",
    "chars": 895,
    "preview": "/*\n-p=\"8080\": port to expose\n-g:        file globs to read (comma-separated)\n*/\npackage main\n\nimport (\n\t\"flag\"\n\t\"log\"\n\t\""
  },
  {
    "path": "acceptance/testdata/pack_fixtures/.gitattributes",
    "chars": 18,
    "preview": "*.txt text eol=lf\n"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/builder.toml",
    "chars": 939,
    "preview": "[[buildpacks]]\n  id = \"read/env\"\n  version = \"read-env-version\"\n  uri = \"read-env-buildpack.tgz\"\n\n[[buildpacks]]\n  # int"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/builder_extensions.toml",
    "chars": 1083,
    "preview": "[[buildpacks]]\n  id = \"read/env\"\n  version = \"read-env-version\"\n  uri = \"read-env-buildpack.tgz\"\n\n[[buildpacks]]\n  id = "
  },
  {
    "path": "acceptance/testdata/pack_fixtures/builder_multi_platform-no-targets.toml",
    "chars": 268,
    "preview": "[[buildpacks]]\nid = \"simple/layers\"\nversion = \"simple-layers-version\"\nuri = \"{{ .BuildpackURI }}\"\n\n[[order]]\n[[order.gro"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/builder_multi_platform.toml",
    "chars": 391,
    "preview": "[[buildpacks]]\nid = \"simple/layers\"\nversion = \"simple-layers-version\"\nuri = \"{{ .BuildpackURI }}\"\n\n[[order]]\n[[order.gro"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/builder_with_failing_system_buildpack.toml",
    "chars": 761,
    "preview": "[[buildpacks]]\n  id = \"simple-layers-buildpack\"\n  uri = \"file://{{.Fixtures}}/simple-layers-buildpack\"\n\n[[buildpacks]]\n "
  },
  {
    "path": "acceptance/testdata/pack_fixtures/builder_with_optional_failing_system_buildpack.toml",
    "chars": 726,
    "preview": "[[buildpacks]]\n  id = \"simple-layers-buildpack\"\n  uri = \"file://{{.Fixtures}}/simple-layers-buildpack\"\n\n[[buildpacks]]\n "
  },
  {
    "path": "acceptance/testdata/pack_fixtures/builder_with_system_buildpacks.toml",
    "chars": 739,
    "preview": "[[buildpacks]]\n  id = \"simple-layers-buildpack\"\n  uri = \"file://{{.Fixtures}}/simple-layers-buildpack\"\n\n[[buildpacks]]\n "
  },
  {
    "path": "acceptance/testdata/pack_fixtures/inspect_0.20.0_builder_nested_depth_2_output.txt",
    "chars": 2981,
    "preview": "Inspecting builder: '{{.builder_name}}'\n\nREMOTE:\n\nCreated By:\n  Name: Pack CLI\n  Version: {{.pack_version}}\n\nTrusted: {{"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/inspect_0.20.0_builder_nested_output.txt",
    "chars": 3143,
    "preview": "Inspecting builder: '{{.builder_name}}'\n\nREMOTE:\n\nCreated By:\n  Name: Pack CLI\n  Version: {{.pack_version}}\n\nTrusted: {{"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/inspect_0.20.0_builder_nested_output_json.txt",
    "chars": 4521,
    "preview": "{\n  \"builder_name\": \"{{.builder_name}}\",\n  \"trusted\": false,\n  \"default\": false,\n  \"remote_info\": {\n    \"created_by\": {\n"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/inspect_0.20.0_builder_nested_output_toml.txt",
    "chars": 4073,
    "preview": "builder_name = \"{{.builder_name}}\"\ntrusted = false\ndefault = false\n\n[remote_info]\n\n  [remote_info.created_by]\n    Name ="
  },
  {
    "path": "acceptance/testdata/pack_fixtures/inspect_0.20.0_builder_nested_output_yaml.txt",
    "chars": 3524,
    "preview": "sharedbuilderinfo:\n    builder_name: {{.builder_name}}\n    trusted: false\n    default: false\nremote_info:\n    created_by"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/inspect_0.20.0_builder_output.txt",
    "chars": 2333,
    "preview": "Inspecting builder: '{{.builder_name}}'\n\nREMOTE:\n\nCreated By:\n  Name: Pack CLI\n  Version: {{.pack_version}}\n\nTrusted: {{"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/inspect_X.Y.Z_builder_output.txt",
    "chars": 118,
    "preview": "Files like these represent the expected output of calling `pack inspect-builder` on a builder created with pack vX.Y.Z"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/inspect_builder_nested_depth_2_output.txt",
    "chars": 3093,
    "preview": "Inspecting builder: '{{.builder_name}}'\n\nREMOTE:\n\nCreated By:\n  Name: Pack CLI\n  Version: {{.pack_version}}\n\nTrusted: {{"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/inspect_builder_nested_output.txt",
    "chars": 3255,
    "preview": "Inspecting builder: '{{.builder_name}}'\n\nREMOTE:\n\nCreated By:\n  Name: Pack CLI\n  Version: {{.pack_version}}\n\nTrusted: {{"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/inspect_builder_nested_output_json.txt",
    "chars": 4791,
    "preview": "{\n  \"builder_name\": \"{{.builder_name}}\",\n  \"trusted\": false,\n  \"default\": false,\n  \"remote_info\": {\n    \"created_by\": {\n"
  },
  {
    "path": "acceptance/testdata/pack_fixtures/inspect_builder_nested_output_toml.txt",
    "chars": 4307,
    "preview": "builder_name = \"{{.builder_name}}\"\ntrusted = false\ndefault = false\n\n[remote_info]\n\n  [remote_info.created_by]\n    Name ="
  }
]

// ... and 688 more files (download for full content)

About this extraction

This page contains the full source code of the buildpack/pack GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 888 files (21.2 MB), approximately 1.1M tokens, and a symbol index with 3999 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!