Full Code of slimtoolkit/slim for AI

master 2da84ff25aca cached
5488 files
59.5 MB
4.3M tokens
26703 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (16,983K chars total). Download the full file to get everything.
Repository: slimtoolkit/slim
Branch: master
Commit: 2da84ff25aca
Files: 5488
Total size: 59.5 MB

Directory structure:
gitextract_oai82ui8/

├── .deepsource.toml
├── .dockerignore
├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dependabot.yml
│   └── workflows/
│       ├── acceptance-testing-bats.yml
│       ├── acceptance-testing-e2e.yml
│       ├── codesee-arch-diagram.yml
│       └── unit-testing.yml
├── .gitignore
├── .gitmodules
├── .gitpod.yml
├── .markdownlint.json
├── .vscode/
│   └── launch.json
├── ADOPTERS.md
├── CHANGELOG.md
├── COMMUNITY_ACTIVITY_LOG.md
├── CONTRIBUTING.md
├── GOVERNANCE.md
├── LICENSE
├── MAINTAINERS.md
├── Makefile
├── README.md
├── ROADMAP.md
├── SECURITY.md
├── WISHLIST.md
├── assets/
│   └── images/
│       └── docs/
│           └── SlimHow.excalidraw
├── build/
│   └── package/
│       ├── docker/
│       │   ├── .dockerignore
│       │   ├── .ds.container.d3e2c84f976743bdb92a7044ef12e381
│       │   ├── Dockerfile
│       │   ├── Dockerfile.arm
│       │   ├── build.sh
│       │   ├── build_arm.sh
│       │   ├── dockerhub_publish.sh
│       │   ├── dockerhub_publish_arm.sh
│       │   └── mac/
│       │       ├── build.command
│       │       ├── build_arm.command
│       │       ├── dockerhub_login.command
│       │       ├── dockerhub_publish.command
│       │       └── dockerhub_publish_arm.command
│       └── rpm/
│           └── slim.spec
├── cmd/
│   ├── slim/
│   │   └── main.go
│   └── slim-sensor/
│       └── main.go
├── examples/
│   ├── README.md
│   └── k8s_nginx_cgr/
│       └── manifest.yaml
├── go.mod
├── go.sum
├── pkg/
│   ├── acounter/
│   │   └── acounter.go
│   ├── aflag/
│   │   └── aflag.go
│   ├── app/
│   │   ├── constants.go
│   │   ├── execontext.go
│   │   ├── master/
│   │   │   ├── app.go
│   │   │   ├── builder/
│   │   │   │   └── image_builder.go
│   │   │   ├── cli.go
│   │   │   ├── command/
│   │   │   │   ├── appbom/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── build/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── image.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── kubernetes.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── cliflags.go
│   │   │   │   ├── clifvgetter.go
│   │   │   │   ├── clifvparser.go
│   │   │   │   ├── cliprompt.go
│   │   │   │   ├── common.go
│   │   │   │   ├── containerize/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── convert/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── debug/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── debug_images.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handle_docker_runtime.go
│   │   │   │   │   ├── handle_kubernetes_runtime.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   ├── register.go
│   │   │   │   │   ├── session.go
│   │   │   │   │   └── shell.go
│   │   │   │   ├── dockerclipm/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── edit/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── help/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── images/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── install/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── lint/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── merge/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── probe/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── profile/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── registry/
│   │   │   │   │   ├── auth.go
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler_copy.go
│   │   │   │   │   ├── handler_image_index.go
│   │   │   │   │   ├── handler_pull.go
│   │   │   │   │   ├── handler_push.go
│   │   │   │   │   ├── handler_server.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── run/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── server/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── update/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── version/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── vulnerability/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler_tool_epss.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   └── xray/
│   │   │   │       ├── cli.go
│   │   │   │       ├── flags.go
│   │   │   │       ├── handler.go
│   │   │   │       ├── init/
│   │   │   │       │   └── init.go
│   │   │   │       ├── prompt.go
│   │   │   │       └── register.go
│   │   │   ├── compose/
│   │   │   │   └── execution.go
│   │   │   ├── config/
│   │   │   │   └── config.go
│   │   │   ├── container/
│   │   │   │   └── execution.go
│   │   │   ├── docker/
│   │   │   │   └── dockerhost/
│   │   │   │       └── host.go
│   │   │   ├── inspectors/
│   │   │   │   ├── container/
│   │   │   │   │   ├── container_inspector.go
│   │   │   │   │   └── container_startup.go
│   │   │   │   ├── image/
│   │   │   │   │   ├── extract_registry_test.go
│   │   │   │   │   └── image_inspector.go
│   │   │   │   ├── ipc/
│   │   │   │   │   └── ipc.go
│   │   │   │   ├── pod/
│   │   │   │   │   └── pod_inspector.go
│   │   │   │   └── sensor/
│   │   │   │       └── sensor.go
│   │   │   ├── kubernetes/
│   │   │   │   ├── client.go
│   │   │   │   ├── kubectl.go
│   │   │   │   ├── manifests.go
│   │   │   │   └── workload.go
│   │   │   ├── probe/
│   │   │   │   └── http/
│   │   │   │       ├── crawler.go
│   │   │   │       ├── custom_probe.go
│   │   │   │       ├── httpclient.go
│   │   │   │       ├── internal/
│   │   │   │       │   ├── client.go
│   │   │   │       │   └── fastcgi.go
│   │   │   │       ├── swagger.go
│   │   │   │       └── wsclient.go
│   │   │   ├── security/
│   │   │   │   ├── apparmor/
│   │   │   │   │   └── apparmor.go
│   │   │   │   └── seccomp/
│   │   │   │       └── seccomp.go
│   │   │   ├── signals/
│   │   │   │   └── signals.go
│   │   │   ├── update/
│   │   │   │   └── update.go
│   │   │   └── version/
│   │   │       └── version.go
│   │   └── sensor/
│   │       ├── app.go
│   │       ├── app_test.go
│   │       ├── artifact/
│   │       │   └── artifact.go
│   │       ├── controlled/
│   │       │   ├── controlled.go
│   │       │   └── controlled_test.go
│   │       ├── detector/
│   │       │   ├── binfile/
│   │       │   │   └── binfile.go
│   │       │   └── filetype/
│   │       │       └── filetype.go
│   │       ├── execution/
│   │       │   ├── controlled.go
│   │       │   ├── hook.go
│   │       │   ├── interface.go
│   │       │   └── standalone.go
│   │       ├── inspector/
│   │       │   └── sodeps/
│   │       │       └── sodeps.go
│   │       ├── ipc/
│   │       │   └── ipc.go
│   │       ├── logger.go
│   │       ├── monitor/
│   │       │   ├── composite.go
│   │       │   ├── composite_test.go
│   │       │   ├── fanotify/
│   │       │   │   └── monitor.go
│   │       │   ├── pevent/
│   │       │   │   └── monitor.go
│   │       │   └── ptrace/
│   │       │       ├── interface.go
│   │       │       ├── monitor.go
│   │       │       └── monitor_arm64.go
│   │       ├── signals.go
│   │       └── standalone/
│   │           ├── control/
│   │           │   ├── commands.go
│   │           │   ├── queue.go
│   │           │   ├── stop.go
│   │           │   └── wait.go
│   │           └── standalone.go
│   ├── appbom/
│   │   ├── .gitignore
│   │   ├── appbom.go
│   │   ├── gobinhash.go
│   │   ├── gobinhash_noembed.go
│   │   └── gobinhasher.go
│   ├── artifact/
│   │   └── artifact.go
│   ├── certdiscover/
│   │   └── certdiscover.go
│   ├── command/
│   │   └── command.go
│   ├── consts/
│   │   ├── community.go
│   │   ├── external.go
│   │   └── version.go
│   ├── docker/
│   │   ├── buildpackinfo/
│   │   │   └── buildpackinfo.go
│   │   ├── dockerclient/
│   │   │   └── client.go
│   │   ├── dockerfile/
│   │   │   ├── ast/
│   │   │   │   ├── line_parsers.go
│   │   │   │   ├── parser.go
│   │   │   │   └── split_command.go
│   │   │   ├── dockerfile.go
│   │   │   ├── parser/
│   │   │   │   └── parser.go
│   │   │   ├── reverse/
│   │   │   │   ├── reverse.go
│   │   │   │   └── reverse_test.go
│   │   │   └── spec/
│   │   │       └── spec.go
│   │   ├── dockerignore/
│   │   │   └── dockerignore.go
│   │   ├── dockerimage/
│   │   │   ├── dockerimage.go
│   │   │   ├── imagelayout.go
│   │   │   ├── metadata.go
│   │   │   ├── packagefiles.go
│   │   │   └── topobjects.go
│   │   ├── dockerutil/
│   │   │   └── dockerutil.go
│   │   ├── instruction/
│   │   │   └── instruction.go
│   │   └── linter/
│   │       ├── check/
│   │       │   ├── check.go
│   │       │   ├── id10001.go
│   │       │   ├── id10002.go
│   │       │   ├── id20000.go
│   │       │   ├── id20001.go
│   │       │   ├── id20002.go
│   │       │   ├── id20003.go
│   │       │   ├── id20004.go
│   │       │   ├── id20005.go
│   │       │   ├── id20006.go
│   │       │   ├── id20007.go
│   │       │   ├── id20008.go
│   │       │   ├── id20009.go
│   │       │   ├── id20010.go
│   │       │   ├── id20011.go
│   │       │   ├── id20012.go
│   │       │   ├── id20013.go
│   │       │   ├── id20014.go
│   │       │   ├── id20015.go
│   │       │   ├── id20016.go
│   │       │   ├── id20017.go
│   │       │   ├── id20018.go
│   │       │   ├── id20019.go
│   │       │   ├── id20020.go
│   │       │   ├── id20021.go
│   │       │   └── id20022.go
│   │       └── linter.go
│   ├── errors/
│   │   └── errors.go
│   ├── imagebuilder/
│   │   ├── imagebuilder.go
│   │   └── internalbuilder/
│   │       └── engine.go
│   ├── imagereader/
│   │   └── imagereader.go
│   ├── ipc/
│   │   ├── channel/
│   │   │   └── channel.go
│   │   ├── command/
│   │   │   └── command.go
│   │   └── event/
│   │       └── event.go
│   ├── lambdaproxy/
│   │   ├── lambdaproxy.go
│   │   └── lambdaproxy_test.go
│   ├── launcher/
│   │   └── launcher.go
│   ├── mondel/
│   │   └── mondel.go
│   ├── monitor/
│   │   └── ptrace/
│   │       ├── ptrace.go
│   │       └── types.go
│   ├── pdiscover/
│   │   ├── pevents.go
│   │   ├── pevents_darwin.go
│   │   ├── pevents_linux.go
│   │   ├── pinfo.go
│   │   ├── pinfo_darwin.go
│   │   └── pinfo_linux.go
│   ├── report/
│   │   ├── command_report.go
│   │   ├── container_report.go
│   │   ├── mondel_report.go
│   │   └── report.go
│   ├── sysenv/
│   │   ├── sysenv_darwin.go
│   │   └── sysenv_linux.go
│   ├── sysidentity/
│   │   └── sysidentity.go
│   ├── system/
│   │   ├── architecture.go
│   │   ├── errors.go
│   │   ├── kernel_linux.go
│   │   ├── nstring_int8.go
│   │   ├── nstring_uint8.go
│   │   ├── os_release.go
│   │   ├── os_shells.go
│   │   ├── syscalls.go
│   │   ├── syscalls_armf32.go
│   │   ├── syscalls_armf64.go
│   │   ├── syscalls_x86f32.go
│   │   ├── syscalls_x86f64.go
│   │   ├── system.go
│   │   ├── system_darwin.go
│   │   ├── system_linux.go
│   │   ├── system_linux_amd64.go
│   │   ├── system_linux_arm.go
│   │   └── system_linux_arm64.go
│   ├── test/
│   │   ├── e2e/
│   │   │   └── sensor/
│   │   │       ├── docker.go
│   │   │       ├── monitor.go
│   │   │       └── sensor.go
│   │   ├── stub/
│   │   │   └── sensor/
│   │   │       ├── execution/
│   │   │       │   └── execution.go
│   │   │       └── monitor/
│   │   │           └── monitor.go
│   │   └── util/
│   │       └── time.go
│   ├── third_party/
│   │   ├── compose-go/
│   │   │   ├── .github/
│   │   │   │   ├── CODEOWNERS
│   │   │   │   ├── dependabot.yml
│   │   │   │   └── workflows/
│   │   │   │       ├── ci.yml
│   │   │   │       └── release.yml
│   │   │   ├── .gitignore
│   │   │   ├── .pre-commit-config.yaml
│   │   │   ├── CODE_OF_CONDUCT.md
│   │   │   ├── CONTRIBUTING.md
│   │   │   ├── LICENSE
│   │   │   ├── MAINTENANCE.md
│   │   │   ├── Makefile
│   │   │   ├── NOTICE
│   │   │   ├── README.md
│   │   │   ├── ci/
│   │   │   │   └── Dockerfile
│   │   │   ├── cli/
│   │   │   │   ├── options.go
│   │   │   │   ├── options_test.go
│   │   │   │   └── testdata/
│   │   │   │       ├── env-file/
│   │   │   │       │   ├── compose-with-env-file.yaml
│   │   │   │       │   └── simple-env
│   │   │   │       └── simple/
│   │   │   │           ├── compose-with-overrides.yaml
│   │   │   │           ├── compose-with-variables.yaml
│   │   │   │           └── compose.yaml
│   │   │   ├── compatibility/
│   │   │   │   ├── allowlist.go
│   │   │   │   ├── allowlist_test.go
│   │   │   │   ├── build.go
│   │   │   │   ├── checker.go
│   │   │   │   ├── configs.go
│   │   │   │   ├── deploy.go
│   │   │   │   ├── networks.go
│   │   │   │   ├── services.go
│   │   │   │   └── volumes.go
│   │   │   ├── errdefs/
│   │   │   │   └── errors.go
│   │   │   ├── go.mod
│   │   │   ├── go.sum
│   │   │   ├── golangci.yml
│   │   │   ├── interpolation/
│   │   │   │   ├── interpolation.go
│   │   │   │   └── interpolation_test.go
│   │   │   ├── loader/
│   │   │   │   ├── example1.env
│   │   │   │   ├── example2.env
│   │   │   │   ├── full-example.yml
│   │   │   │   ├── full-struct_test.go
│   │   │   │   ├── interpolate.go
│   │   │   │   ├── loader.go
│   │   │   │   ├── loader_test.go
│   │   │   │   ├── merge.go
│   │   │   │   ├── merge_test.go
│   │   │   │   ├── normalize.go
│   │   │   │   ├── normalize_test.go
│   │   │   │   ├── testdata/
│   │   │   │   │   ├── Dockerfile
│   │   │   │   │   ├── compose-test-extends-imported.yaml
│   │   │   │   │   ├── compose-test-extends.yaml
│   │   │   │   │   └── compose-test-with-version.yaml
│   │   │   │   ├── types_test.go
│   │   │   │   ├── validate.go
│   │   │   │   ├── validate_test.go
│   │   │   │   ├── volume.go
│   │   │   │   ├── volume_test.go
│   │   │   │   ├── windows_path.go
│   │   │   │   ├── windows_path_test.go
│   │   │   │   └── with-version-struct_test.go
│   │   │   ├── schema/
│   │   │   │   ├── compose-spec.json
│   │   │   │   ├── schema.go
│   │   │   │   └── schema_test.go
│   │   │   ├── scripts/
│   │   │   │   └── validate/
│   │   │   │       ├── fileheader
│   │   │   │       └── template/
│   │   │   │           ├── bash.txt
│   │   │   │           ├── dockerfile.txt
│   │   │   │           ├── go.txt
│   │   │   │           └── makefile.txt
│   │   │   ├── template/
│   │   │   │   ├── template.go
│   │   │   │   └── template_test.go
│   │   │   └── types/
│   │   │       ├── config.go
│   │   │       ├── config_test.go
│   │   │       ├── project.go
│   │   │       ├── project_test.go
│   │   │       ├── types.go
│   │   │       └── types_test.go
│   │   ├── madmo/
│   │   │   └── fanotify/
│   │   │       ├── fanotify.go
│   │   │       ├── fanotify_386.go
│   │   │       ├── fanotify_amd64.go
│   │   │       ├── fanotify_arm.go
│   │   │       └── fanotify_arm64.go
│   │   └── opencontainers/
│   │       └── specs/
│   │           └── seccomp.go
│   ├── util/
│   │   ├── errutil/
│   │   │   └── errutil.go
│   │   ├── fsutil/
│   │   │   ├── fsutil.go
│   │   │   ├── sysstat.go
│   │   │   ├── sysstat_darwin.go
│   │   │   └── sysstat_linux.go
│   │   ├── jsonutil/
│   │   │   └── jsonutil.go
│   │   └── printbuffer/
│   │       └── printbuffer.go
│   ├── version/
│   │   └── version.go
│   └── vulnerability/
│       └── epss/
│           ├── api/
│           │   └── api.go
│           ├── client/
│           │   └── client.go
│           └── data.go
├── scripts/
│   ├── docker-builder-m1.run.sh
│   ├── docker-builder.run.sh
│   ├── govulncheck.sh
│   ├── install-slim.sh
│   ├── mac/
│   │   ├── bom.gen.command
│   │   ├── docker-builder-m1.run.command
│   │   ├── docker-builder.run.command
│   │   ├── govulncheck.command
│   │   ├── src.build.command
│   │   ├── src.cleanup.command
│   │   ├── src.fmt.command
│   │   ├── src.inspect.command
│   │   ├── src.test.command
│   │   └── tools.get.command
│   ├── src.build.m1.sh
│   ├── src.build.quick.sh
│   ├── src.build.sh
│   ├── src.cleanup.sh
│   ├── src.fmt.sh
│   ├── src.inspect.sh
│   ├── src.test.sh
│   ├── tools.get.sh
│   └── uninstall-slim.sh
├── test/
│   ├── debug.bats
│   └── e2e-tests.mk
└── vendor/
    ├── github.com/
    │   ├── Azure/
    │   │   └── go-ansiterm/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── SECURITY.md
    │   │       ├── constants.go
    │   │       ├── context.go
    │   │       ├── csi_entry_state.go
    │   │       ├── csi_param_state.go
    │   │       ├── escape_intermediate_state.go
    │   │       ├── escape_state.go
    │   │       ├── event_handler.go
    │   │       ├── ground_state.go
    │   │       ├── osc_string_state.go
    │   │       ├── parser.go
    │   │       ├── parser_action_helpers.go
    │   │       ├── parser_actions.go
    │   │       ├── states.go
    │   │       ├── utilities.go
    │   │       └── winterm/
    │   │           ├── ansi.go
    │   │           ├── api.go
    │   │           ├── attr_translation.go
    │   │           ├── cursor_helpers.go
    │   │           ├── erase_helpers.go
    │   │           ├── scroll_helper.go
    │   │           ├── utilities.go
    │   │           └── win_event_handler.go
    │   ├── Microsoft/
    │   │   └── go-winio/
    │   │       ├── .gitattributes
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── CODEOWNERS
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── SECURITY.md
    │   │       ├── backup.go
    │   │       ├── doc.go
    │   │       ├── ea.go
    │   │       ├── file.go
    │   │       ├── fileinfo.go
    │   │       ├── hvsock.go
    │   │       ├── internal/
    │   │       │   ├── fs/
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── fs.go
    │   │       │   │   ├── security.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   ├── socket/
    │   │       │   │   ├── rawaddr.go
    │   │       │   │   ├── socket.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   └── stringbuffer/
    │   │       │       └── wstring.go
    │   │       ├── pipe.go
    │   │       ├── pkg/
    │   │       │   └── guid/
    │   │       │       ├── guid.go
    │   │       │       ├── guid_nonwindows.go
    │   │       │       ├── guid_windows.go
    │   │       │       └── variant_string.go
    │   │       ├── privilege.go
    │   │       ├── reparse.go
    │   │       ├── sd.go
    │   │       ├── syscall.go
    │   │       ├── tools.go
    │   │       └── zsyscall_windows.go
    │   ├── PuerkitoBio/
    │   │   └── goquery/
    │   │       ├── .gitattributes
    │   │       ├── .gitignore
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── array.go
    │   │       ├── doc.go
    │   │       ├── expand.go
    │   │       ├── filter.go
    │   │       ├── iteration.go
    │   │       ├── manipulation.go
    │   │       ├── property.go
    │   │       ├── query.go
    │   │       ├── traversal.go
    │   │       ├── type.go
    │   │       └── utilities.go
    │   ├── andybalholm/
    │   │   └── cascadia/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── parser.go
    │   │       ├── pseudo_classes.go
    │   │       ├── selector.go
    │   │       ├── serialize.go
    │   │       └── specificity.go
    │   ├── antchfx/
    │   │   ├── htmlquery/
    │   │   │   ├── .gitignore
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── cache.go
    │   │   │   └── query.go
    │   │   ├── xmlquery/
    │   │   │   ├── .gitignore
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── books.xml
    │   │   │   ├── cache.go
    │   │   │   ├── cached_reader.go
    │   │   │   ├── node.go
    │   │   │   ├── options.go
    │   │   │   ├── parse.go
    │   │   │   └── query.go
    │   │   └── xpath/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── build.go
    │   │       ├── cache.go
    │   │       ├── func.go
    │   │       ├── func_go110.go
    │   │       ├── func_pre_go110.go
    │   │       ├── operator.go
    │   │       ├── parse.go
    │   │       ├── query.go
    │   │       └── xpath.go
    │   ├── armon/
    │   │   └── go-radix/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── radix.go
    │   ├── bmatcuk/
    │   │   └── doublestar/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── doublestar.go
    │   │       └── v3/
    │   │           ├── .gitignore
    │   │           ├── .travis.yml
    │   │           ├── LICENSE
    │   │           ├── README.md
    │   │           ├── UPGRADING.md
    │   │           └── doublestar.go
    │   ├── c4milo/
    │   │   └── unpackit/
    │   │       ├── .editorconfig
    │   │       ├── .travis.yml
    │   │       ├── AUTHORS
    │   │       ├── CONTRIBUTING.md
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── unpackit.go
    │   ├── cespare/
    │   │   └── xxhash/
    │   │       └── v2/
    │   │           ├── LICENSE.txt
    │   │           ├── README.md
    │   │           ├── testall.sh
    │   │           ├── xxhash.go
    │   │           ├── xxhash_amd64.s
    │   │           ├── xxhash_arm64.s
    │   │           ├── xxhash_asm.go
    │   │           ├── xxhash_other.go
    │   │           ├── xxhash_safe.go
    │   │           └── xxhash_unsafe.go
    │   ├── compose-spec/
    │   │   └── compose-go/
    │   │       ├── LICENSE
    │   │       ├── NOTICE
    │   │       ├── errdefs/
    │   │       │   └── errors.go
    │   │       ├── interpolation/
    │   │       │   └── interpolation.go
    │   │       ├── loader/
    │   │       │   ├── example1.env
    │   │       │   ├── example2.env
    │   │       │   ├── full-example.yml
    │   │       │   ├── interpolate.go
    │   │       │   ├── loader.go
    │   │       │   ├── merge.go
    │   │       │   ├── normalize.go
    │   │       │   ├── validate.go
    │   │       │   ├── volume.go
    │   │       │   └── windows_path.go
    │   │       ├── template/
    │   │       │   └── template.go
    │   │       └── types/
    │   │           ├── config.go
    │   │           ├── project.go
    │   │           └── types.go
    │   ├── containerd/
    │   │   ├── containerd/
    │   │   │   ├── LICENSE
    │   │   │   ├── NOTICE
    │   │   │   └── pkg/
    │   │   │       └── userns/
    │   │   │           ├── userns_linux.go
    │   │   │           └── userns_unsupported.go
    │   │   ├── log/
    │   │   │   ├── .golangci.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   └── context.go
    │   │   └── stargz-snapshotter/
    │   │       └── estargz/
    │   │           ├── LICENSE
    │   │           ├── build.go
    │   │           ├── errorutil/
    │   │           │   └── errors.go
    │   │           ├── estargz.go
    │   │           ├── gzip.go
    │   │           ├── testutil.go
    │   │           └── types.go
    │   ├── cpuguy83/
    │   │   └── go-md2man/
    │   │       └── v2/
    │   │           ├── LICENSE.md
    │   │           └── md2man/
    │   │               ├── md2man.go
    │   │               └── roff.go
    │   ├── davecgh/
    │   │   └── go-spew/
    │   │       ├── LICENSE
    │   │       └── spew/
    │   │           ├── bypass.go
    │   │           ├── bypasssafe.go
    │   │           ├── common.go
    │   │           ├── config.go
    │   │           ├── doc.go
    │   │           ├── dump.go
    │   │           ├── format.go
    │   │           └── spew.go
    │   ├── distribution/
    │   │   ├── distribution/
    │   │   │   └── v3/
    │   │   │       ├── LICENSE
    │   │   │       ├── digestset/
    │   │   │       │   └── set.go
    │   │   │       └── reference/
    │   │   │           ├── helpers.go
    │   │   │           ├── normalize.go
    │   │   │           ├── reference.go
    │   │   │           └── regexp.go
    │   │   └── reference/
    │   │       ├── .gitattributes
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── CODE-OF-CONDUCT.md
    │   │       ├── CONTRIBUTING.md
    │   │       ├── GOVERNANCE.md
    │   │       ├── LICENSE
    │   │       ├── MAINTAINERS
    │   │       ├── Makefile
    │   │       ├── README.md
    │   │       ├── SECURITY.md
    │   │       ├── helpers.go
    │   │       ├── normalize.go
    │   │       ├── reference.go
    │   │       ├── regexp.go
    │   │       └── sort.go
    │   ├── docker/
    │   │   ├── cli/
    │   │   │   ├── AUTHORS
    │   │   │   ├── LICENSE
    │   │   │   ├── NOTICE
    │   │   │   └── cli/
    │   │   │       └── config/
    │   │   │           ├── config.go
    │   │   │           ├── configfile/
    │   │   │           │   ├── file.go
    │   │   │           │   ├── file_unix.go
    │   │   │           │   └── file_windows.go
    │   │   │           ├── credentials/
    │   │   │           │   ├── credentials.go
    │   │   │           │   ├── default_store.go
    │   │   │           │   ├── default_store_darwin.go
    │   │   │           │   ├── default_store_linux.go
    │   │   │           │   ├── default_store_unsupported.go
    │   │   │           │   ├── default_store_windows.go
    │   │   │           │   ├── file_store.go
    │   │   │           │   └── native_store.go
    │   │   │           └── types/
    │   │   │               └── authconfig.go
    │   │   ├── distribution/
    │   │   │   ├── LICENSE
    │   │   │   └── registry/
    │   │   │       └── client/
    │   │   │           └── auth/
    │   │   │               └── challenge/
    │   │   │                   ├── addr.go
    │   │   │                   └── authchallenge.go
    │   │   ├── docker/
    │   │   │   ├── AUTHORS
    │   │   │   ├── LICENSE
    │   │   │   ├── NOTICE
    │   │   │   ├── api/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── common.go
    │   │   │   │   ├── swagger-gen.yaml
    │   │   │   │   ├── swagger.yaml
    │   │   │   │   └── types/
    │   │   │   │       ├── blkiodev/
    │   │   │   │       │   └── blkio.go
    │   │   │   │       ├── checkpoint/
    │   │   │   │       │   ├── list.go
    │   │   │   │       │   └── options.go
    │   │   │   │       ├── client.go
    │   │   │   │       ├── configs.go
    │   │   │   │       ├── container/
    │   │   │   │       │   ├── change_type.go
    │   │   │   │       │   ├── change_types.go
    │   │   │   │       │   ├── config.go
    │   │   │   │       │   ├── container_top.go
    │   │   │   │       │   ├── container_update.go
    │   │   │   │       │   ├── create_response.go
    │   │   │   │       │   ├── errors.go
    │   │   │   │       │   ├── filesystem_change.go
    │   │   │   │       │   ├── hostconfig.go
    │   │   │   │       │   ├── hostconfig_unix.go
    │   │   │   │       │   ├── hostconfig_windows.go
    │   │   │   │       │   ├── options.go
    │   │   │   │       │   ├── wait_exit_error.go
    │   │   │   │       │   ├── wait_response.go
    │   │   │   │       │   └── waitcondition.go
    │   │   │   │       ├── error_response.go
    │   │   │   │       ├── error_response_ext.go
    │   │   │   │       ├── events/
    │   │   │   │       │   └── events.go
    │   │   │   │       ├── filters/
    │   │   │   │       │   ├── errors.go
    │   │   │   │       │   └── parse.go
    │   │   │   │       ├── graph_driver_data.go
    │   │   │   │       ├── id_response.go
    │   │   │   │       ├── image/
    │   │   │   │       │   ├── delete_response.go
    │   │   │   │       │   ├── image.go
    │   │   │   │       │   ├── image_history.go
    │   │   │   │       │   ├── opts.go
    │   │   │   │       │   └── summary.go
    │   │   │   │       ├── mount/
    │   │   │   │       │   └── mount.go
    │   │   │   │       ├── network/
    │   │   │   │       │   ├── endpoint.go
    │   │   │   │       │   ├── ipam.go
    │   │   │   │       │   └── network.go
    │   │   │   │       ├── plugin.go
    │   │   │   │       ├── plugin_device.go
    │   │   │   │       ├── plugin_env.go
    │   │   │   │       ├── plugin_interface_type.go
    │   │   │   │       ├── plugin_mount.go
    │   │   │   │       ├── plugin_responses.go
    │   │   │   │       ├── port.go
    │   │   │   │       ├── registry/
    │   │   │   │       │   ├── authconfig.go
    │   │   │   │       │   ├── authenticate.go
    │   │   │   │       │   └── registry.go
    │   │   │   │       ├── stats.go
    │   │   │   │       ├── strslice/
    │   │   │   │       │   └── strslice.go
    │   │   │   │       ├── swarm/
    │   │   │   │       │   ├── common.go
    │   │   │   │       │   ├── config.go
    │   │   │   │       │   ├── container.go
    │   │   │   │       │   ├── network.go
    │   │   │   │       │   ├── node.go
    │   │   │   │       │   ├── runtime/
    │   │   │   │       │   │   ├── gen.go
    │   │   │   │       │   │   ├── plugin.pb.go
    │   │   │   │       │   │   └── plugin.proto
    │   │   │   │       │   ├── runtime.go
    │   │   │   │       │   ├── secret.go
    │   │   │   │       │   ├── service.go
    │   │   │   │       │   ├── service_create_response.go
    │   │   │   │       │   ├── service_update_response.go
    │   │   │   │       │   ├── swarm.go
    │   │   │   │       │   └── task.go
    │   │   │   │       ├── system/
    │   │   │   │       │   ├── info.go
    │   │   │   │       │   ├── runtime.go
    │   │   │   │       │   └── security_opts.go
    │   │   │   │       ├── time/
    │   │   │   │       │   └── timestamp.go
    │   │   │   │       ├── types.go
    │   │   │   │       ├── types_deprecated.go
    │   │   │   │       ├── versions/
    │   │   │   │       │   ├── README.md
    │   │   │   │       │   └── compare.go
    │   │   │   │       └── volume/
    │   │   │   │           ├── cluster_volume.go
    │   │   │   │           ├── create_options.go
    │   │   │   │           ├── list_response.go
    │   │   │   │           ├── options.go
    │   │   │   │           ├── volume.go
    │   │   │   │           └── volume_update.go
    │   │   │   ├── client/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── build_cancel.go
    │   │   │   │   ├── build_prune.go
    │   │   │   │   ├── checkpoint_create.go
    │   │   │   │   ├── checkpoint_delete.go
    │   │   │   │   ├── checkpoint_list.go
    │   │   │   │   ├── client.go
    │   │   │   │   ├── client_deprecated.go
    │   │   │   │   ├── client_unix.go
    │   │   │   │   ├── client_windows.go
    │   │   │   │   ├── config_create.go
    │   │   │   │   ├── config_inspect.go
    │   │   │   │   ├── config_list.go
    │   │   │   │   ├── config_remove.go
    │   │   │   │   ├── config_update.go
    │   │   │   │   ├── container_attach.go
    │   │   │   │   ├── container_commit.go
    │   │   │   │   ├── container_copy.go
    │   │   │   │   ├── container_create.go
    │   │   │   │   ├── container_diff.go
    │   │   │   │   ├── container_exec.go
    │   │   │   │   ├── container_export.go
    │   │   │   │   ├── container_inspect.go
    │   │   │   │   ├── container_kill.go
    │   │   │   │   ├── container_list.go
    │   │   │   │   ├── container_logs.go
    │   │   │   │   ├── container_pause.go
    │   │   │   │   ├── container_prune.go
    │   │   │   │   ├── container_remove.go
    │   │   │   │   ├── container_rename.go
    │   │   │   │   ├── container_resize.go
    │   │   │   │   ├── container_restart.go
    │   │   │   │   ├── container_start.go
    │   │   │   │   ├── container_stats.go
    │   │   │   │   ├── container_stop.go
    │   │   │   │   ├── container_top.go
    │   │   │   │   ├── container_unpause.go
    │   │   │   │   ├── container_update.go
    │   │   │   │   ├── container_wait.go
    │   │   │   │   ├── disk_usage.go
    │   │   │   │   ├── distribution_inspect.go
    │   │   │   │   ├── envvars.go
    │   │   │   │   ├── errors.go
    │   │   │   │   ├── events.go
    │   │   │   │   ├── hijack.go
    │   │   │   │   ├── image_build.go
    │   │   │   │   ├── image_create.go
    │   │   │   │   ├── image_history.go
    │   │   │   │   ├── image_import.go
    │   │   │   │   ├── image_inspect.go
    │   │   │   │   ├── image_list.go
    │   │   │   │   ├── image_load.go
    │   │   │   │   ├── image_prune.go
    │   │   │   │   ├── image_pull.go
    │   │   │   │   ├── image_push.go
    │   │   │   │   ├── image_remove.go
    │   │   │   │   ├── image_save.go
    │   │   │   │   ├── image_search.go
    │   │   │   │   ├── image_tag.go
    │   │   │   │   ├── info.go
    │   │   │   │   ├── interface.go
    │   │   │   │   ├── interface_experimental.go
    │   │   │   │   ├── interface_stable.go
    │   │   │   │   ├── login.go
    │   │   │   │   ├── network_connect.go
    │   │   │   │   ├── network_create.go
    │   │   │   │   ├── network_disconnect.go
    │   │   │   │   ├── network_inspect.go
    │   │   │   │   ├── network_list.go
    │   │   │   │   ├── network_prune.go
    │   │   │   │   ├── network_remove.go
    │   │   │   │   ├── node_inspect.go
    │   │   │   │   ├── node_list.go
    │   │   │   │   ├── node_remove.go
    │   │   │   │   ├── node_update.go
    │   │   │   │   ├── options.go
    │   │   │   │   ├── ping.go
    │   │   │   │   ├── plugin_create.go
    │   │   │   │   ├── plugin_disable.go
    │   │   │   │   ├── plugin_enable.go
    │   │   │   │   ├── plugin_inspect.go
    │   │   │   │   ├── plugin_install.go
    │   │   │   │   ├── plugin_list.go
    │   │   │   │   ├── plugin_push.go
    │   │   │   │   ├── plugin_remove.go
    │   │   │   │   ├── plugin_set.go
    │   │   │   │   ├── plugin_upgrade.go
    │   │   │   │   ├── request.go
    │   │   │   │   ├── secret_create.go
    │   │   │   │   ├── secret_inspect.go
    │   │   │   │   ├── secret_list.go
    │   │   │   │   ├── secret_remove.go
    │   │   │   │   ├── secret_update.go
    │   │   │   │   ├── service_create.go
    │   │   │   │   ├── service_inspect.go
    │   │   │   │   ├── service_list.go
    │   │   │   │   ├── service_logs.go
    │   │   │   │   ├── service_remove.go
    │   │   │   │   ├── service_update.go
    │   │   │   │   ├── swarm_get_unlock_key.go
    │   │   │   │   ├── swarm_init.go
    │   │   │   │   ├── swarm_inspect.go
    │   │   │   │   ├── swarm_join.go
    │   │   │   │   ├── swarm_leave.go
    │   │   │   │   ├── swarm_unlock.go
    │   │   │   │   ├── swarm_update.go
    │   │   │   │   ├── task_inspect.go
    │   │   │   │   ├── task_list.go
    │   │   │   │   ├── task_logs.go
    │   │   │   │   ├── utils.go
    │   │   │   │   ├── version.go
    │   │   │   │   ├── volume_create.go
    │   │   │   │   ├── volume_inspect.go
    │   │   │   │   ├── volume_list.go
    │   │   │   │   ├── volume_prune.go
    │   │   │   │   ├── volume_remove.go
    │   │   │   │   └── volume_update.go
    │   │   │   ├── errdefs/
    │   │   │   │   ├── defs.go
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── helpers.go
    │   │   │   │   ├── http_helpers.go
    │   │   │   │   └── is.go
    │   │   │   ├── image/
    │   │   │   │   └── spec/
    │   │   │   │       └── specs-go/
    │   │   │   │           └── v1/
    │   │   │   │               └── image.go
    │   │   │   ├── internal/
    │   │   │   │   └── multierror/
    │   │   │   │       └── multierror.go
    │   │   │   └── pkg/
    │   │   │       ├── archive/
    │   │   │       │   ├── archive.go
    │   │   │       │   ├── archive_linux.go
    │   │   │       │   ├── archive_other.go
    │   │   │       │   ├── archive_unix.go
    │   │   │       │   ├── archive_windows.go
    │   │   │       │   ├── changes.go
    │   │   │       │   ├── changes_linux.go
    │   │   │       │   ├── changes_other.go
    │   │   │       │   ├── changes_unix.go
    │   │   │       │   ├── changes_windows.go
    │   │   │       │   ├── copy.go
    │   │   │       │   ├── copy_unix.go
    │   │   │       │   ├── copy_windows.go
    │   │   │       │   ├── diff.go
    │   │   │       │   ├── diff_unix.go
    │   │   │       │   ├── diff_windows.go
    │   │   │       │   ├── path.go
    │   │   │       │   ├── path_unix.go
    │   │   │       │   ├── path_windows.go
    │   │   │       │   ├── time_linux.go
    │   │   │       │   ├── time_unsupported.go
    │   │   │       │   ├── whiteouts.go
    │   │   │       │   └── wrap.go
    │   │   │       ├── homedir/
    │   │   │       │   ├── homedir.go
    │   │   │       │   ├── homedir_linux.go
    │   │   │       │   ├── homedir_others.go
    │   │   │       │   ├── homedir_unix.go
    │   │   │       │   └── homedir_windows.go
    │   │   │       ├── idtools/
    │   │   │       │   ├── idtools.go
    │   │   │       │   ├── idtools_unix.go
    │   │   │       │   ├── idtools_windows.go
    │   │   │       │   ├── usergroupadd_linux.go
    │   │   │       │   ├── usergroupadd_unsupported.go
    │   │   │       │   └── utils_unix.go
    │   │   │       ├── ioutils/
    │   │   │       │   ├── buffer.go
    │   │   │       │   ├── bytespipe.go
    │   │   │       │   ├── fswriters.go
    │   │   │       │   ├── readers.go
    │   │   │       │   ├── writeflusher.go
    │   │   │       │   └── writers.go
    │   │   │       ├── jsonmessage/
    │   │   │       │   └── jsonmessage.go
    │   │   │       ├── longpath/
    │   │   │       │   └── longpath.go
    │   │   │       ├── pools/
    │   │   │       │   └── pools.go
    │   │   │       ├── stdcopy/
    │   │   │       │   └── stdcopy.go
    │   │   │       └── system/
    │   │   │           ├── args_windows.go
    │   │   │           ├── chtimes.go
    │   │   │           ├── chtimes_nowindows.go
    │   │   │           ├── chtimes_windows.go
    │   │   │           ├── errors.go
    │   │   │           ├── filesys.go
    │   │   │           ├── filesys_unix.go
    │   │   │           ├── filesys_windows.go
    │   │   │           ├── image_os_deprecated.go
    │   │   │           ├── init_windows.go
    │   │   │           ├── lstat_unix.go
    │   │   │           ├── lstat_windows.go
    │   │   │           ├── mknod.go
    │   │   │           ├── mknod_freebsd.go
    │   │   │           ├── mknod_unix.go
    │   │   │           ├── stat_bsd.go
    │   │   │           ├── stat_darwin.go
    │   │   │           ├── stat_linux.go
    │   │   │           ├── stat_openbsd.go
    │   │   │           ├── stat_unix.go
    │   │   │           ├── stat_windows.go
    │   │   │           ├── utimes_unix.go
    │   │   │           ├── utimes_unsupported.go
    │   │   │           ├── xattrs.go
    │   │   │           ├── xattrs_linux.go
    │   │   │           └── xattrs_unsupported.go
    │   │   ├── docker-credential-helpers/
    │   │   │   ├── LICENSE
    │   │   │   ├── client/
    │   │   │   │   ├── client.go
    │   │   │   │   └── command.go
    │   │   │   └── credentials/
    │   │   │       ├── credentials.go
    │   │   │       ├── error.go
    │   │   │       ├── helper.go
    │   │   │       └── version.go
    │   │   ├── go-connections/
    │   │   │   ├── LICENSE
    │   │   │   ├── nat/
    │   │   │   │   ├── nat.go
    │   │   │   │   ├── parse.go
    │   │   │   │   └── sort.go
    │   │   │   ├── sockets/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── inmem_socket.go
    │   │   │   │   ├── proxy.go
    │   │   │   │   ├── sockets.go
    │   │   │   │   ├── sockets_unix.go
    │   │   │   │   ├── sockets_windows.go
    │   │   │   │   ├── tcp_socket.go
    │   │   │   │   └── unix_socket.go
    │   │   │   └── tlsconfig/
    │   │   │       ├── certpool_go17.go
    │   │   │       ├── certpool_other.go
    │   │   │       ├── config.go
    │   │   │       ├── config_client_ciphers.go
    │   │   │       └── config_legacy_client_ciphers.go
    │   │   └── go-units/
    │   │       ├── CONTRIBUTING.md
    │   │       ├── LICENSE
    │   │       ├── MAINTAINERS
    │   │       ├── README.md
    │   │       ├── circle.yml
    │   │       ├── duration.go
    │   │       ├── size.go
    │   │       └── ulimit.go
    │   ├── dsnet/
    │   │   └── compress/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE.md
    │   │       ├── README.md
    │   │       ├── api.go
    │   │       ├── bzip2/
    │   │       │   ├── bwt.go
    │   │       │   ├── common.go
    │   │       │   ├── fuzz_off.go
    │   │       │   ├── fuzz_on.go
    │   │       │   ├── internal/
    │   │       │   │   └── sais/
    │   │       │   │       ├── common.go
    │   │       │   │       ├── sais_byte.go
    │   │       │   │       └── sais_int.go
    │   │       │   ├── mtf_rle2.go
    │   │       │   ├── prefix.go
    │   │       │   ├── reader.go
    │   │       │   ├── rle1.go
    │   │       │   └── writer.go
    │   │       ├── internal/
    │   │       │   ├── common.go
    │   │       │   ├── debug.go
    │   │       │   ├── errors/
    │   │       │   │   └── errors.go
    │   │       │   ├── gofuzz.go
    │   │       │   ├── prefix/
    │   │       │   │   ├── debug.go
    │   │       │   │   ├── decoder.go
    │   │       │   │   ├── encoder.go
    │   │       │   │   ├── prefix.go
    │   │       │   │   ├── range.go
    │   │       │   │   ├── reader.go
    │   │       │   │   ├── wrap.go
    │   │       │   │   └── writer.go
    │   │       │   └── release.go
    │   │       ├── zbench.sh
    │   │       ├── zfuzz.sh
    │   │       ├── zprof.sh
    │   │       └── ztest.sh
    │   ├── dustin/
    │   │   └── go-humanize/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.markdown
    │   │       ├── big.go
    │   │       ├── bigbytes.go
    │   │       ├── bytes.go
    │   │       ├── comma.go
    │   │       ├── commaf.go
    │   │       ├── ftoa.go
    │   │       ├── humanize.go
    │   │       ├── number.go
    │   │       ├── ordinals.go
    │   │       ├── si.go
    │   │       └── times.go
    │   ├── emicklei/
    │   │   └── go-restful/
    │   │       └── v3/
    │   │           ├── .gitignore
    │   │           ├── .goconvey
    │   │           ├── .travis.yml
    │   │           ├── CHANGES.md
    │   │           ├── LICENSE
    │   │           ├── Makefile
    │   │           ├── README.md
    │   │           ├── SECURITY.md
    │   │           ├── Srcfile
    │   │           ├── bench_test.sh
    │   │           ├── compress.go
    │   │           ├── compressor_cache.go
    │   │           ├── compressor_pools.go
    │   │           ├── compressors.go
    │   │           ├── constants.go
    │   │           ├── container.go
    │   │           ├── cors_filter.go
    │   │           ├── coverage.sh
    │   │           ├── curly.go
    │   │           ├── curly_route.go
    │   │           ├── custom_verb.go
    │   │           ├── doc.go
    │   │           ├── entity_accessors.go
    │   │           ├── extensions.go
    │   │           ├── filter.go
    │   │           ├── filter_adapter.go
    │   │           ├── json.go
    │   │           ├── jsoniter.go
    │   │           ├── jsr311.go
    │   │           ├── log/
    │   │           │   └── log.go
    │   │           ├── logger.go
    │   │           ├── mime.go
    │   │           ├── options_filter.go
    │   │           ├── parameter.go
    │   │           ├── path_expression.go
    │   │           ├── path_processor.go
    │   │           ├── request.go
    │   │           ├── response.go
    │   │           ├── route.go
    │   │           ├── route_builder.go
    │   │           ├── route_reader.go
    │   │           ├── router.go
    │   │           ├── service_error.go
    │   │           ├── web_service.go
    │   │           └── web_service_container.go
    │   ├── evanphx/
    │   │   └── json-patch/
    │   │       ├── .gitignore
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── errors.go
    │   │       ├── merge.go
    │   │       └── patch.go
    │   ├── fatih/
    │   │   └── color/
    │   │       ├── LICENSE.md
    │   │       ├── README.md
    │   │       ├── color.go
    │   │       └── doc.go
    │   ├── felixge/
    │   │   └── httpsnoop/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE.txt
    │   │       ├── Makefile
    │   │       ├── README.md
    │   │       ├── capture_metrics.go
    │   │       ├── docs.go
    │   │       ├── wrap_generated_gteq_1.8.go
    │   │       └── wrap_generated_lt_1.8.go
    │   ├── fsouza/
    │   │   └── go-dockerclient/
    │   │       ├── .gitattributes
    │   │       ├── .gitignore
    │   │       ├── .golangci.yaml
    │   │       ├── DOCKER-LICENSE
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── README.md
    │   │       ├── auth.go
    │   │       ├── change.go
    │   │       ├── client.go
    │   │       ├── client_unix.go
    │   │       ├── client_windows.go
    │   │       ├── container.go
    │   │       ├── container_archive.go
    │   │       ├── container_attach.go
    │   │       ├── container_changes.go
    │   │       ├── container_commit.go
    │   │       ├── container_copy.go
    │   │       ├── container_create.go
    │   │       ├── container_export.go
    │   │       ├── container_inspect.go
    │   │       ├── container_kill.go
    │   │       ├── container_list.go
    │   │       ├── container_logs.go
    │   │       ├── container_pause.go
    │   │       ├── container_prune.go
    │   │       ├── container_remove.go
    │   │       ├── container_rename.go
    │   │       ├── container_resize.go
    │   │       ├── container_restart.go
    │   │       ├── container_start.go
    │   │       ├── container_stats.go
    │   │       ├── container_stop.go
    │   │       ├── container_top.go
    │   │       ├── container_unpause.go
    │   │       ├── container_update.go
    │   │       ├── container_wait.go
    │   │       ├── distribution.go
    │   │       ├── env.go
    │   │       ├── event.go
    │   │       ├── exec.go
    │   │       ├── image.go
    │   │       ├── misc.go
    │   │       ├── network.go
    │   │       ├── plugin.go
    │   │       ├── registry_auth.go
    │   │       ├── signal.go
    │   │       ├── swarm.go
    │   │       ├── swarm_configs.go
    │   │       ├── swarm_node.go
    │   │       ├── swarm_secrets.go
    │   │       ├── swarm_service.go
    │   │       ├── swarm_task.go
    │   │       ├── system.go
    │   │       ├── tar.go
    │   │       ├── tls.go
    │   │       └── volume.go
    │   ├── getkin/
    │   │   └── kin-openapi/
    │   │       ├── LICENSE
    │   │       ├── openapi2/
    │   │       │   ├── doc.go
    │   │       │   ├── header.go
    │   │       │   ├── helpers.go
    │   │       │   ├── marsh.go
    │   │       │   ├── openapi2.go
    │   │       │   ├── operation.go
    │   │       │   ├── parameter.go
    │   │       │   ├── path_item.go
    │   │       │   ├── ref.go
    │   │       │   ├── refs.go
    │   │       │   ├── response.go
    │   │       │   ├── schema.go
    │   │       │   └── security_scheme.go
    │   │       ├── openapi2conv/
    │   │       │   ├── doc.go
    │   │       │   └── openapi2_conv.go
    │   │       └── openapi3/
    │   │           ├── callback.go
    │   │           ├── components.go
    │   │           ├── contact.go
    │   │           ├── content.go
    │   │           ├── discriminator.go
    │   │           ├── doc.go
    │   │           ├── encoding.go
    │   │           ├── errors.go
    │   │           ├── example.go
    │   │           ├── example_validation.go
    │   │           ├── extension.go
    │   │           ├── external_docs.go
    │   │           ├── header.go
    │   │           ├── helpers.go
    │   │           ├── info.go
    │   │           ├── internalize_refs.go
    │   │           ├── license.go
    │   │           ├── link.go
    │   │           ├── loader.go
    │   │           ├── loader_uri_reader.go
    │   │           ├── maplike.go
    │   │           ├── marsh.go
    │   │           ├── media_type.go
    │   │           ├── openapi3.go
    │   │           ├── operation.go
    │   │           ├── origin.go
    │   │           ├── parameter.go
    │   │           ├── path_item.go
    │   │           ├── paths.go
    │   │           ├── ref.go
    │   │           ├── refs.go
    │   │           ├── refs.tmpl
    │   │           ├── refs_test.tmpl
    │   │           ├── request_body.go
    │   │           ├── response.go
    │   │           ├── schema.go
    │   │           ├── schema_formats.go
    │   │           ├── schema_pattern.go
    │   │           ├── schema_validation_settings.go
    │   │           ├── security_requirements.go
    │   │           ├── security_scheme.go
    │   │           ├── serialization_method.go
    │   │           ├── server.go
    │   │           ├── stringmap.go
    │   │           ├── tag.go
    │   │           ├── validation_options.go
    │   │           ├── visited.go
    │   │           └── xml.go
    │   ├── ghodss/
    │   │   └── yaml/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── fields.go
    │   │       └── yaml.go
    │   ├── go-errors/
    │   │   └── errors/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE.MIT
    │   │       ├── README.md
    │   │       ├── error.go
    │   │       ├── error_1_13.go
    │   │       ├── error_backward.go
    │   │       ├── parse_panic.go
    │   │       └── stackframe.go
    │   ├── go-logr/
    │   │   ├── logr/
    │   │   │   ├── .golangci.yaml
    │   │   │   ├── CHANGELOG.md
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── discard.go
    │   │   │   ├── funcr/
    │   │   │   │   └── funcr.go
    │   │   │   └── logr.go
    │   │   └── stdr/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── stdr.go
    │   ├── go-openapi/
    │   │   ├── jsonpointer/
    │   │   │   ├── .editorconfig
    │   │   │   ├── .gitignore
    │   │   │   ├── .golangci.yml
    │   │   │   ├── CODE_OF_CONDUCT.md
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   └── pointer.go
    │   │   └── jsonreference/
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── CODE_OF_CONDUCT.md
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── internal/
    │   │       │   └── normalize_url.go
    │   │       └── reference.go
    │   ├── gobwas/
    │   │   └── glob/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── bench.sh
    │   │       ├── compiler/
    │   │       │   └── compiler.go
    │   │       ├── glob.go
    │   │       ├── match/
    │   │       │   ├── any.go
    │   │       │   ├── any_of.go
    │   │       │   ├── btree.go
    │   │       │   ├── contains.go
    │   │       │   ├── every_of.go
    │   │       │   ├── list.go
    │   │       │   ├── match.go
    │   │       │   ├── max.go
    │   │       │   ├── min.go
    │   │       │   ├── nothing.go
    │   │       │   ├── prefix.go
    │   │       │   ├── prefix_any.go
    │   │       │   ├── prefix_suffix.go
    │   │       │   ├── range.go
    │   │       │   ├── row.go
    │   │       │   ├── segments.go
    │   │       │   ├── single.go
    │   │       │   ├── suffix.go
    │   │       │   ├── suffix_any.go
    │   │       │   ├── super.go
    │   │       │   └── text.go
    │   │       ├── readme.md
    │   │       ├── syntax/
    │   │       │   ├── ast/
    │   │       │   │   ├── ast.go
    │   │       │   │   └── parser.go
    │   │       │   ├── lexer/
    │   │       │   │   ├── lexer.go
    │   │       │   │   └── token.go
    │   │       │   └── syntax.go
    │   │       └── util/
    │   │           ├── runes/
    │   │           │   └── runes.go
    │   │           └── strings/
    │   │               └── strings.go
    │   ├── gocolly/
    │   │   └── colly/
    │   │       └── v2/
    │   │           ├── .codecov.yml
    │   │           ├── .travis.yml
    │   │           ├── CHANGELOG.md
    │   │           ├── CONTRIBUTING.md
    │   │           ├── LICENSE.txt
    │   │           ├── README.md
    │   │           ├── VERSION
    │   │           ├── colly.go
    │   │           ├── context.go
    │   │           ├── debug/
    │   │           │   ├── debug.go
    │   │           │   ├── logdebugger.go
    │   │           │   └── webdebugger.go
    │   │           ├── htmlelement.go
    │   │           ├── http_backend.go
    │   │           ├── http_trace.go
    │   │           ├── request.go
    │   │           ├── response.go
    │   │           ├── storage/
    │   │           │   └── storage.go
    │   │           ├── unmarshal.go
    │   │           └── xmlelement.go
    │   ├── gogo/
    │   │   └── protobuf/
    │   │       ├── AUTHORS
    │   │       ├── CONTRIBUTORS
    │   │       ├── LICENSE
    │   │       ├── proto/
    │   │       │   ├── Makefile
    │   │       │   ├── clone.go
    │   │       │   ├── custom_gogo.go
    │   │       │   ├── decode.go
    │   │       │   ├── deprecated.go
    │   │       │   ├── discard.go
    │   │       │   ├── duration.go
    │   │       │   ├── duration_gogo.go
    │   │       │   ├── encode.go
    │   │       │   ├── encode_gogo.go
    │   │       │   ├── equal.go
    │   │       │   ├── extensions.go
    │   │       │   ├── extensions_gogo.go
    │   │       │   ├── lib.go
    │   │       │   ├── lib_gogo.go
    │   │       │   ├── message_set.go
    │   │       │   ├── pointer_reflect.go
    │   │       │   ├── pointer_reflect_gogo.go
    │   │       │   ├── pointer_unsafe.go
    │   │       │   ├── pointer_unsafe_gogo.go
    │   │       │   ├── properties.go
    │   │       │   ├── properties_gogo.go
    │   │       │   ├── skip_gogo.go
    │   │       │   ├── table_marshal.go
    │   │       │   ├── table_marshal_gogo.go
    │   │       │   ├── table_merge.go
    │   │       │   ├── table_unmarshal.go
    │   │       │   ├── table_unmarshal_gogo.go
    │   │       │   ├── text.go
    │   │       │   ├── text_gogo.go
    │   │       │   ├── text_parser.go
    │   │       │   ├── timestamp.go
    │   │       │   ├── timestamp_gogo.go
    │   │       │   ├── wrappers.go
    │   │       │   └── wrappers_gogo.go
    │   │       └── sortkeys/
    │   │           └── sortkeys.go
    │   ├── golang/
    │   │   ├── groupcache/
    │   │   │   ├── LICENSE
    │   │   │   └── lru/
    │   │   │       └── lru.go
    │   │   └── protobuf/
    │   │       ├── AUTHORS
    │   │       ├── CONTRIBUTORS
    │   │       ├── LICENSE
    │   │       ├── proto/
    │   │       │   ├── buffer.go
    │   │       │   ├── defaults.go
    │   │       │   ├── deprecated.go
    │   │       │   ├── discard.go
    │   │       │   ├── extensions.go
    │   │       │   ├── properties.go
    │   │       │   ├── proto.go
    │   │       │   ├── registry.go
    │   │       │   ├── text_decode.go
    │   │       │   ├── text_encode.go
    │   │       │   ├── wire.go
    │   │       │   └── wrappers.go
    │   │       └── ptypes/
    │   │           ├── any/
    │   │           │   └── any.pb.go
    │   │           ├── any.go
    │   │           ├── doc.go
    │   │           ├── duration/
    │   │           │   └── duration.pb.go
    │   │           ├── duration.go
    │   │           ├── timestamp/
    │   │           │   └── timestamp.pb.go
    │   │           └── timestamp.go
    │   ├── google/
    │   │   ├── btree/
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   └── btree.go
    │   │   ├── gnostic/
    │   │   │   ├── LICENSE
    │   │   │   ├── compiler/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── context.go
    │   │   │   │   ├── error.go
    │   │   │   │   ├── extensions.go
    │   │   │   │   ├── helpers.go
    │   │   │   │   ├── main.go
    │   │   │   │   └── reader.go
    │   │   │   ├── extensions/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── extension.pb.go
    │   │   │   │   ├── extension.proto
    │   │   │   │   └── extensions.go
    │   │   │   ├── jsonschema/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── base.go
    │   │   │   │   ├── display.go
    │   │   │   │   ├── models.go
    │   │   │   │   ├── operations.go
    │   │   │   │   ├── reader.go
    │   │   │   │   ├── schema.json
    │   │   │   │   └── writer.go
    │   │   │   ├── openapiv2/
    │   │   │   │   ├── OpenAPIv2.go
    │   │   │   │   ├── OpenAPIv2.pb.go
    │   │   │   │   ├── OpenAPIv2.proto
    │   │   │   │   ├── README.md
    │   │   │   │   ├── document.go
    │   │   │   │   └── openapi-2.0.json
    │   │   │   └── openapiv3/
    │   │   │       ├── OpenAPIv3.go
    │   │   │       ├── OpenAPIv3.pb.go
    │   │   │       ├── OpenAPIv3.proto
    │   │   │       ├── README.md
    │   │   │       ├── document.go
    │   │   │       ├── openapi-3.0.json
    │   │   │       └── openapi-3.1.json
    │   │   ├── go-cmp/
    │   │   │   ├── LICENSE
    │   │   │   └── cmp/
    │   │   │       ├── compare.go
    │   │   │       ├── export.go
    │   │   │       ├── internal/
    │   │   │       │   ├── diff/
    │   │   │       │   │   ├── debug_disable.go
    │   │   │       │   │   ├── debug_enable.go
    │   │   │       │   │   └── diff.go
    │   │   │       │   ├── flags/
    │   │   │       │   │   └── flags.go
    │   │   │       │   ├── function/
    │   │   │       │   │   └── func.go
    │   │   │       │   └── value/
    │   │   │       │       ├── name.go
    │   │   │       │       ├── pointer.go
    │   │   │       │       └── sort.go
    │   │   │       ├── options.go
    │   │   │       ├── path.go
    │   │   │       ├── report.go
    │   │   │       ├── report_compare.go
    │   │   │       ├── report_references.go
    │   │   │       ├── report_reflect.go
    │   │   │       ├── report_slices.go
    │   │   │       ├── report_text.go
    │   │   │       └── report_value.go
    │   │   ├── go-containerregistry/
    │   │   │   ├── LICENSE
    │   │   │   ├── internal/
    │   │   │   │   ├── and/
    │   │   │   │   │   └── and_closer.go
    │   │   │   │   ├── compression/
    │   │   │   │   │   └── compression.go
    │   │   │   │   ├── estargz/
    │   │   │   │   │   └── estargz.go
    │   │   │   │   ├── gzip/
    │   │   │   │   │   └── zip.go
    │   │   │   │   ├── httptest/
    │   │   │   │   │   └── httptest.go
    │   │   │   │   ├── redact/
    │   │   │   │   │   └── redact.go
    │   │   │   │   ├── retry/
    │   │   │   │   │   ├── retry.go
    │   │   │   │   │   └── wait/
    │   │   │   │   │       └── kubernetes_apimachinery_wait.go
    │   │   │   │   ├── verify/
    │   │   │   │   │   └── verify.go
    │   │   │   │   ├── windows/
    │   │   │   │   │   └── windows.go
    │   │   │   │   └── zstd/
    │   │   │   │       └── zstd.go
    │   │   │   └── pkg/
    │   │   │       ├── authn/
    │   │   │       │   ├── README.md
    │   │   │       │   ├── anon.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── authn.go
    │   │   │       │   ├── basic.go
    │   │   │       │   ├── bearer.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── keychain.go
    │   │   │       │   └── multikeychain.go
    │   │   │       ├── compression/
    │   │   │       │   └── compression.go
    │   │   │       ├── crane/
    │   │   │       │   ├── append.go
    │   │   │       │   ├── catalog.go
    │   │   │       │   ├── config.go
    │   │   │       │   ├── copy.go
    │   │   │       │   ├── delete.go
    │   │   │       │   ├── digest.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── export.go
    │   │   │       │   ├── filemap.go
    │   │   │       │   ├── get.go
    │   │   │       │   ├── list.go
    │   │   │       │   ├── manifest.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── pull.go
    │   │   │       │   ├── push.go
    │   │   │       │   └── tag.go
    │   │   │       ├── legacy/
    │   │   │       │   ├── config.go
    │   │   │       │   ├── doc.go
    │   │   │       │   └── tarball/
    │   │   │       │       ├── README.md
    │   │   │       │       ├── doc.go
    │   │   │       │       └── write.go
    │   │   │       ├── logs/
    │   │   │       │   └── logs.go
    │   │   │       ├── name/
    │   │   │       │   ├── README.md
    │   │   │       │   ├── check.go
    │   │   │       │   ├── digest.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── errors.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── ref.go
    │   │   │       │   ├── registry.go
    │   │   │       │   ├── repository.go
    │   │   │       │   └── tag.go
    │   │   │       ├── registry/
    │   │   │       │   ├── README.md
    │   │   │       │   ├── blobs.go
    │   │   │       │   ├── blobs_disk.go
    │   │   │       │   ├── error.go
    │   │   │       │   ├── manifest.go
    │   │   │       │   ├── registry.go
    │   │   │       │   └── tls.go
    │   │   │       └── v1/
    │   │   │           ├── config.go
    │   │   │           ├── daemon/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── options.go
    │   │   │           │   └── write.go
    │   │   │           ├── doc.go
    │   │   │           ├── empty/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── image.go
    │   │   │           │   └── index.go
    │   │   │           ├── hash.go
    │   │   │           ├── image.go
    │   │   │           ├── index.go
    │   │   │           ├── layer.go
    │   │   │           ├── layout/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── blob.go
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── gc.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── index.go
    │   │   │           │   ├── layoutpath.go
    │   │   │           │   ├── options.go
    │   │   │           │   ├── read.go
    │   │   │           │   └── write.go
    │   │   │           ├── manifest.go
    │   │   │           ├── match/
    │   │   │           │   └── match.go
    │   │   │           ├── mutate/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── index.go
    │   │   │           │   ├── mutate.go
    │   │   │           │   └── rebase.go
    │   │   │           ├── partial/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── compressed.go
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── index.go
    │   │   │           │   ├── uncompressed.go
    │   │   │           │   └── with.go
    │   │   │           ├── platform.go
    │   │   │           ├── progress.go
    │   │   │           ├── remote/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── catalog.go
    │   │   │           │   ├── check.go
    │   │   │           │   ├── delete.go
    │   │   │           │   ├── descriptor.go
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── fetcher.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── index.go
    │   │   │           │   ├── layer.go
    │   │   │           │   ├── list.go
    │   │   │           │   ├── mount.go
    │   │   │           │   ├── multi_write.go
    │   │   │           │   ├── options.go
    │   │   │           │   ├── progress.go
    │   │   │           │   ├── puller.go
    │   │   │           │   ├── pusher.go
    │   │   │           │   ├── referrers.go
    │   │   │           │   ├── schema1.go
    │   │   │           │   ├── transport/
    │   │   │           │   │   ├── README.md
    │   │   │           │   │   ├── basic.go
    │   │   │           │   │   ├── bearer.go
    │   │   │           │   │   ├── doc.go
    │   │   │           │   │   ├── error.go
    │   │   │           │   │   ├── logger.go
    │   │   │           │   │   ├── ping.go
    │   │   │           │   │   ├── retry.go
    │   │   │           │   │   ├── schemer.go
    │   │   │           │   │   ├── scope.go
    │   │   │           │   │   ├── transport.go
    │   │   │           │   │   └── useragent.go
    │   │   │           │   └── write.go
    │   │   │           ├── stream/
    │   │   │           │   ├── README.md
    │   │   │           │   └── layer.go
    │   │   │           ├── tarball/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── layer.go
    │   │   │           │   └── write.go
    │   │   │           ├── types/
    │   │   │           │   └── types.go
    │   │   │           └── zz_deepcopy_generated.go
    │   │   ├── gofuzz/
    │   │   │   ├── .travis.yml
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── bytesource/
    │   │   │   │   └── bytesource.go
    │   │   │   ├── doc.go
    │   │   │   └── fuzz.go
    │   │   ├── shlex/
    │   │   │   ├── COPYING
    │   │   │   ├── README
    │   │   │   └── shlex.go
    │   │   └── uuid/
    │   │       ├── .travis.yml
    │   │       ├── CONTRIBUTING.md
    │   │       ├── CONTRIBUTORS
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── dce.go
    │   │       ├── doc.go
    │   │       ├── hash.go
    │   │       ├── marshal.go
    │   │       ├── node.go
    │   │       ├── node_js.go
    │   │       ├── node_net.go
    │   │       ├── null.go
    │   │       ├── sql.go
    │   │       ├── time.go
    │   │       ├── util.go
    │   │       ├── uuid.go
    │   │       ├── version1.go
    │   │       └── version4.go
    │   ├── gorilla/
    │   │   └── websocket/
    │   │       ├── .gitignore
    │   │       ├── AUTHORS
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── client.go
    │   │       ├── client_clone.go
    │   │       ├── client_clone_legacy.go
    │   │       ├── compression.go
    │   │       ├── conn.go
    │   │       ├── conn_write.go
    │   │       ├── conn_write_legacy.go
    │   │       ├── doc.go
    │   │       ├── join.go
    │   │       ├── json.go
    │   │       ├── mask.go
    │   │       ├── mask_safe.go
    │   │       ├── prepared.go
    │   │       ├── proxy.go
    │   │       ├── server.go
    │   │       ├── trace.go
    │   │       ├── trace_17.go
    │   │       ├── util.go
    │   │       └── x_net_proxy.go
    │   ├── gregjones/
    │   │   └── httpcache/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE.txt
    │   │       ├── README.md
    │   │       └── httpcache.go
    │   ├── imdario/
    │   │   └── mergo/
    │   │       ├── .deepsource.toml
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── CODE_OF_CONDUCT.md
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── doc.go
    │   │       ├── map.go
    │   │       ├── merge.go
    │   │       └── mergo.go
    │   ├── inconshreveable/
    │   │   └── mousetrap/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── trap_others.go
    │   │       └── trap_windows.go
    │   ├── jedib0t/
    │   │   └── go-pretty/
    │   │       └── v6/
    │   │           ├── LICENSE
    │   │           ├── table/
    │   │           │   ├── README.md
    │   │           │   ├── config.go
    │   │           │   ├── render.go
    │   │           │   ├── render_csv.go
    │   │           │   ├── render_hint.go
    │   │           │   ├── render_html.go
    │   │           │   ├── render_init.go
    │   │           │   ├── render_markdown.go
    │   │           │   ├── render_tsv.go
    │   │           │   ├── sort.go
    │   │           │   ├── style.go
    │   │           │   ├── table.go
    │   │           │   ├── util.go
    │   │           │   └── writer.go
    │   │           └── text/
    │   │               ├── README.md
    │   │               ├── align.go
    │   │               ├── ansi.go
    │   │               ├── ansi_unix.go
    │   │               ├── ansi_windows.go
    │   │               ├── color.go
    │   │               ├── color_html.go
    │   │               ├── cursor.go
    │   │               ├── direction.go
    │   │               ├── escape.go
    │   │               ├── filter.go
    │   │               ├── format.go
    │   │               ├── hyperlink.go
    │   │               ├── string.go
    │   │               ├── transformer.go
    │   │               ├── valign.go
    │   │               └── wrap.go
    │   ├── josharian/
    │   │   └── intern/
    │   │       ├── README.md
    │   │       ├── intern.go
    │   │       └── license.md
    │   ├── kennygrant/
    │   │   └── sanitize/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── sanitize.go
    │   ├── klauspost/
    │   │   ├── compress/
    │   │   │   ├── .gitattributes
    │   │   │   ├── .gitignore
    │   │   │   ├── .goreleaser.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── SECURITY.md
    │   │   │   ├── compressible.go
    │   │   │   ├── flate/
    │   │   │   │   ├── deflate.go
    │   │   │   │   ├── dict_decoder.go
    │   │   │   │   ├── fast_encoder.go
    │   │   │   │   ├── huffman_bit_writer.go
    │   │   │   │   ├── huffman_code.go
    │   │   │   │   ├── huffman_sortByFreq.go
    │   │   │   │   ├── huffman_sortByLiteral.go
    │   │   │   │   ├── inflate.go
    │   │   │   │   ├── inflate_gen.go
    │   │   │   │   ├── level1.go
    │   │   │   │   ├── level2.go
    │   │   │   │   ├── level3.go
    │   │   │   │   ├── level4.go
    │   │   │   │   ├── level5.go
    │   │   │   │   ├── level6.go
    │   │   │   │   ├── matchlen_amd64.go
    │   │   │   │   ├── matchlen_amd64.s
    │   │   │   │   ├── matchlen_generic.go
    │   │   │   │   ├── regmask_amd64.go
    │   │   │   │   ├── regmask_other.go
    │   │   │   │   ├── stateless.go
    │   │   │   │   └── token.go
    │   │   │   ├── fse/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── bitreader.go
    │   │   │   │   ├── bitwriter.go
    │   │   │   │   ├── bytereader.go
    │   │   │   │   ├── compress.go
    │   │   │   │   ├── decompress.go
    │   │   │   │   └── fse.go
    │   │   │   ├── gen.sh
    │   │   │   ├── huff0/
    │   │   │   │   ├── .gitignore
    │   │   │   │   ├── README.md
    │   │   │   │   ├── bitreader.go
    │   │   │   │   ├── bitwriter.go
    │   │   │   │   ├── bytereader.go
    │   │   │   │   ├── compress.go
    │   │   │   │   ├── decompress.go
    │   │   │   │   ├── decompress_amd64.go
    │   │   │   │   ├── decompress_amd64.s
    │   │   │   │   ├── decompress_generic.go
    │   │   │   │   └── huff0.go
    │   │   │   ├── internal/
    │   │   │   │   ├── cpuinfo/
    │   │   │   │   │   ├── cpuinfo.go
    │   │   │   │   │   ├── cpuinfo_amd64.go
    │   │   │   │   │   └── cpuinfo_amd64.s
    │   │   │   │   └── snapref/
    │   │   │   │       ├── LICENSE
    │   │   │   │       ├── decode.go
    │   │   │   │       ├── decode_other.go
    │   │   │   │       ├── encode.go
    │   │   │   │       ├── encode_other.go
    │   │   │   │       └── snappy.go
    │   │   │   ├── s2sx.mod
    │   │   │   ├── s2sx.sum
    │   │   │   └── zstd/
    │   │   │       ├── README.md
    │   │   │       ├── bitreader.go
    │   │   │       ├── bitwriter.go
    │   │   │       ├── blockdec.go
    │   │   │       ├── blockenc.go
    │   │   │       ├── blocktype_string.go
    │   │   │       ├── bytebuf.go
    │   │   │       ├── bytereader.go
    │   │   │       ├── decodeheader.go
    │   │   │       ├── decoder.go
    │   │   │       ├── decoder_options.go
    │   │   │       ├── dict.go
    │   │   │       ├── enc_base.go
    │   │   │       ├── enc_best.go
    │   │   │       ├── enc_better.go
    │   │   │       ├── enc_dfast.go
    │   │   │       ├── enc_fast.go
    │   │   │       ├── encoder.go
    │   │   │       ├── encoder_options.go
    │   │   │       ├── framedec.go
    │   │   │       ├── frameenc.go
    │   │   │       ├── fse_decoder.go
    │   │   │       ├── fse_decoder_amd64.go
    │   │   │       ├── fse_decoder_amd64.s
    │   │   │       ├── fse_decoder_generic.go
    │   │   │       ├── fse_encoder.go
    │   │   │       ├── fse_predefined.go
    │   │   │       ├── hash.go
    │   │   │       ├── history.go
    │   │   │       ├── internal/
    │   │   │       │   └── xxhash/
    │   │   │       │       ├── LICENSE.txt
    │   │   │       │       ├── README.md
    │   │   │       │       ├── xxhash.go
    │   │   │       │       ├── xxhash_amd64.s
    │   │   │       │       ├── xxhash_arm64.s
    │   │   │       │       ├── xxhash_asm.go
    │   │   │       │       ├── xxhash_other.go
    │   │   │       │       └── xxhash_safe.go
    │   │   │       ├── matchlen_amd64.go
    │   │   │       ├── matchlen_amd64.s
    │   │   │       ├── matchlen_generic.go
    │   │   │       ├── seqdec.go
    │   │   │       ├── seqdec_amd64.go
    │   │   │       ├── seqdec_amd64.s
    │   │   │       ├── seqdec_generic.go
    │   │   │       ├── seqenc.go
    │   │   │       ├── snappy.go
    │   │   │       ├── zip.go
    │   │   │       └── zstd.go
    │   │   └── pgzip/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── GO_LICENSE
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── gunzip.go
    │   │       └── gzip.go
    │   ├── liggitt/
    │   │   └── tabwriter/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── tabwriter.go
    │   ├── mailru/
    │   │   └── easyjson/
    │   │       ├── LICENSE
    │   │       ├── buffer/
    │   │       │   └── pool.go
    │   │       ├── jlexer/
    │   │       │   ├── bytestostr.go
    │   │       │   ├── bytestostr_nounsafe.go
    │   │       │   ├── error.go
    │   │       │   └── lexer.go
    │   │       └── jwriter/
    │   │           └── writer.go
    │   ├── mattn/
    │   │   ├── go-colorable/
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── colorable_appengine.go
    │   │   │   ├── colorable_others.go
    │   │   │   ├── colorable_windows.go
    │   │   │   ├── go.test.sh
    │   │   │   └── noncolorable.go
    │   │   ├── go-isatty/
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── doc.go
    │   │   │   ├── go.test.sh
    │   │   │   ├── isatty_bsd.go
    │   │   │   ├── isatty_others.go
    │   │   │   ├── isatty_plan9.go
    │   │   │   ├── isatty_solaris.go
    │   │   │   ├── isatty_tcgets.go
    │   │   │   └── isatty_windows.go
    │   │   ├── go-runewidth/
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── go.test.sh
    │   │   │   ├── runewidth.go
    │   │   │   ├── runewidth_appengine.go
    │   │   │   ├── runewidth_js.go
    │   │   │   ├── runewidth_posix.go
    │   │   │   ├── runewidth_table.go
    │   │   │   └── runewidth_windows.go
    │   │   ├── go-shellwords/
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── go.test.sh
    │   │   │   ├── shellwords.go
    │   │   │   ├── util_posix.go
    │   │   │   └── util_windows.go
    │   │   └── go-tty/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── tty.go
    │   │       ├── tty_bsd.go
    │   │       ├── tty_linux.go
    │   │       ├── tty_plan9.go
    │   │       ├── tty_sys5.go
    │   │       ├── tty_unix.go
    │   │       └── tty_windows.go
    │   ├── mitchellh/
    │   │   ├── go-homedir/
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   └── homedir.go
    │   │   └── mapstructure/
    │   │       ├── CHANGELOG.md
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── decode_hooks.go
    │   │       ├── error.go
    │   │       └── mapstructure.go
    │   ├── moby/
    │   │   ├── patternmatcher/
    │   │   │   ├── LICENSE
    │   │   │   ├── NOTICE
    │   │   │   └── patternmatcher.go
    │   │   ├── spdystream/
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE
    │   │   │   ├── MAINTAINERS
    │   │   │   ├── NOTICE
    │   │   │   ├── README.md
    │   │   │   ├── connection.go
    │   │   │   ├── handlers.go
    │   │   │   ├── priority.go
    │   │   │   ├── spdy/
    │   │   │   │   ├── dictionary.go
    │   │   │   │   ├── read.go
    │   │   │   │   ├── types.go
    │   │   │   │   └── write.go
    │   │   │   ├── stream.go
    │   │   │   └── utils.go
    │   │   └── sys/
    │   │       ├── sequential/
    │   │       │   ├── LICENSE
    │   │       │   ├── doc.go
    │   │       │   ├── sequential_unix.go
    │   │       │   └── sequential_windows.go
    │   │       └── user/
    │   │           ├── LICENSE
    │   │           ├── lookup_unix.go
    │   │           ├── user.go
    │   │           └── user_fuzzer.go
    │   ├── modern-go/
    │   │   └── concurrent/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── executor.go
    │   │       ├── go_above_19.go
    │   │       ├── go_below_19.go
    │   │       ├── log.go
    │   │       ├── test.sh
    │   │       └── unbounded_executor.go
    │   ├── mohae/
    │   │   └── deepcopy/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── deepcopy.go
    │   ├── monochromegane/
    │   │   └── go-gitignore/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── depth_holder.go
    │   │       ├── full_scan_patterns.go
    │   │       ├── gitignore.go
    │   │       ├── index_scan_patterns.go
    │   │       ├── initial_holder.go
    │   │       ├── match.go
    │   │       ├── pattern.go
    │   │       ├── patterns.go
    │   │       └── util.go
    │   ├── morikuni/
    │   │   └── aec/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── aec.go
    │   │       ├── ansi.go
    │   │       ├── builder.go
    │   │       └── sgr.go
    │   ├── munnerz/
    │   │   └── goautoneg/
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── README.txt
    │   │       └── autoneg.go
    │   ├── oasdiff/
    │   │   ├── yaml/
    │   │   │   ├── .gitignore
    │   │   │   ├── .golangci.toml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── fields.go
    │   │   │   └── yaml.go
    │   │   └── yaml3/
    │   │       ├── LICENSE
    │   │       ├── NOTICE
    │   │       ├── README.md
    │   │       ├── apic.go
    │   │       ├── decode.go
    │   │       ├── emitterc.go
    │   │       ├── encode.go
    │   │       ├── origin.go
    │   │       ├── parserc.go
    │   │       ├── readerc.go
    │   │       ├── resolve.go
    │   │       ├── scannerc.go
    │   │       ├── sorter.go
    │   │       ├── writerc.go
    │   │       ├── yaml.go
    │   │       ├── yamlh.go
    │   │       └── yamlprivateh.go
    │   ├── opencontainers/
    │   │   ├── go-digest/
    │   │   │   ├── .mailmap
    │   │   │   ├── .pullapprove.yml
    │   │   │   ├── .travis.yml
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE
    │   │   │   ├── LICENSE.docs
    │   │   │   ├── MAINTAINERS
    │   │   │   ├── README.md
    │   │   │   ├── algorithm.go
    │   │   │   ├── digest.go
    │   │   │   ├── digester.go
    │   │   │   ├── doc.go
    │   │   │   └── verifiers.go
    │   │   └── image-spec/
    │   │       ├── LICENSE
    │   │       └── specs-go/
    │   │           ├── v1/
    │   │           │   ├── annotations.go
    │   │           │   ├── config.go
    │   │           │   ├── descriptor.go
    │   │           │   ├── index.go
    │   │           │   ├── layout.go
    │   │           │   ├── manifest.go
    │   │           │   └── mediatype.go
    │   │           ├── version.go
    │   │           └── versioned.go
    │   ├── perimeterx/
    │   │   └── marshmallow/
    │   │       ├── .gitignore
    │   │       ├── CHANGELOG.md
    │   │       ├── CODE_OF_CONDUCT.md
    │   │       ├── CONTRIBUTING.md
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── cache.go
    │   │       ├── doc.go
    │   │       ├── errors.go
    │   │       ├── options.go
    │   │       ├── reflection.go
    │   │       ├── unmarshal.go
    │   │       └── unmarshal_from_json_map.go
    │   ├── peterbourgon/
    │   │   └── diskv/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── compression.go
    │   │       ├── diskv.go
    │   │       └── index.go
    │   ├── pkg/
    │   │   ├── errors/
    │   │   │   ├── .gitignore
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── Makefile
    │   │   │   ├── README.md
    │   │   │   ├── appveyor.yml
    │   │   │   ├── errors.go
    │   │   │   ├── go113.go
    │   │   │   └── stack.go
    │   │   └── term/
    │   │       ├── LICENSE
    │   │       └── termios/
    │   │           ├── doc.go
    │   │           ├── ioctl.go
    │   │           ├── ioctl_darwin.go
    │   │           ├── ioctl_solaris.go
    │   │           ├── pty.go
    │   │           ├── pty_bsd.go
    │   │           ├── pty_darwin.go
    │   │           ├── pty_freebsd.go
    │   │           ├── pty_linux.go
    │   │           ├── pty_netbsd.go
    │   │           ├── pty_solaris.go
    │   │           ├── termios.go
    │   │           ├── termios_bsd.go
    │   │           ├── termios_const.go
    │   │           ├── termios_const_solaris.go
    │   │           ├── termios_linux.go
    │   │           ├── termios_solaris.go
    │   │           └── termios_windows.go
    │   ├── pmezard/
    │   │   └── go-difflib/
    │   │       ├── LICENSE
    │   │       └── difflib/
    │   │           └── difflib.go
    │   ├── rivo/
    │   │   └── uniseg/
    │   │       ├── LICENSE.txt
    │   │       ├── README.md
    │   │       ├── doc.go
    │   │       ├── grapheme.go
    │   │       └── properties.go
    │   ├── russross/
    │   │   └── blackfriday/
    │   │       └── v2/
    │   │           ├── .gitignore
    │   │           ├── .travis.yml
    │   │           ├── LICENSE.txt
    │   │           ├── README.md
    │   │           ├── block.go
    │   │           ├── doc.go
    │   │           ├── entities.go
    │   │           ├── esc.go
    │   │           ├── html.go
    │   │           ├── inline.go
    │   │           ├── markdown.go
    │   │           ├── node.go
    │   │           └── smartypants.go
    │   ├── saintfish/
    │   │   └── chardet/
    │   │       ├── 2022.go
    │   │       ├── AUTHORS
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── detector.go
    │   │       ├── icu-license.html
    │   │       ├── multi_byte.go
    │   │       ├── recognizer.go
    │   │       ├── single_byte.go
    │   │       ├── unicode.go
    │   │       └── utf8.go
    │   ├── slimtoolkit/
    │   │   ├── go-update/
    │   │   │   ├── .gitignore
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── apply.go
    │   │   │   ├── doc.go
    │   │   │   ├── hide_noop.go
    │   │   │   ├── hide_windows.go
    │   │   │   ├── internal/
    │   │   │   │   ├── binarydist/
    │   │   │   │   │   ├── License
    │   │   │   │   │   ├── Readme.md
    │   │   │   │   │   ├── bzip2.go
    │   │   │   │   │   ├── diff.go
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── encoding.go
    │   │   │   │   │   ├── patch.go
    │   │   │   │   │   └── seek.go
    │   │   │   │   └── osext/
    │   │   │   │       ├── LICENSE
    │   │   │   │       ├── README.md
    │   │   │   │       ├── osext.go
    │   │   │   │       ├── osext_plan9.go
    │   │   │   │       ├── osext_procfs.go
    │   │   │   │       ├── osext_sysctl.go
    │   │   │   │       └── osext_windows.go
    │   │   │   ├── patcher.go
    │   │   │   └── verifier.go
    │   │   ├── uilive/
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── Makefile
    │   │   │   ├── README.md
    │   │   │   ├── doc.go
    │   │   │   ├── terminal_size.go
    │   │   │   ├── writer.go
    │   │   │   ├── writer_posix.go
    │   │   │   └── writer_windows.go
    │   │   └── uiprogress/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── README.md
    │   │       ├── bar.go
    │   │       ├── doc.go
    │   │       ├── progress.go
    │   │       └── util/
    │   │           └── strutil/
    │   │               └── strutil.go
    │   ├── spf13/
    │   │   ├── cobra/
    │   │   │   ├── .gitignore
    │   │   │   ├── .golangci.yml
    │   │   │   ├── .mailmap
    │   │   │   ├── CONDUCT.md
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE.txt
    │   │   │   ├── MAINTAINERS
    │   │   │   ├── Makefile
    │   │   │   ├── README.md
    │   │   │   ├── active_help.go
    │   │   │   ├── active_help.md
    │   │   │   ├── args.go
    │   │   │   ├── bash_completions.go
    │   │   │   ├── bash_completions.md
    │   │   │   ├── bash_completionsV2.go
    │   │   │   ├── cobra.go
    │   │   │   ├── command.go
    │   │   │   ├── command_notwin.go
    │   │   │   ├── command_win.go
    │   │   │   ├── completions.go
    │   │   │   ├── fish_completions.go
    │   │   │   ├── fish_completions.md
    │   │   │   ├── flag_groups.go
    │   │   │   ├── powershell_completions.go
    │   │   │   ├── powershell_completions.md
    │   │   │   ├── projects_using_cobra.md
    │   │   │   ├── shell_completions.go
    │   │   │   ├── shell_completions.md
    │   │   │   ├── user_guide.md
    │   │   │   ├── zsh_completions.go
    │   │   │   └── zsh_completions.md
    │   │   └── pflag/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── bool.go
    │   │       ├── bool_slice.go
    │   │       ├── bytes.go
    │   │       ├── count.go
    │   │       ├── duration.go
    │   │       ├── duration_slice.go
    │   │       ├── flag.go
    │   │       ├── float32.go
    │   │       ├── float32_slice.go
    │   │       ├── float64.go
    │   │       ├── float64_slice.go
    │   │       ├── golangflag.go
    │   │       ├── int.go
    │   │       ├── int16.go
    │   │       ├── int32.go
    │   │       ├── int32_slice.go
    │   │       ├── int64.go
    │   │       ├── int64_slice.go
    │   │       ├── int8.go
    │   │       ├── int_slice.go
    │   │       ├── ip.go
    │   │       ├── ip_slice.go
    │   │       ├── ipmask.go
    │   │       ├── ipnet.go
    │   │       ├── string.go
    │   │       ├── string_array.go
    │   │       ├── string_slice.go
    │   │       ├── string_to_int.go
    │   │       ├── string_to_int64.go
    │   │       ├── string_to_string.go
    │   │       ├── uint.go
    │   │       ├── uint16.go
    │   │       ├── uint32.go
    │   │       ├── uint64.go
    │   │       ├── uint8.go
    │   │       └── uint_slice.go
    │   ├── stretchr/
    │   │   └── testify/
    │   │       ├── LICENSE
    │   │       ├── assert/
    │   │       │   ├── assertion_compare.go
    │   │       │   ├── assertion_format.go
    │   │       │   ├── assertion_format.go.tmpl
    │   │       │   ├── assertion_forward.go
    │   │       │   ├── assertion_forward.go.tmpl
    │   │       │   ├── assertion_order.go
    │   │       │   ├── assertions.go
    │   │       │   ├── doc.go
    │   │       │   ├── errors.go
    │   │       │   ├── forward_assertions.go
    │   │       │   └── http_assertions.go
    │   │       └── require/
    │   │           ├── doc.go
    │   │           ├── forward_requirements.go
    │   │           ├── require.go
    │   │           ├── require.go.tmpl
    │   │           ├── require_forward.go
    │   │           ├── require_forward.go.tmpl
    │   │           └── requirements.go
    │   ├── syndtr/
    │   │   └── gocapability/
    │   │       ├── LICENSE
    │   │       └── capability/
    │   │           ├── capability.go
    │   │           ├── capability_linux.go
    │   │           ├── capability_noop.go
    │   │           ├── enum.go
    │   │           ├── enum_gen.go
    │   │           └── syscall_linux.go
    │   ├── temoto/
    │   │   └── robotstxt/
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.rst
    │   │       ├── codecov.yml
    │   │       ├── fuzz.go
    │   │       ├── parser.go
    │   │       ├── robotstxt.go
    │   │       └── scanner.go
    │   ├── ulikunitz/
    │   │   └── xz/
    │   │       ├── .gitignore
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── TODO.md
    │   │       ├── bits.go
    │   │       ├── crc.go
    │   │       ├── format.go
    │   │       ├── fox-check-none.xz
    │   │       ├── fox.xz
    │   │       ├── internal/
    │   │       │   ├── hash/
    │   │       │   │   ├── cyclic_poly.go
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── rabin_karp.go
    │   │       │   │   └── roller.go
    │   │       │   └── xlog/
    │   │       │       └── xlog.go
    │   │       ├── lzma/
    │   │       │   ├── bintree.go
    │   │       │   ├── bitops.go
    │   │       │   ├── breader.go
    │   │       │   ├── buffer.go
    │   │       │   ├── bytewriter.go
    │   │       │   ├── decoder.go
    │   │       │   ├── decoderdict.go
    │   │       │   ├── directcodec.go
    │   │       │   ├── distcodec.go
    │   │       │   ├── encoder.go
    │   │       │   ├── encoderdict.go
    │   │       │   ├── fox.lzma
    │   │       │   ├── hashtable.go
    │   │       │   ├── header.go
    │   │       │   ├── header2.go
    │   │       │   ├── lengthcodec.go
    │   │       │   ├── literalcodec.go
    │   │       │   ├── matchalgorithm.go
    │   │       │   ├── operation.go
    │   │       │   ├── prob.go
    │   │       │   ├── properties.go
    │   │       │   ├── rangecodec.go
    │   │       │   ├── reader.go
    │   │       │   ├── reader2.go
    │   │       │   ├── state.go
    │   │       │   ├── treecodecs.go
    │   │       │   ├── writer.go
    │   │       │   └── writer2.go
    │   │       ├── lzmafilter.go
    │   │       ├── make-docs
    │   │       ├── none-check.go
    │   │       ├── reader.go
    │   │       └── writer.go
    │   ├── ulyssessouza/
    │   │   └── godotenv/
    │   │       ├── .gitignore
    │   │       ├── LICENCE
    │   │       ├── README.md
    │   │       ├── godotenv.go
    │   │       └── renovate.json
    │   ├── vbatts/
    │   │   └── tar-split/
    │   │       ├── LICENSE
    │   │       └── archive/
    │   │           └── tar/
    │   │               ├── common.go
    │   │               ├── format.go
    │   │               ├── reader.go
    │   │               ├── stat_actime1.go
    │   │               ├── stat_actime2.go
    │   │               ├── stat_unix.go
    │   │               ├── strconv.go
    │   │               └── writer.go
    │   ├── xlab/
    │   │   └── treeprint/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── helpers.go
    │   │       ├── struct.go
    │   │       └── treeprint.go
    │   └── xrash/
    │       └── smetrics/
    │           ├── .travis.yml
    │           ├── LICENSE
    │           ├── README.md
    │           ├── doc.go
    │           ├── hamming.go
    │           ├── jaro-winkler.go
    │           ├── jaro.go
    │           ├── soundex.go
    │           ├── ukkonen.go
    │           └── wagner-fischer.go
    ├── go.opentelemetry.io/
    │   ├── contrib/
    │   │   └── instrumentation/
    │   │       └── net/
    │   │           └── http/
    │   │               └── otelhttp/
    │   │                   ├── LICENSE
    │   │                   ├── client.go
    │   │                   ├── common.go
    │   │                   ├── config.go
    │   │                   ├── doc.go
    │   │                   ├── handler.go
    │   │                   ├── internal/
    │   │                   │   └── semconvutil/
    │   │                   │       ├── gen.go
    │   │                   │       ├── httpconv.go
    │   │                   │       └── netconv.go
    │   │                   ├── labeler.go
    │   │                   ├── transport.go
    │   │                   ├── version.go
    │   │                   └── wrap.go
    │   └── otel/
    │       ├── .codespellignore
    │       ├── .codespellrc
    │       ├── .gitattributes
    │       ├── .gitignore
    │       ├── .gitmodules
    │       ├── .golangci.yml
    │       ├── .lycheeignore
    │       ├── .markdownlint.yaml
    │       ├── CHANGELOG.md
    │       ├── CODEOWNERS
    │       ├── CONTRIBUTING.md
    │       ├── LICENSE
    │       ├── Makefile
    │       ├── README.md
    │       ├── RELEASING.md
    │       ├── VERSIONING.md
    │       ├── attribute/
    │       │   ├── doc.go
    │       │   ├── encoder.go
    │       │   ├── filter.go
    │       │   ├── iterator.go
    │       │   ├── key.go
    │       │   ├── kv.go
    │       │   ├── set.go
    │       │   ├── type_string.go
    │       │   └── value.go
    │       ├── baggage/
    │       │   ├── baggage.go
    │       │   ├── context.go
    │       │   └── doc.go
    │       ├── codes/
    │       │   ├── codes.go
    │       │   └── doc.go
    │       ├── doc.go
    │       ├── error_handler.go
    │       ├── get_main_pkgs.sh
    │       ├── handler.go
    │       ├── internal/
    │       │   ├── attribute/
    │       │   │   └── attribute.go
    │       │   ├── baggage/
    │       │   │   ├── baggage.go
    │       │   │   └── context.go
    │       │   ├── gen.go
    │       │   ├── global/
    │       │   │   ├── handler.go
    │       │   │   ├── instruments.go
    │       │   │   ├── internal_logging.go
    │       │   │   ├── meter.go
    │       │   │   ├── propagator.go
    │       │   │   ├── state.go
    │       │   │   └── trace.go
    │       │   └── rawhelpers.go
    │       ├── internal_logging.go
    │       ├── metric/
    │       │   ├── LICENSE
    │       │   ├── asyncfloat64.go
    │       │   ├── asyncint64.go
    │       │   ├── config.go
    │       │   ├── doc.go
    │       │   ├── embedded/
    │       │   │   └── embedded.go
    │       │   ├── instrument.go
    │       │   ├── meter.go
    │       │   ├── syncfloat64.go
    │       │   └── syncint64.go
    │       ├── metric.go
    │       ├── propagation/
    │       │   ├── baggage.go
    │       │   ├── doc.go
    │       │   ├── propagation.go
    │       │   └── trace_context.go
    │       ├── propagation.go
    │       ├── requirements.txt
    │       ├── semconv/
    │       │   └── v1.17.0/
    │       │       ├── doc.go
    │       │       ├── event.go
    │       │       ├── exception.go
    │       │       ├── http.go
    │       │       ├── resource.go
    │       │       ├── schema.go
    │       │       └── trace.go
    │       ├── trace/
    │       │   ├── LICENSE
    │       │   ├── config.go
    │       │   ├── context.go
    │       │   ├── doc.go
    │       │   ├── nonrecording.go
    │       │   ├── noop.go
    │       │   ├── trace.go
    │       │   └── tracestate.go
    │       ├── trace.go
    │       ├── verify_examples.sh
    │       ├── version.go
    │       └── versions.yaml
    ├── go.starlark.net/
    │   ├── LICENSE
    │   ├── internal/
    │   │   ├── compile/
    │   │   │   ├── compile.go
    │   │   │   └── serial.go
    │   │   └── spell/
    │   │       └── spell.go
    │   ├── resolve/
    │   │   ├── binding.go
    │   │   └── resolve.go
    │   ├── starlark/
    │   │   ├── debug.go
    │   │   ├── empty.s
    │   │   ├── eval.go
    │   │   ├── hashtable.go
    │   │   ├── int.go
    │   │   ├── interp.go
    │   │   ├── library.go
    │   │   ├── profile.go
    │   │   ├── unpack.go
    │   │   └── value.go
    │   ├── starlarkstruct/
    │   │   ├── module.go
    │   │   └── struct.go
    │   └── syntax/
    │       ├── grammar.txt
    │       ├── parse.go
    │       ├── quote.go
    │       ├── scan.go
    │       ├── syntax.go
    │       └── walk.go
    ├── golang.org/
    │   └── x/
    │       ├── crypto/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   └── acme/
    │       │       ├── acme.go
    │       │       ├── autocert/
    │       │       │   ├── autocert.go
    │       │       │   ├── cache.go
    │       │       │   ├── listener.go
    │       │       │   └── renewal.go
    │       │       ├── http.go
    │       │       ├── jws.go
    │       │       ├── rfc8555.go
    │       │       └── types.go
    │       ├── mod/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   └── semver/
    │       │       └── semver.go
    │       ├── net/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   ├── context/
    │       │   │   └── context.go
    │       │   ├── html/
    │       │   │   ├── atom/
    │       │   │   │   ├── atom.go
    │       │   │   │   └── table.go
    │       │   │   ├── charset/
    │       │   │   │   └── charset.go
    │       │   │   ├── const.go
    │       │   │   ├── doc.go
    │       │   │   ├── doctype.go
    │       │   │   ├── entity.go
    │       │   │   ├── escape.go
    │       │   │   ├── foreign.go
    │       │   │   ├── iter.go
    │       │   │   ├── node.go
    │       │   │   ├── parse.go
    │       │   │   ├── render.go
    │       │   │   └── token.go
    │       │   ├── http/
    │       │   │   └── httpguts/
    │       │   │       ├── guts.go
    │       │   │       └── httplex.go
    │       │   ├── http2/
    │       │   │   ├── .gitignore
    │       │   │   ├── ascii.go
    │       │   │   ├── ciphers.go
    │       │   │   ├── client_conn_pool.go
    │       │   │   ├── config.go
    │       │   │   ├── config_go125.go
    │       │   │   ├── config_go126.go
    │       │   │   ├── databuffer.go
    │       │   │   ├── errors.go
    │       │   │   ├── flow.go
    │       │   │   ├── frame.go
    │       │   │   ├── gotrack.go
    │       │   │   ├── hpack/
    │       │   │   │   ├── encode.go
    │       │   │   │   ├── hpack.go
    │       │   │   │   ├── huffman.go
    │       │   │   │   ├── static_table.go
    │       │   │   │   └── tables.go
    │       │   │   ├── http2.go
    │       │   │   ├── pipe.go
    │       │   │   ├── server.go
    │       │   │   ├── transport.go
    │       │   │   ├── unencrypted.go
    │       │   │   ├── write.go
    │       │   │   ├── writesched.go
    │       │   │   ├── writesched_priority_rfc7540.go
    │       │   │   ├── writesched_priority_rfc9218.go
    │       │   │   ├── writesched_random.go
    │       │   │   └── writesched_roundrobin.go
    │       │   ├── idna/
    │       │   │   ├── go118.go
    │       │   │   ├── idna10.0.0.go
    │       │   │   ├── idna9.0.0.go
    │       │   │   ├── pre_go118.go
    │       │   │   ├── punycode.go
    │       │   │   ├── tables10.0.0.go
    │       │   │   ├── tables11.0.0.go
    │       │   │   ├── tables12.0.0.go
    │       │   │   ├── tables13.0.0.go
    │       │   │   ├── tables15.0.0.go
    │       │   │   ├── tables9.0.0.go
    │       │   │   ├── trie.go
    │       │   │   ├── trie12.0.0.go
    │       │   │   ├── trie13.0.0.go
    │       │   │   └── trieval.go
    │       │   ├── internal/
    │       │   │   ├── httpcommon/
    │       │   │   │   ├── ascii.go
    │       │   │   │   ├── headermap.go
    │       │   │   │   └── request.go
    │       │   │   └── socks/
    │       │   │       ├── client.go
    │       │   │       └── socks.go
    │       │   └── proxy/
    │       │       ├── dial.go
    │       │       ├── direct.go
    │       │       ├── per_host.go
    │       │       ├── proxy.go
    │       │       └── socks5.go
    │       ├── oauth2/
    │       │   ├── .travis.yml
    │       │   ├── CONTRIBUTING.md
    │       │   ├── LICENSE
    │       │   ├── README.md
    │       │   ├── internal/
    │       │   │   ├── client_appengine.go
    │       │   │   ├── doc.go
    │       │   │   ├── oauth2.go
    │       │   │   ├── token.go
    │       │   │   └── transport.go
    │       │   ├── oauth2.go
    │       │   ├── token.go
    │       │   └── transport.go
    │       ├── sync/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   └── errgroup/
    │       │       └── errgroup.go
    │       ├── sys/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   ├── execabs/
    │       │   │   ├── execabs.go
    │       │   │   ├── execabs_go118.go
    │       │   │   └── execabs_go119.go
    │       │   ├── plan9/
    │       │   │   ├── asm.s
    │       │   │   ├── asm_plan9_386.s
    │       │   │   ├── asm_plan9_amd64.s
    │       │   │   ├── asm_plan9_arm.s
    │       │   │   ├── const_plan9.go
    │       │   │   ├── dir_plan9.go
    │       │   │   ├── env_plan9.go
    │       │   │   ├── errors_plan9.go
    │       │   │   ├── mkall.sh
    │       │   │   ├── mkerrors.sh
    │       │   │   ├── mksysnum_plan9.sh
    │       │   │   ├── pwd_plan9.go
    │       │   │   ├── race.go
    │       │   │   ├── race0.go
    │       │   │   ├── str.go
    │       │   │   ├── syscall.go
    │       │   │   ├── syscall_plan9.go
    │       │   │   ├── zsyscall_plan9_386.go
    │       │   │   ├── zsyscall_plan9_amd64.go
    │       │   │   ├── zsyscall_plan9_arm.go
    │       │   │   └── zsysnum_plan9.go
    │       │   ├── unix/
    │       │   │   ├── .gitignore
    │       │   │   ├── README.md
    │       │   │   ├── affinity_linux.go
    │       │   │   ├── aliases.go
    │       │   │   ├── asm_aix_ppc64.s
    │       │   │   ├── asm_bsd_386.s
    │       │   │   ├── asm_bsd_amd64.s
    │       │   │   ├── asm_bsd_arm.s
    │       │   │   ├── asm_bsd_arm64.s
    │       │   │   ├── asm_bsd_ppc64.s
    │       │   │   ├── asm_bsd_riscv64.s
    │       │   │   ├── asm_linux_386.s
    │       │   │   ├── asm_linux_amd64.s
    │       │   │   ├── asm_linux_arm.s
    │       │   │   ├── asm_linux_arm64.s
    │       │   │   ├── asm_linux_loong64.s
    │       │   │   ├── asm_linux_mips64x.s
    │       │   │   ├── asm_linux_mipsx.s
    │       │   │   ├── asm_linux_ppc64x.s
    │       │   │   ├── asm_linux_riscv64.s
    │       │   │   ├── asm_linux_s390x.s
    │       │   │   ├── asm_openbsd_mips64.s
    │       │   │   ├── asm_solaris_amd64.s
    │       │   │   ├── asm_zos_s390x.s
    │       │   │   ├── auxv.go
    │       │   │   ├── auxv_unsupported.go
    │       │   │   ├── bluetooth_linux.go
    │       │   │   ├── bpxsvc_zos.go
    │       │   │   ├── bpxsvc_zos.s
    │       │   │   ├── cap_freebsd.go
    │       │   │   ├── constants.go
    │       │   │   ├── dev_aix_ppc.go
    │       │   │   ├── dev_aix_ppc64.go
    │       │   │   ├── dev_darwin.go
    │       │   │   ├── dev_dragonfly.go
    │       │   │   ├── dev_freebsd.go
    │       │   │   ├── dev_linux.go
    │       │   │   ├── dev_netbsd.go
    │       │   │   ├── dev_openbsd.go
    │       │   │   ├── dev_zos.go
    │       │   │   ├── dirent.go
    │       │   │   ├── endian_big.go
    │       │   │   ├── endian_little.go
    │       │   │   ├── env_unix.go
    │       │   │   ├── fcntl.go
    │       │   │   ├── fcntl_darwin.go
    │       │   │   ├── fcntl_linux_32bit.go
    │       │   │   ├── fdset.go
    │       │   │   ├── gccgo.go
    │       │   │   ├── gccgo_c.c
    │       │   │   ├── gccgo_linux_amd64.go
    │       │   │   ├── ifreq_linux.go
    │       │   │   ├── ioctl_linux.go
    │       │   │   ├── ioctl_signed.go
    │       │   │   ├── ioctl_unsigned.go
    │       │   │   ├── ioctl_zos.go
    │       │   │   ├── mkall.sh
    │       │   │   ├── mkerrors.sh
    │       │   │   ├── mmap_nomremap.go
    │       │   │   ├── mremap.go
    │       │   │   ├── pagesize_unix.go
    │       │   │   ├── pledge_openbsd.go
    │       │   │   ├── ptrace_darwin.go
    │       │   │   ├── ptrace_ios.go
    │       │   │   ├── race.go
    │       │   │   ├── race0.go
    │       │   │   ├── readdirent_getdents.go
    │       │   │   ├── readdirent_getdirentries.go
    │       │   │   ├── sockcmsg_dragonfly.go
    │       │   │   ├── sockcmsg_linux.go
    │       │   │   ├── sockcmsg_unix.go
    │       │   │   ├── sockcmsg_unix_other.go
    │       │   │   ├── sockcmsg_zos.go
    │       │   │   ├── symaddr_zos_s390x.s
    │       │   │   ├── syscall.go
    │       │   │   ├── syscall_aix.go
    │       │   │   ├── syscall_aix_ppc.go
    │       │   │   ├── syscall_aix_ppc64.go
    │       │   │   ├── syscall_bsd.go
    │       │   │   ├── syscall_darwin.go
    │       │   │   ├── syscall_darwin_amd64.go
    │       │   │   ├── syscall_darwin_arm64.go
    │       │   │   ├── syscall_darwin_libSystem.go
    │       │   │   ├── syscall_dragonfly.go
    │       │   │   ├── syscall_dragonfly_amd64.go
    │       │   │   ├── syscall_freebsd.go
    │       │   │   ├── syscall_freebsd_386.go
    │       │   │   ├── syscall_freebsd_amd64.go
    │       │   │   ├── syscall_freebsd_arm.go
    │       │   │   ├── syscall_freebsd_arm64.go
    │       │   │   ├── syscall_freebsd_riscv64.go
    │       │   │   ├── syscall_hurd.go
    │       │   │   ├── syscall_hurd_386.go
    │       │   │   ├── syscall_illumos.go
    │       │   │   ├── syscall_linux.go
    │       │   │   ├── syscall_linux_386.go
    │       │   │   ├── syscall_linux_alarm.go
    │       │   │   ├── syscall_linux_amd64.go
    │       │   │   ├── syscall_linux_amd64_gc.go
    │       │   │   ├── syscall_linux_arm.go
    │       │   │   ├── syscall_linux_arm64.go
    │       │   │   ├── syscall_linux_gc.go
    │       │   │   ├── syscall_linux_gc_386.go
    │       │   │   ├── syscall_linux_gc_arm.go
    │       │   │   ├── syscall_linux_gccgo_386.go
    │       │   │   ├── syscall_linux_gccgo_arm.go
    │       │   │   ├── syscall_linux_loong64.go
    │       │   │   ├── syscall_linux_mips64x.go
    │       │   │   ├── syscall_linux_mipsx.go
    │       │   │   ├── syscall_linux_ppc.go
    │       │   │   ├── syscall_linux_ppc64x.go
    │       │   │   ├── syscall_linux_riscv64.go
    │       │   │   ├── syscall_linux_s390x.go
    │       │   │   ├── syscall_linux_sparc64.go
    │       │   │   ├── syscall_netbsd.go
    │       │   │   ├── syscall_netbsd_386.go
    │       │   │   ├── syscall_netbsd_amd64.go
    │       │   │   ├── syscall_netbsd_arm.go
    │       │   │   ├── syscall_netbsd_arm64.go
    │       │   │   ├── syscall_openbsd.go
    │       │   │   ├── syscall_openbsd_386.go
    │       │   │   ├── syscall_openbsd_amd64.go
    │       │   │   ├── syscall_openbsd_arm.go
    │       │   │   ├── syscall_openbsd_arm64.go
    │       │   │   ├── syscall_openbsd_libc.go
    │       │   │   ├── syscall_openbsd_mips64.go
    │       │   │   ├── syscall_openbsd_ppc64.go
    │       │   │   ├── syscall_openbsd_riscv64.go
    │       │   │   ├── syscall_solaris.go
    │       │   │   ├── syscall_solaris_amd64.go
    │       │   │   ├── syscall_unix.go
    │       │   │   ├── syscall_unix_gc.go
    │       │   │   ├── syscall_unix_gc_ppc64x.go
    │       │   │   ├── syscall_zos_s390x.go
    │       │   │   ├── sysvshm_linux.go
    │       │   │   ├── sysvshm_unix.go
    │       │   │   ├── sysvshm_unix_other.go
    │       │   │   ├── timestruct.go
    │       │   │   ├── unveil_openbsd.go
    │       │   │   ├── vgetrandom_linux.go
    │       │   │   ├── vgetrandom_unsupported.go
    │       │   │   ├── xattr_bsd.go
    │       │   │   ├── zerrors_aix_ppc.go
    │       │   │   ├── zerrors_aix_ppc64.go
    │       │   │   ├── zerrors_darwin_amd64.go
    │       │   │   ├── zerrors_darwin_arm64.go
    │       │   │   ├── zerrors_dragonfly_amd64.go
    │       │   │   ├── zerrors_freebsd_386.go
    │       │   │   ├── zerrors_freebsd_amd64.go
    │       │   │   ├── zerrors_freebsd_arm.go
    │       │   │   ├── zerrors_freebsd_arm64.go
    │       │   │   ├── zerrors_freebsd_riscv64.go
    │       │   │   ├── zerrors_linux.go
    │       │   │   ├── zerrors_linux_386.go
    │       │   │   ├── zerrors_linux_amd64.go
    │       │   │   ├── zerrors_linux_arm.go
    │       │   │   ├── zerrors_linux_arm64.go
    │       │   │   ├── zerrors_linux_loong64.go
    │       │   │   ├── zerrors_linux_mips.go
    │       │   │   ├── zerrors_linux_mips64.go
    │       │   │   ├── zerrors_linux_mips64le.go
    │       │   │   ├── zerrors_linux_mipsle.go
    │       │   │   ├── zerrors_linux_ppc.go
    │       │   │   ├── zerrors_linux_ppc64.go
    │       │   │   ├── zerrors_linux_ppc64le.go
    │       │   │   ├── zerrors_linux_riscv64.go
    │       │   │   ├── zerrors_linux_s390x.go
    │       │   │   ├── zerrors_linux_sparc64.go
    │       │   │   ├── zerrors_netbsd_386.go
    │       │   │   ├── zerrors_netbsd_amd64.go
    │       │   │   ├── zerrors_netbsd_arm.go
    │       │   │   ├── zerrors_netbsd_arm64.go
    │       │   │   ├── zerrors_openbsd_386.go
    │       │   │   ├── zerrors_openbsd_amd64.go
    │       │   │   ├── zerrors_openbsd_arm.go
    │       │   │   ├── zerrors_openbsd_arm64.go
    │       │   │   ├── zerrors_openbsd_mips64.go
    │       │   │   ├── zerrors_openbsd_ppc64.go
    │       │   │   ├── zerrors_openbsd_riscv64.go
    │       │   │   ├── zerrors_solaris_amd64.go
    │       │   │   ├── zerrors_zos_s390x.go
    │       │   │   ├── zptrace_armnn_linux.go
    │       │   │   ├── zptrace_linux_arm64.go
    │       │   │   ├── zptrace_mipsnn_linux.go
    │       │   │   ├── zptrace_mipsnnle_linux.go
    │       │   │   ├── zptrace_x86_linux.go
    │       │   │   ├── zsymaddr_zos_s390x.s
    │       │   │   ├── zsyscall_aix_ppc.go
    │       │   │   ├── zsyscall_aix_ppc64.go
    │       │   │   ├── zsyscall_aix_ppc64_gc.go
    │       │   │   ├── zsyscall_aix_ppc64_gccgo.go
    │       │   │   ├── zsyscall_darwin_amd64.go
    │       │   │   ├── zsyscall_darwin_amd64.s
    │       │   │   ├── zsyscall_darwin_arm64.go
    │       │   │   ├── zsyscall_darwin_arm64.s
    │       │   │   ├── zsyscall_dragonfly_amd64.go
    │       │   │   ├── zsyscall_freebsd_386.go
    │       │   │   ├── zsyscall_freebsd_amd64.go
    │       │   │   ├── zsyscall_freebsd_arm.go
    │       │   │   ├── zsyscall_freebsd_arm64.go
    │       │   │   ├── zsyscall_freebsd_riscv64.go
    │       │   │   ├── zsyscall_illumos_amd64.go
    │       │   │   ├── zsyscall_linux.go
    │       │   │   ├── zsyscall_linux_386.go
    │       │   │   ├── zsyscall_linux_amd64.go
    │       │   │   ├── zsyscall_linux_arm.go
    │       │   │   ├── zsyscall_linux_arm64.go
    │       │   │   ├── zsyscall_linux_loong64.go
    │       │   │   ├── zsyscall_linux_mips.go
    │       │   │   ├── zsyscall_linux_mips64.go
    │       │   │   ├── zsyscall_linux_mips64le.go
    │       │   │   ├── zsyscall_linux_mipsle.go
    │       │   │   ├── zsyscall_linux_ppc.go
    │       │   │   ├── zsyscall_linux_ppc64.go
    │       │   │   ├── zsyscall_linux_ppc64le.go
    │       │   │   ├── zsyscall_linux_riscv64.go
    │       │   │   ├── zsyscall_linux_s390x.go
    │       │   │   ├── zsyscall_linux_sparc64.go
    │       │   │   ├── zsyscall_netbsd_386.go
    │       │   │   ├── zsyscall_netbsd_amd64.go
    │       │   │   ├── zsyscall_netbsd_arm.go
    │       │   │   ├── zsyscall_netbsd_arm64.go
    │       │   │   ├── zsyscall_openbsd_386.go
    │       │   │   ├── zsyscall_openbsd_386.s
    │       │   │   ├── zsyscall_openbsd_amd64.go
    │       │   │   ├── zsyscall_openbsd_amd64.s
    │       │   │   ├── zsyscall_openbsd_arm.go
    │       │   │   ├── zsyscall_openbsd_arm.s
    │       │   │   ├── zsyscall_openbsd_arm64.go
    │       │   │   ├── zsyscall_openbsd_arm64.s
    │       │   │   ├── zsyscall_openbsd_mips64.go
    │       │   │   ├── zsyscall_openbsd_mips64.s
    │       │   │   ├── zsyscall_openbsd_ppc64.go
    │       │   │   ├── zsyscall_openbsd_ppc64.s
    │       │   │   ├── zsyscall_openbsd_riscv64.go
    │       │   │   ├── zsyscall_openbsd_riscv64.s
    │       │   │   ├── zsyscall_solaris_amd64.go
    │       │   │   ├── zsyscall_zos_s390x.go
    │       │   │   ├── zsysctl_openbsd_386.go
    │       │   │   ├── zsysctl_openbsd_amd64.go
    │       │   │   ├── zsysctl_openbsd_arm.go
    │       │   │   ├── zsysctl_openbsd_arm64.go
    │       │   │   ├── zsysctl_openbsd_mips64.go
    │       │   │   ├── zsysctl_openbsd_ppc64.go
    │       │   │   ├── zsysctl_openbsd_riscv64.go
    │       │   │   ├── zsysnum_darwin_amd64.go
    │       │   │   ├── zsysnum_darwin_arm64.go
    │       │   │   ├── zsysnum_dragonfly_amd64.go
    │       │   │   ├── zsysnum_freebsd_386.go
    │       │   │   ├── zsysnum_freebsd_amd64.go
    │       │   │   ├── zsysnum_freebsd_arm.go
    │       │   │   ├── zsysnum_freebsd_arm64.go
    │       │   │   ├── zsysnum_freebsd_riscv64.go
    │       │   │   ├── zsysnum_linux_386.go
    │       │   │   ├── zsysnum_linux_amd64.go
    │       │   │   ├── zsysnum_linux_arm.go
    │       │   │   ├── zsysnum_linux_arm64.go
    │       │   │   ├── zsysnum_linux_loong64.go
    │       │   │   ├── zsysnum_linux_mips.go
    │       │   │   ├── zsysnum_linux_mips64.go
    │       │   │   ├── zsysnum_linux_mips64le.go
    │       │   │   ├── zsysnum_linux_mipsle.go
    │       │   │   ├── zsysnum_linux_ppc.go
    │       │   │   ├── zsysnum_linux_ppc64.go
    │       │   │   ├── zsysnum_linux_ppc64le.go
    │       │   │   ├── zsysnum_linux_riscv64.go
    │       │   │   ├── zsysnum_linux_s390x.go
    │       │   │   ├── zsysnum_linux_sparc64.go
    │       │   │   ├── zsysnum_netbsd_386.go
    │       │   │   ├── zsysnum_netbsd_amd64.go
    │       │   │   ├── zsysnum_netbsd_arm.go
    │       │   │   ├── zsysnum_netbsd_arm64.go
    │       │   │   ├── zsysnum_openbsd_386.go
    │       │   │   ├── zsysnum_openbsd_amd64.go
    │       │   │   ├── zsysnum_openbsd_arm.go
    │       │   │   ├── zsysnum_openbsd_arm64.go
    │       │   │   ├── zsysnum_openbsd_mips64.go
    │       │   │   ├── zsysnum_openbsd_ppc64.go
    │       │   │   ├── zsysnum_openbsd_riscv64.go
    │       │   │   ├── zsysnum_zos_s390x.go
    │       │   │   ├── ztypes_aix_ppc.go
    │       │   │   ├── ztypes_aix_ppc64.go
    │       │   │   ├── ztypes_darwin_amd64.go
    │       │   │   ├── ztypes_darwin_arm64.go
    │       │   │   ├── ztypes_dragonfly_amd64.go
    │       │   │   ├── ztypes_freebsd_386.go
    │       │   │   ├── ztypes_freebsd_amd64.go
    │       │   │   ├── ztypes_freebsd_arm.go
    │       │   │   ├── ztypes_freebsd_arm64.go
    │       │   │   ├── ztypes_freebsd_riscv64.go
    │       │   │   ├── ztypes_linux.go
    │       │   │   ├── ztypes_linux_386.go
    │       │   │   ├── ztypes_linux_amd64.go
    │       │   │   ├── ztypes_linux_arm.go
    │       │   │   ├── ztypes_linux_arm64.go
    │       │   │   ├── ztypes_linux_loong64.go
    │       │   │   ├── ztypes_linux_mips.go
    │       │   │   ├── ztypes_linux_mips64.go
    │       │   │   ├── ztypes_linux_mips64le.go
    │       │   │   ├── ztypes_linux_mipsle.go
    │       │   │   ├── ztypes_linux_ppc.go
    │       │   │   ├── ztypes_linux_ppc64.go
    │       │   │   ├── ztypes_linux_ppc64le.go
    │       │   │   ├── ztypes_linux_riscv64.go
    │       │   │   ├── ztypes_linux_s390x.go
    │       │   │   ├── ztypes_linux_sparc64.go
    │       │   │   ├── ztypes_netbsd_386.go
    │       │   │   ├── ztypes_netbsd_amd64.go
    │       │   │   ├── ztypes_netbsd_arm.go
    │       │   │   ├── ztypes_netbsd_arm64.go
    │       │   │   ├── ztypes_openbsd_386.go
    │       │   │   ├── ztypes_openbsd_amd64.go
    │       │   │   ├── ztypes_openbsd_arm.go
    │       │   │   ├── ztypes_openbsd_arm64.go
    │       │   │   ├── ztypes_openbsd_mips64.go
    │       │   │   ├── ztypes_openbsd_ppc64.go
    │       │   │   ├── ztypes_openbsd_riscv64.go
    │       │   │   ├── ztypes_solaris_amd64.go
    │       │   │   └── ztypes_zos_s390x.go
    │       │   └── windows/
    │       │       ├── aliases.go
    │       │       ├── dll_windows.go
    │       │       ├── env_windows.go
    │       │       ├── eventlog.go
    │       │       ├── exec_windows.go
    │       │       ├── memory_windows.go
    │       │       ├── mkerrors.bash
    │       │       ├── mkknownfolderids.bash
    │       │       ├── mksyscall.go
    │       │       ├── race.go
    │       │       ├── race0.go
    │       │       ├── security_windows.go
    │       │       ├── service.go
    │       │       ├── setupapi_windows.go
    │       │       ├── str.go
    │       │       ├── syscall.go
    │       │       ├── syscall_windows.go
    │       │       ├── types_windows.go
    │       │       ├── types_windows_386.go
    │       │       ├── types_windows_amd64.go
    │       │       ├── types_windows_arm.go
    │       │       ├── types_windows_arm64.go
    │       │       ├── zerrors_windows.go
    │       │       ├── zknownfolderids_windows.go
    │       │       └── zsyscall_windows.go
    │       ├── term/
    │       │   ├── CONTRIBUTING.md
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   ├── README.md
    │       │   ├── codereview.cfg
    │       │   ├── term.go
    │       │   ├── term_plan9.go
    │       │   ├── term_unix.go
    │       │   ├── term_unix_bsd.go
    │       │   ├── term_unix_other.go
    │       │   ├── term_unsupported.go
    │       │   ├── term_windows.go
    │       │   └── terminal.go
    │       ├── text/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   ├── encoding/
    │       │   │   ├── charmap/
    │       │   │   │   ├── charmap.go
    │       │   │   │   └── tables.go
    │       │   │   ├── encoding.go
    │       │   │   ├── htmlindex/
    │       │   │   │   ├── htmlindex.go
    │       │   │   │   ├── map.go
    │       │   │   │   └── tables.go
    │       │   │   ├── internal/
    │       │   │   │   ├── identifier/
    │       │   │   │   │   ├── identifier.go
    │       │   │   │   │   └── mib.go
    │       │   │   │   └── internal.go
    │       │   │   ├── japanese/
    │       │   │   │   ├── all.go
    │       │   │   │   ├── eucjp.go
    │       │   │   │   ├── iso2022jp.go
    │       │   │   │   ├── shiftjis.go
    │       │   │   │   └── tables.go
    │       │   │   ├── korean/
    │       │   │   │   ├── euckr.go
    │       │   │   │   └── tables.go
    │       │   │   ├── simplifiedchinese/
    │       │   │   │   ├── all.go
    │       │   │   │   ├── gbk.go
    │       │   │   │   ├── hzgb2312.go
    │       │   │   │   └── tables.go
    │       │   │   ├── traditionalchinese/
    │       │   │   │   ├── big5.go
    │       │   │   │   └── tables.go
    │       │   │   └── unicode/
    │       │   │       ├── override.go
    │       │   │       └── unicode.go
    │       │   ├── internal/
    │       │   │   ├── language/
    │       │   │   │   ├── common.go
    │       │   │   │   ├── compact/
    │       │   │   │   │   ├── compact.go
    │       │   │   │   │   ├── language.go
    │       │   │   │   │   ├── parents.go
    │       │   │   │   │   ├── tables.go
    │       │   │   │   │   └── tags.go
    │       │   │   │   ├── compact.go
    │       │   │   │   ├── compose.go
    │       │   │   │   ├── coverage.go
    │       │   │   │   ├── language.go
    │       │   │   │   ├── lookup.go
    │       │   │   │   ├── match.go
    │       │   │   │   ├── parse.go
    │       │   │   │   ├── tables.go
    │       │   │   │   └── tags.go
    │       │   │   ├── tag/
    │       │   │   │   └── tag.go
    │       │   │   └── utf8internal/
    │       │   │       └── utf8internal.go
    │       │   ├── language/
    │       │   │   ├── coverage.go
    │       │   │   ├── doc.go
    │       │   │   ├── language.go
    │       │   │   ├── match.go
    │       │   │   ├── parse.go
    │       │   │   ├── tables.go
    │       │   │   └── tags.go
    │       │   ├── runes/
    │       │   │   ├── cond.go
    │       │   │   └── runes.go
    │       │   ├── secure/
    │       │   │   └── bidirule/
    │       │   │       ├── bidirule.go
    │       │   │       ├── bidirule10.0.0.go
    │       │   │       └── bidirule9.0.0.go
    │       │   ├── transform/
    │       │   │   └── transform.go
    │       │   └── unicode/
    │       │       ├── bidi/
    │       │       │   ├── bidi.go
    │       │       │   ├── bracket.go
    │       │       │   ├── core.go
    │       │       │   ├── prop.go
    │       │       │   ├── tables10.0.0.go
    │       │       │   ├── tables11.0.0.go
    │       │       │   ├── tables12.0.0.go
    │       │       │   ├── tables13.0.0.go
    │       │       │   ├── tables15.0.0.go
    │       │       │   ├── tables9.0.0.go
    │       │       │   └── trieval.go
    │       │       └── norm/
    │       │           ├── composition.go
    │       │           ├── forminfo.go
    │       │           ├── input.go
    │       │           ├── iter.go
    │       │           ├── normalize.go
    │       │           ├── readwriter.go
    │       │           ├── tables10.0.0.go
    │       │           ├── tables11.0.0.go
    │       │           ├── tables12.0.0.go
    │       │           ├── tables13.0.0.go
    │       │           ├── tables15.0.0.go
    │       │           ├── tables9.0.0.go
    │       │           ├── transform.go
    │       │           └── trie.go
    │       ├── time/
    │       │   ├── AUTHORS
    │       │   ├── CONTRIBUTORS
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   └── rate/
    │       │       └── rate.go
    │       └── tools/
    │           ├── LICENSE
    │           ├── PATENTS
    │           ├── cmd/
    │           │   └── stringer/
    │           │       └── stringer.go
    │           ├── go/
    │           │   ├── ast/
    │           │   │   ├── edge/
    │           │   │   │   └── edge.go
    │           │   │   └── inspector/
    │           │   │       ├── cursor.go
    │           │   │       ├── inspector.go
    │           │   │       ├── iter.go
    │           │   │       ├── typeof.go
    │           │   │       └── walk.go
    │           │   ├── gcexportdata/
    │           │   │   ├── gcexportdata.go
    │           │   │   └── importer.go
    │           │   ├── packages/
    │           │   │   ├── doc.go
    │           │   │   ├── external.go
    │           │   │   ├── golist.go
    │           │   │   ├── golist_overlay.go
    │           │   │   ├── loadmode_string.go
    │           │   │   ├── packages.go
    │           │   │   └── visit.go
    │           │   └── types/
    │           │       ├── objectpath/
    │           │       │   └── objectpath.go
    │           │       └── typeutil/
    │           │           ├── callee.go
    │           │           ├── imports.go
    │           │           ├── map.go
    │           │           ├── methodsetcache.go
    │           │           └── ui.go
    │           └── internal/
    │               ├── aliases/
    │               │   ├── aliases.go
    │               │   └── aliases_go122.go
    │               ├── event/
    │               │   ├── core/
    │               │   │   ├── event.go
    │               │   │   ├── export.go
    │               │   │   └── fast.go
    │               │   ├── doc.go
    │               │   ├── event.go
    │               │   ├── keys/
    │               │   │   ├── keys.go
    │               │   │   ├── standard.go
    │               │   │   └── util.go
    │               │   └── label/
    │               │       └── label.go
    │               ├── gcimporter/
    │               │   ├── bimport.go
    │               │   ├── exportdata.go
    │               │   ├── gcimporter.go
    │               │   ├── iexport.go
    │               │   ├── iimport.go
    │               │   ├── predeclared.go
    │               │   ├── support.go
    │               │   └── ureader_yes.go
    │               ├── gocommand/
    │               │   ├── invoke.go
    │               │   ├── invoke_notunix.go
    │               │   ├── invoke_unix.go
    │               │   ├── vendor.go
    │               │   └── version.go
    │               ├── packagesinternal/
    │               │   └── packages.go
    │               ├── pkgbits/
    │               │   ├── codes.go
    │               │   ├── decoder.go
    │               │   ├── doc.go
    │               │   ├── encoder.go
    │               │   ├── flags.go
    │               │   ├── reloc.go
    │               │   ├── support.go
    │               │   ├── sync.go
    │               │   ├── syncmarker_string.go
    │               │   └── version.go
    │               ├── stdlib/
    │               │   ├── deps.go
    │               │   ├── import.go
    │               │   ├── manifest.go
    │               │   └── stdlib.go
    │               ├── typeparams/
    │               │   ├── common.go
    │               │   ├── coretype.go
    │               │   ├── free.go
    │               │   ├── normalize.go
    │               │   ├── termlist.go
    │               │   └── typeterm.go
    │               ├── typesinternal/
    │               │   ├── classify_call.go
    │               │   ├── element.go
    │               │   ├── errorcode.go
    │               │   ├── errorcode_string.go
    │               │   ├── fx.go
    │               │   ├── isnamed.go
    │               │   ├── qualifier.go
    │               │   ├── recv.go
    │               │   ├── toonew.go
    │               │   ├── types.go
    │               │   ├── varkind.go
    │               │   └── zerovalue.go
    │               └── versions/
    │                   ├── features.go
    │                   ├── gover.go
    │                   ├── types.go
    │                   └── versions.go
    ├── google.golang.org/
    │   ├── appengine/
    │   │   ├── LICENSE
    │   │   ├── internal/
    │   │   │   ├── api.go
    │   │   │   ├── api_classic.go
    │   │   │   ├── api_common.go
    │   │   │   ├── app_id.go
    │   │   │   ├── base/
    │   │   │   │   ├── api_base.pb.go
    │   │   │   │   └── api_base.proto
    │   │   │   ├── datastore/
    │   │   │   │   ├── datastore_v3.pb.go
    │   │   │   │   └── datastore_v3.proto
    │   │   │   ├── identity.go
    │   │   │   ├── identity_classic.go
    │   │   │   ├── identity_flex.go
    │   │   │   ├── identity_vm.go
    │   │   │   ├── internal.go
    │   │   │   ├── log/
    │   │   │   │   ├── log_service.pb.go
    │   │   │   │   └── log_service.proto
    │   │   │   ├── main.go
    │   │   │   ├── main_common.go
    │   │   │   ├── main_vm.go
    │   │   │   ├── metadata.go
    │   │   │   ├── net.go
    │   │   │   ├── regen.sh
    │   │   │   ├── remote_api/
    │   │   │   │   ├── remote_api.pb.go
    │   │   │   │   └── remote_api.proto
    │   │   │   ├── transaction.go
    │   │   │   └── urlfetch/
    │   │   │       ├── urlfetch_service.pb.go
    │   │   │       └── urlfetch_service.proto
    │   │   └── urlfetch/
    │   │       └── urlfetch.go
    │   └── protobuf/
    │       ├── LICENSE
    │       ├── PATENTS
    │       ├── encoding/
    │       │   ├── prototext/
    │       │   │   ├── decode.go
    │       │   │   ├── doc.go
    │       │   │   └── encode.go
    │       │   └── protowire/
    │       │       └── wire.go
    │       ├── internal/
    │       │   ├── descfmt/
    │       │   │   └── stringer.go
    │       │   ├── descopts/
    │       │   │   └── options.go
    │       │   ├── detrand/
    │       │   │   └── rand.go
    │       │   ├── editiondefaults/
    │       │   │   ├── defaults.go
    │       │   │   └── editions_defaults.binpb
    │       │   ├── encoding/
    │       │   │   ├── defval/
    │       │   │   │   └── default.go
    │       │   │   ├── messageset/
    │       │   │   │   └── messageset.go
    │       │   │   ├── tag/
    │       │   │   │   └── tag.go
    │       │   │   └── text/
    │       │   │       ├── decode.go
    │       │   │       ├── decode_number.go
    │       │   │       ├── decode_string.go
    │       │   │       ├── decode_token.go
    │       │   │       ├── doc.go
    │       │   │       └── encode.go
    │       │   ├── errors/
    │       │   │   ├── errors.go
    │       │   │   ├── is_go112.go
    │       │   │   └── is_go113.go
    │       │   ├── filedesc/
    │       │   │   ├── build.go
    │       │   │   ├── desc.go
    │       │   │   ├── desc_init.go
    │       │   │   ├── desc_lazy.go
    │       │   │   ├── desc_list.go
    │       │   │   ├── desc_list_gen.go
    │       │   │   ├── editions.go
    │       │   │   └── placeholder.go
    │       │   ├── filetype/
    │       │   │   └── build.go
    │       │   ├── flags/
    │       │   │   ├── flags.go
    │       │   │   ├── proto_legacy_disable.go
    │       │   │   └── proto_legacy_enable.go
    │       │   ├── genid/
    │       │   │   ├── any_gen.go
    │       │   │   ├── api_gen.go
    │       │   │   ├── descriptor_gen.go
    │       │   │   ├── doc.go
    │       │   │   ├── duration_gen.go
    │       │   │   ├── empty_gen.go
    │       │   │   ├── field_mask_gen.go
    │       │   │   ├── go_features_gen.go
    │       │   │   ├── goname.go
    │       │   │   ├── map_entry.go
    │       │   │   ├── source_context_gen.go
    │       │   │   ├── struct_gen.go
    │       │   │   ├── timestamp_gen.go
    │       │   │   ├── type_gen.go
    │       │   │   ├── wrappers.go
    │       │   │   └── wrappers_gen.go
    │       │   ├── impl/
    │       │   │   ├── api_export.go
    │       │   │   ├── checkinit.go
    │       │   │   ├── codec_extension.go
    │       │   │   ├── codec_field.go
    │       │   │   ├── codec_gen.go
    │       │   │   ├── codec_map.go
    │       │   │   ├── codec_map_go111.go
    │       │   │   ├── codec_map_go112.go
    │       │   │   ├── codec_message.go
    │       │   │   ├── codec_messageset.go
    │       │   │   ├── codec_reflect.go
    │       │   │   ├── codec_tables.go
    │       │   │   ├── codec_unsafe.go
    │       │   │   ├── convert.go
    │       │   │   ├── convert_list.go
    │       │   │   ├── convert_map.go
    │       │   │   ├── decode.go
    │       │   │   ├── encode.go
    │       │   │   ├── enum.go
    │       │   │   ├── extension.go
    │       │   │   ├── legacy_enum.go
    │       │   │   ├── legacy_export.go
    │       │   │   ├── legacy_extension.go
    │       │   │   ├── legacy_file.go
    │       │   │   ├── legacy_message.go
    │       │   │   ├── merge.go
    │       │   │   ├── merge_gen.go
    │       │   │   ├── message.go
    │       │   │   ├── message_reflect.go
    │       │   │   ├── message_reflect_field.go
    │       │   │   ├── message_reflect_gen.go
    │       │   │   ├── pointer_reflect.go
    │       │   │   ├── pointer_unsafe.go
    │       │   │   ├── validate.go
    │       │   │   └── weak.go
    │       │   ├── order/
    │       │   │   ├── order.go
    │       │   │   └── range.go
    │       │   ├── pragma/
    │       │   │   └── pragma.go
    │       │   ├── set/
    │       │   │   └── ints.go
    │       │   ├── strs/
    │       │   │   ├── strings.go
    │       │   │   ├── strings_pure.go
    │       │   │   ├── strings_unsafe_go120.go
    │       │   │   └── strings_unsafe_go121.go
    │       │   └── version/
    │       │       └── version.go
    │       ├── proto/
    │       │   ├── checkinit.go
    │       │   ├── decode.go
    │       │   ├── decode_gen.go
    │       │   ├── doc.go
    │       │   ├── encode.go
    │       │   ├── encode_gen.go
    │       │   ├── equal.go
    │       │   ├── extension.go
    │       │   ├── merge.go
    │       │   ├── messageset.go
    │       │   ├── proto.go
    │       │   ├── proto_methods.go
    │       │   ├── proto_reflect.go
    │       │   ├── reset.go
    │       │   ├── size.go
    │       │   ├── size_gen.go
    │       │   └── wrappers.go
    │       ├── reflect/
    │       │   ├── protodesc/
    │       │   │   ├── desc.go
    │       │   │   ├── desc_init.go
    │       │   │   ├── desc_resolve.go
    │       │   │   ├── desc_validate.go
    │       │   │   ├── editions.go
    │       │   │   └── proto.go
    │       │   ├── protoreflect/
    │       │   │   ├── methods.go
    │       │   │   ├── proto.go
    │       │   │   ├── source.go
    │       │   │   ├── source_gen.go
    │       │   │   ├── type.go
    │       │   │   ├── value.go
    │       │   │   ├── value_equal.go
    │       │   │   ├── value_pure.go
    │       │   │   ├── value_union.go
    │       │   │   ├── value_unsafe_go120.go
    │       │   │   └── value_unsafe_go121.go
    │       │   └── protoregistry/
    │       │       └── registry.go
    │       ├── runtime/
    │       │   ├── protoiface/
    │       │   │   ├── legacy.go
    │       │   │   └── methods.go
    │       │   └── protoimpl/
    │       │       ├── impl.go
    │       │       └── version.go
    │       └── types/
    │           ├── descriptorpb/
    │           │   └── descriptor.pb.go
    │           ├── gofeaturespb/
    │           │   ├── go_features.pb.go
    │           │   └── go_features.proto
    │           └── known/
    │               ├── anypb/
    │               │   └── any.pb.go
    │               ├── durationpb/
    │               │   └── duration.pb.go
    │               └── timestamppb/
    │                   └── timestamp.pb.go
    ├── gopkg.in/
    │   ├── inf.v0/
    │   │   ├── LICENSE
    │   │   ├── dec.go
    │   │   └── rounder.go
    │   ├── yaml.v2/
    │   │   ├── .travis.yml
    │   │   ├── LICENSE
    │   │   ├── LICENSE.libyaml
    │   │   ├── NOTICE
    │   │   ├── README.md
    │   │   ├── apic.go
    │   │   ├── decode.go
    │   │   ├── emitterc.go
    │   │   ├── encode.go
    │   │   ├── parserc.go
    │   │   ├── readerc.go
    │   │   ├── resolve.go
    │   │   ├── scannerc.go
    │   │   ├── sorter.go
    │   │   ├── writerc.go
    │   │   ├── yaml.go
    │   │   ├── yamlh.go
    │   │   └── yamlprivateh.go
    │   └── yaml.v3/
    │       ├── LICENSE
    │       ├── NOTICE
    │       ├── README.md
    │       ├── apic.go
    │       ├── decode.go
    │       ├── emitterc.go
    │       ├── encode.go
    │       ├── parserc.go
    │       ├── readerc.go
    │       ├── resolve.go
    │       ├── scannerc.go
    │       ├── sorter.go
    │       ├── writerc.go
    │       ├── yaml.go
    │       ├── yamlh.go
    │       └── yamlprivateh.go
    ├── k8s.io/
    │   ├── api/
    │   │   ├── LICENSE
    │   │   ├── admissionregistration/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── apidiscovery/
    │   │   │   └── v2beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── apiserverinternal/
    │   │   │   └── v1alpha1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       └── zz_generated.deepcopy.go
    │   │   ├── apps/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1beta1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v1beta2/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── authentication/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── authorization/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── autoscaling/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v2/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v2beta1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v2beta2/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── batch/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── certificates/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── coordination/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── core/
    │   │   │   └── v1/
    │   │   │       ├── annotation_key_constants.go
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── lifecycle.go
    │   │   │       ├── objectreference.go
    │   │   │       ├── register.go
    │   │   │       ├── resource.go
    │   │   │       ├── taint.go
    │   │   │       ├── toleration.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── well_known_labels.go
    │   │   │       ├── well_known_taints.go
    │   │   │       └── zz_generated.deepcopy.go
    │   │   ├── discovery/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── well_known_labels.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── well_known_labels.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── events/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── extensions/
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── flowcontrol/
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   ├── v1beta1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   ├── v1beta2/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v1beta3/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── networking/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── well_known_annotations.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── well_known_labels.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── well_known_annotations.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── node/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── policy/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── rbac/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── resource/
    │   │   │   └── v1alpha2/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       └── zz_generated.deepcopy.go
    │   │   ├── scheduling/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   └── storage/
    │   │       ├── v1/
    │   │       │   ├── doc.go
    │   │       │   ├── generated.pb.go
    │   │       │   ├── generated.proto
    │   │       │   ├── register.go
    │   │       │   ├── types.go
    │   │       │   ├── types_swagger_doc_generated.go
    │   │       │   └── zz_generated.deepcopy.go
    │   │       ├── v1alpha1/
    │   │       │   ├── doc.go
    │   │       │   ├── generated.pb.go
    │   │       │   ├── generated.proto
    │   │       │   ├── register.go
    │   │       │   ├── types.go
    │   │       │   ├── types_swagger_doc_generated.go
    │   │       │   ├── zz_generated.deepcopy.go
    │   │       │   └── zz_generated.prerelease-lifecycle.go
    │   │       └── v1beta1/
    │   │           ├── doc.go
    │   │           ├── generated.pb.go
    │   │           ├── generated.proto
    │   │           ├── register.go
    │   │           ├── types.go
    │   │           ├── types_swagger_doc_generated.go
    │   │           ├── zz_generated.deepcopy.go
    │   │           └── zz_generated.prerelease-lifecycle.go
    │   ├── apimachinery/
    │   │   ├── LICENSE
    │   │   ├── pkg/
    │   │   │   ├── api/
    │   │   │   │   ├── equality/
    │   │   │   │   │   └── semantic.go
    │   │   │   │   ├── errors/
    │   │   │   │   │   ├── OWNERS
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   └── errors.go
    │   │   │   │   ├── meta/
    │   │   │   │   │   ├── OWNERS
    │   │   │   │   │   ├── conditions.go
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── errors.go
    │   │   │   │   │   ├── firsthit_restmapper.go
    │   │   │   │   │   ├── help.go
    │   │   │   │   │   ├── interfaces.go
    │   │   │   │   │   ├── lazy.go
    │   │   │   │   │   ├── meta.go
    │   │   │   │   │   ├── multirestmapper.go
    │   │   │   │   │   ├── priority.go
    │   │   │   │   │   └── restmapper.go
    │   │   │   │   ├── resource/
    │   │   │   │   │   ├── OWNERS
    │   │   │   │   │   ├── amount.go
    │   │   │   │   │   ├── generated.pb.go
    │   │   │   │   │   ├── generated.proto
    │   │   │   │   │   ├── math.go
    │   │   │   │   │   ├── quantity.go
    │   │   │   │   │   ├── quantity_proto.go
    │   │   │   │   │   ├── scale_int.go
    │   │   │   │   │   ├── suffix.go
    │   │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   │   └── validation/
    │   │   │   │       ├── doc.go
    │   │   │   │       ├── generic.go
    │   │   │   │       └── objectmeta.go
    │   │   │   ├── apis/
    │   │   │   │   └── meta/
    │   │   │   │       └── v1/
    │   │   │   │           ├── OWNERS
    │   │   │   │           ├── controller_ref.go
    │   │   │   │           ├── conversion.go
    │   │   │   │           ├── deepcopy.go
    │   │   │   │           ├── doc.go
    │   │   │   │           ├── duration.go
    │   │   │   │           ├── generated.pb.go
    │   │   │   │           ├── generated.proto
    │   │   │   │           ├── group_version.go
    │   │   │   │           ├── helpers.go
    │   │   │   │           ├── labels.go
    │   │   │   │           ├── meta.go
    │   │   │   │           ├── micro_time.go
    │   │   │   │           ├── micro_time_fuzz.go
    │   │   │   │           ├── micro_time_proto.go
    │   │   │   │           ├── register.go
    │   │   │   │           ├── time.go
    │   │   │   │           ├── time_fuzz.go
    │   │   │   │           ├── time_proto.go
    │   │   │   │           ├── types.go
    │   │   │   │           ├── types_swagger_doc_generated.go
    │   │   │   │           ├── unstructured/
    │   │   │   │           │   ├── helpers.go
    │   │   │   │           │   ├── unstructured.go
    │   │   │   │           │   ├── unstructured_list.go
    │   │   │   │           │   ├── unstructuredscheme/
    │   │   │   │           │   │   └── scheme.go
    │   │   │   │           │   └── zz_generated.deepcopy.go
    │   │   │   │           ├── validation/
    │   │   │   │           │   └── validation.go
    │   │   │   │           ├── watch.go
    │   │   │   │           ├── zz_generated.conversion.go
    │   │   │   │           ├── zz_generated.deepcopy.go
    │   │   │   │           └── zz_generated.defaults.go
    │   │   │   ├── conversion/
    │   │   │   │   ├── converter.go
    │   │   │   │   ├── deep_equal.go
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── helper.go
    │   │   │   │   └── queryparams/
    │   │   │   │       ├── convert.go
    │   │   │   │       └── doc.go
    │   │   │   ├── fields/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── fields.go
    │   │   │   │   ├── requirements.go
    │   │   │   │   └── selector.go
    │   │   │   ├── labels/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── labels.go
    │   │   │   │   ├── selector.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── runtime/
    │   │   │   │   ├── allocator.go
    │   │   │   │   ├── codec.go
    │   │   │   │   ├── codec_check.go
    │   │   │   │   ├── conversion.go
    │   │   │   │   ├── converter.go
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── embedded.go
    │   │   │   │   ├── error.go
    │   │   │   │   ├── extension.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── helper.go
    │   │   │   │   ├── interfaces.go
    │   │   │   │   ├── mapper.go
    │   │   │   │   ├── negotiate.go
    │   │   │   │   ├── register.go
    │   │   │   │   ├── schema/
    │   │   │   │   │   ├── generated.pb.go
    │   │   │   │   │   ├── generated.proto
    │   │   │   │   │   ├── group_version.go
    │   │   │   │   │   └── interfaces.go
    │   │   │   │   ├── scheme.go
    │   │   │   │   ├── scheme_builder.go
    │   │   │   │   ├── serializer/
    │   │   │   │   │   ├── codec_factory.go
    │   │   │   │   │   ├── json/
    │   │   │   │   │   │   ├── json.go
    │   │   │   │   │   │   └── meta.go
    │   │   │   │   │   ├── negotiated_codec.go
    │   │   │   │   │   ├── protobuf/
    │   │   │   │   │   │   ├── doc.go
    │   │   │   │   │   │   └── protobuf.go
    │   │   │   │   │   ├── recognizer/
    │   │   │   │   │   │   └── recognizer.go
    │   │   │   │   │   ├── streaming/
    │   │   │   │   │   │   └── streaming.go
    │   │   │   │   │   └── versioning/
    │   │   │   │   │       └── versioning.go
    │   │   │   │   ├── swagger_doc_generator.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_proto.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── selection/
    │   │   │   │   └── operator.go
    │   │   │   ├── types/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── namespacedname.go
    │   │   │   │   ├── nodename.go
    │   │   │   │   ├── patch.go
    │   │   │   │   └── uid.go
    │   │   │   ├── util/
    │   │   │   │   ├── duration/
    │   │   │   │   │   └── duration.go
    │   │   │   │   ├── errors/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   └── errors.go
    │   │   │   │   ├── framer/
    │   │   │   │   │   └── framer.go
    │   │   │   │   ├── httpstream/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── httpstream.go
    │   │   │   │   │   └── spdy/
    │   │   │   │   │       ├── connection.go
    │   │   │   │   │       ├── roundtripper.go
    │   │   │   │   │       └── upgrade.go
    │   │   │   │   ├── intstr/
    │   │   │   │   │   ├── generated.pb.go
    │   │   │   │   │   ├── generated.proto
    │   │   │   │   │   ├── instr_fuzz.go
    │   │   │   │   │   └── intstr.go
    │   │   │   │   ├── json/
    │   │   │   │   │   └── json.go
    │   │   │   │   ├── managedfields/
    │   │   │   │   │   ├── endpoints.yaml
    │   │   │   │   │   ├── extract.go
    │   │   │   │   │   ├── fieldmanager.go
    │   │   │   │   │   ├── gvkparser.go
    │   │   │   │   │   ├── internal/
    │   │   │   │   │   │   ├── atmostevery.go
    │   │   │   │   │   │   ├── buildmanagerinfo.go
    │   │   │   │   │   │   ├── capmanagers.go
    │   │   │   │   │   │   ├── conflict.go
    │   │   │   │   │   │   ├── fieldmanager.go
    │   │   │   │   │   │   ├── fields.go
    │   │   │   │   │   │   ├── lastapplied.go
    │   │   │   │   │   │   ├── lastappliedmanager.go
    │   │   │   │   │   │   ├── lastappliedupdater.go
    │   │   │   │   │   │   ├── managedfields.go
    │   │   │   │   │   │   ├── managedfieldsupdater.go
    │   │   │   │   │   │   ├── manager.go
    │   │   │   │   │   │   ├── pathelement.go
    │   │   │   │   │   │   ├── skipnonapplied.go
    │   │   │   │   │   │   ├── stripmeta.go
    │   │   │   │   │   │   ├── structuredmerge.go
    │   │   │   │   │   │   ├── typeconverter.go
    │   │   │   │   │   │   └── versionconverter.go
    │   │   │   │   │   ├── node.yaml
    │   │   │   │   │   ├── pod.yaml
    │   │   │   │   │   ├── scalehandler.go
    │   │   │   │   │   └── typeconverter.go
    │   │   │   │   ├── naming/
    │   │   │   │   │   └── from_stack.go
    │   │   │   │   ├── net/
    │   │   │   │   │   ├── http.go
    │   │   │   │   │   ├── interface.go
    │   │   │   │   │   ├── port_range.go
    │   │   │   │   │   ├── port_split.go
    │   │   │   │   │   └── util.go
    │   │   │   │   ├── remotecommand/
    │   │   │   │   │   └── constants.go
    │   │   │   │   ├── runtime/
    │   │   │   │   │   └── runtime.go
    │   │   │   │   ├── sets/
    │   │   │   │   │   ├── byte.go
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── empty.go
    │   │   │   │   │   ├── int.go
    │   │   │   │   │   ├── int32.go
    │   │   │   │   │   ├── int64.go
    │   │   │   │   │   ├── ordered.go
    │   │   │   │   │   ├── set.go
    │   │   │   │   │   └── string.go
    │   │   │   │   ├── validation/
    │   │   │   │   │   ├── field/
    │   │   │   │   │   │   ├── errors.go
    │   │   │   │   │   │   └── path.go
    │   │   │   │   │   └── validation.go
    │   │   │   │   ├── wait/
    │   │   │   │   │   ├── backoff.go
    │   │   │   │   │   ├── delay.go
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── error.go
    │   │   │   │   │   ├── loop.go
    │   │   │   │   │   ├── poll.go
    │   │   │   │   │   ├── timer.go
    │   │   │   │   │   └── wait.go
    │   │   │   │   └── yaml/
    │   │   │   │       └── decoder.go
    │   │   │   ├── version/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── helpers.go
    │   │   │   │   └── types.go
    │   │   │   └── watch/
    │   │   │       ├── doc.go
    │   │   │       ├── filter.go
    │   │   │       ├── mux.go
    │   │   │       ├── streamwatcher.go
    │   │   │       ├── watch.go
    │   │   │       └── zz_generated.deepcopy.go
    │   │   └── third_party/
    │   │       └── forked/
    │   │           └── golang/
    │   │               ├── LICENSE
    │   │               ├── PATENTS
    │   │               ├── netutil/
    │   │               │   └── addr.go
    │   │               └── reflect/
    │   │                   └── deep_equal.go
    │   ├── cli-runtime/
    │   │   ├── LICENSE
    │   │   └── pkg/
    │   │       ├── genericclioptions/
    │   │       │   ├── builder_flags.go
    │   │       │   ├── builder_flags_fake.go
    │   │       │   ├── client_config.go
    │   │       │   ├── command_headers.go
    │   │       │   ├── config_flags.go
    │   │       │   ├── config_flags_fake.go
    │   │       │   ├── doc.go
    │   │       │   ├── filename_flags.go
    │   │       │   ├── io_options.go
    │   │       │   ├── json_yaml_flags.go
    │   │       │   ├── jsonpath_flags.go
    │   │       │   ├── kube_template_flags.go
    │   │       │   ├── name_flags.go
    │   │       │   ├── print_flags.go
    │   │       │   ├── record_flags.go
    │   │       │   └── template_flags.go
    │   │       ├── printers/
    │   │       │   ├── discard.go
    │   │       │   ├── doc.go
    │   │       │   ├── interface.go
    │   │       │   ├── json.go
    │   │       │   ├── jsonpath.go
    │   │       │   ├── managedfields.go
    │   │       │   ├── name.go
    │   │       │   ├── sourcechecker.go
    │   │       │   ├── tableprinter.go
    │   │       │   ├── tabwriter.go
    │   │       │   ├── template.go
    │   │       │   ├── terminal.go
    │   │       │   ├── typesetter.go
    │   │       │   ├── warningprinter.go
    │   │       │   └── yaml.go
    │   │       └── resource/
    │   │           ├── builder.go
    │   │           ├── client.go
    │   │           ├── crd_finder.go
    │   │           ├── doc.go
    │   │           ├── fake.go
    │   │           ├── fallback_query_param_verifier.go
    │   │           ├── helper.go
    │   │           ├── interfaces.go
    │   │           ├── kustomizevisitor.go
    │   │           ├── mapper.go
    │   │           ├── metadata_decoder.go
    │   │           ├── query_param_verifier.go
    │   │           ├── query_param_verifier_v3.go
    │   │           ├── result.go
    │   │           ├── scheme.go
    │   │           ├── selector.go
    │   │           └── visitor.go
    │   ├── client-go/
    │   │   ├── LICENSE
    │   │   ├── applyconfigurations/
    │   │   │   ├── admissionregistration/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── matchcondition.go
    │   │   │   │   │   ├── mutatingwebhook.go
    │   │   │   │   │   ├── mutatingwebhookconfiguration.go
    │   │   │   │   │   ├── rule.go
    │   │   │   │   │   ├── rulewithoperations.go
    │   │   │   │   │   ├── servicereference.go
    │   │   │   │   │   ├── validatingwebhook.go
    │   │   │   │   │   ├── validatingwebhookconfiguration.go
    │   │   │   │   │   └── webhookclientconfig.go
    │   │   │   │   ├── v1alpha1/
    │   │   │   │   │   ├── auditannotation.go
    │   │   │   │   │   ├── expressionwarning.go
    │   │   │   │   │   ├── matchcondition.go
    │   │   │   │   │   ├── matchresources.go
    │   │   │   │   │   ├── namedrulewithoperations.go
    │   │   │   │   │   ├── paramkind.go
    │   │   │   │   │   ├── paramref.go
    │   │   │   │   │   ├── typechecking.go
    │   │   │   │   │   ├── validatingadmissionpolicy.go
    │   │   │   │   │   ├── validatingadmissionpolicybinding.go
    │   │   │   │   │   ├── validatingadmissionpolicybindingspec.go
    │   │   │   │   │   ├── validatingadmissionpolicyspec.go
    │   │   │   │   │   ├── validatingadmissionpolicystatus.go
    │   │   │   │   │   └── validation.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── matchcondition.go
    │   │   │   │       ├── mutatingwebhook.go
    │   │   │   │       ├── mutatingwebhookconfiguration.go
    │   │   │   │       ├── servicereference.go
    │   │   │   │       ├── validatingwebhook.go
    │   │   │   │       ├── validatingwebhookconfiguration.go
    │   │   │   │       └── webhookclientconfig.go
    │   │   │   ├── apiserverinternal/
    │   │   │   │   └── v1alpha1/
    │   │   │   │       ├── serverstorageversion.go
    │   │   │   │       ├── storageversion.go
    │   │   │   │       ├── storageversioncondition.go
    │   │   │   │       └── storageversionstatus.go
    │   │   │   ├── apps/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── controllerrevision.go
    │   │   │   │   │   ├── daemonset.go
    │   │   │   │   │   ├── daemonsetcondition.go
    │   │   │   │   │   ├── daemonsetspec.go
    │   │   │   │   │   ├── daemonsetstatus.go
    │   │   │   │   │   ├── daemonsetupdatestrategy.go
    │   │   │   │   │   ├── deployment.go
    │   │   │   │   │   ├── deploymentcondition.go
    │   │   │   │   │   ├── deploymentspec.go
    │   │   │   │   │   ├── deploymentstatus.go
    │   │   │   │   │   ├── deploymentstrategy.go
    │   │   │   │   │   ├── replicaset.go
    │   │   │   │   │   ├── replicasetcondition.go
    │   │   │   │   │   ├── replicasetspec.go
    │   │   │   │   │   ├── replicasetstatus.go
    │   │   │   │   │   ├── rollingupdatedaemonset.go
    │   │   │   │   │   ├── rollingupdatedeployment.go
    │   │   │   │   │   ├── rollingupdatestatefulsetstrategy.go
    │   │   │   │   │   ├── statefulset.go
    │   │   │   │   │   ├── statefulsetcondition.go
    │   │   │   │   │   ├── statefulsetordinals.go
    │   │   │   │   │   ├── statefulsetpersistentvolumeclaimretentionpolicy.go
    │   │   │   │   │   ├── statefulsetspec.go
    │   │   │   │   │   ├── statefulsetstatus.go
    │   │   │   │   │   └── statefulsetupdatestrategy.go
    │   │   │   │   ├── v1beta1/
    │   │   │   │   │   ├── controllerrevision.go
    │   │   │   │   │   ├── deployment.go
    │   │   │   │   │   ├── deploymentcondition.go
    │   │   │   │   │   ├── deploymentspec.go
    │   │   │   │   │   ├── deploymentstatus.go
    │   │   │   │   │   ├── deploymentstrategy.go
    │   │   │   │   │   ├── rollbackconfig.go
    │   │   │   │   │   ├── rollingupdatedeployment.go
    │   │   │   │   │   ├── rollingupdatestatefulsetstrategy.go
    │   │   │   │   │   ├── statefulset.go
    │   │   │   │   │   ├── statefulsetcondition.go
    │   │   │   │   │   ├── statefulsetordinals.go
    │   │   │   │   │   ├── statefulsetpersistentvolumeclaimretentionpolicy.go
    │   │   │   │   │   ├── statefulsetspec.go
    │   │   │   │   │   ├── statefulsetstatus.go
    │   │   │   │   │   └── statefulsetupdatestrategy.go
    │   │   │   │   └── v1beta2/
    │   │   │   │       ├── controllerrevision.go
    │   │   │   │       ├── daemonset.go
    │   │   │   │       ├── daemonsetcondition.go
    │   │   │   │       ├── daemonsetspec.go
    │   │   │   │       ├── daemonsetstatus.go
    │   │   │   │       ├── daemonsetupdatestrategy.go
    │   │   │   │       ├── deployment.go
    │   │   │   │       ├── deploymentcondition.go
    │   │   │   │       ├── deploymentspec.go
    │   │   │   │       ├── deploymentstatus.go
    │   │   │   │       ├── deploymentstrategy.go
    │   │   │   │       ├── replicaset.go
    │   │   │   │       ├── replicasetcondition.go
    │   │   │   │       ├── replicasetspec.go
    │   │   │   │       ├── replicasetstatus.go
    │   │   │   │       ├── rollingupdatedaemonset.go
    │   │   │   │       ├── rollingupdatedeployment.go
    │   │   │   │       ├── rollingupdatestatefulsetstrategy.go
    │   │   │   │       ├── scale.go
    │   │   │   │       ├── statefulset.go
    │   │   │   │       ├── statefulsetcondition.go
    │   │   │   │       ├── statefulsetordinals.go
    │   │   │   │       ├── statefulsetpersistentvolumeclaimretentionpolicy.go
    │   │   │   │       ├── statefulsetspec.go
    │   │   │   │       ├── statefulsetstatus.go
    │   │   │   │       └── statefulsetupdatestrategy.go
    │   │   │   ├── autoscaling/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── crossversionobjectreference.go
    │   │   │   │   │   ├── horizontalpodautoscaler.go
    │   │   │   │   │   ├── horizontalpodautoscalerspec.go
    │   │   │   │   │   ├── horizontalpodautoscalerstatus.go
    │   │   │   │   │   ├── scale.go
    │   │   │   │   │   ├── scalespec.go
    │   │   │   │   │   └── scalestatus.go
    │   │   │   │   ├── v2/
    │   │   │   │   │   ├── containerresourcemetricsource.go
    │   │   │   │   │   ├── containerresourcemetricstatus.go
    │   │   │   │   │   ├── crossversionobjectreference.go
    │   │   │   │   │   ├── externalmetricsource.go
    │   │   │   │   │   ├── externalmetricstatus.go
    │   │   │   │   │   ├── horizontalpodautoscaler.go
    │   │   │   │   │   ├── horizontalpodautoscalerbehavior.go
    │   │   │   │   │   ├── horizontalpodautoscalercondition.go
    │   │   │   │   │   ├── horizontalpodautoscalerspec.go
    │   │   │   │   │   ├── horizontalpodautoscalerstatus.go
    │   │   │   │   │   ├── hpascalingpolicy.go
    │   │   │   │   │   ├── hpascalingrules.go
    │   │   │   │   │   ├── metricidentifier.go
    │   │   │   │   │   ├── metricspec.go
    │   │   │   │   │   ├── metricstatus.go
    │   │   │   │   │   ├── metrictarget.go
    │   │   │   │   │   ├── metricvaluestatus.go
    │   │   │   │   │   ├── objectmetricsource.go
    │   │   │   │   │   ├── objectmetricstatus.go
    │   │   │   │   │   ├── podsmetricsource.go
    │   │   │   │   │   ├── podsmetricstatus.go
    │   │   │   │   │   ├── resourcemetricsource.go
    │   │   │   │   │   └── resourcemetricstatus.go
    │   │   │   │   ├── v2beta1/
    │   │   │   │   │   ├── containerresourcemetricsource.go
    │   │   │   │   │   ├── containerresourcemetricstatus.go
    │   │   │   │   │   ├── crossversionobjectreference.go
    │   │   │   │   │   ├── externalmetricsource.go
    │   │   │   │   │   ├── externalmetricstatus.go
    │   │   │   │   │   ├── horizontalpodautoscaler.go
    │   │   │   │   │   ├── horizontalpodautoscalercondition.go
    │   │   │   │   │   ├── horizontalpodautoscalerspec.go
    │   │   │   │   │   ├── horizontalpodautoscalerstatus.go
    │   │   │   │   │   ├── metricspec.go
    │   │   │   │   │   ├── metricstatus.go
    │   │   │   │   │   ├── objectmetricsource.go
    │   │   │   │   │   ├── objectmetricstatus.go
    │   │   │   │   │   ├── podsmetricsource.go
    │   │   │   │   │   ├── podsmetricstatus.go
    │   │   │   │   │   ├── resourcemetricsource.go
    │   │   │   │   │   └── resourcemetricstatus.go
    │   │   │   │   └── v2beta2/
    │   │   │   │       ├── containerresourcemetricsource.go
    │   │   │   │       ├── containerresourcemetricstatus.go
    │   │   │   │       ├── crossversionobjectreference.go
    │   │   │   │       ├── externalmetricsource.go
    │   │   │   │       ├── externalmetricstatus.go
    │   │   │   │       ├── horizontalpodautoscaler.go
    │   │   │   │       ├── horizontalpodautoscalerbehavior.go
    │   │   │   │       ├── horizontalpodautoscalercondition.go
    │   │   │   │       ├── horizontalpodautoscalerspec.go
    │   │   │   │       ├── horizontalpodautoscalerstatus.go
    │   │   │   │       ├── hpascalingpolicy.go
    │   │   │   │       ├── hpascalingrules.go
    │   │   │   │       ├── metricidentifier.go
    │   │   │   │       ├── metricspec.go
    │   │   │   │       ├── metricstatus.go
    │   │   │   │       ├── metrictarget.go
    │   │   │   │       ├── metricvaluestatus.go
    │   │   │   │       ├── objectmetricsource.go
    │   │   │   │       ├── objectmetricstatus.go
    │   │   │   │       ├── podsmetricsource.go
    │   │   │   │       ├── podsmetricstatus.go
    │   │   │   │       ├── resourcemetricsource.go
    │   │   │   │       └── resourcemetricstatus.go
    │   │   │   ├── batch/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── cronjob.go
    │   │   │   │   │   ├── cronjobspec.go
    │   │   │   │   │   ├── cronjobstatus.go
    │   │   │   │   │   ├── job.go
    │   │   │   │   │   ├── jobcondition.go
    │   │   │   │   │   ├── jobspec.go
    │   │   │   │   │   ├── jobstatus.go
    │   │   │   │   │   ├── jobtemplatespec.go
    │   │   │   │   │   ├── podfailurepolicy.go
    │   │   │   │   │   ├── podfailurepolicyonexitcodesrequirement.go
    │   │   │   │   │   ├── podfailurepolicyonpodconditionspattern.go
    │   │   │   │   │   ├── podfailurepolicyrule.go
    │   │   │   │   │   └── uncountedterminatedpods.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── cronjob.go
    │   │   │   │       ├── cronjobspec.go
    │   │   │   │       ├── cronjobstatus.go
    │   │   │   │       └── jobtemplatespec.go
    │   │   │   ├── certificates/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── certificatesigningrequest.go
    │   │   │   │   │   ├── certificatesigningrequestcondition.go
    │   │   │   │   │   ├── certificatesigningrequestspec.go
    │   │   │   │   │   └── certificatesigningrequeststatus.go
    │   │   │   │   ├── v1alpha1/
    │   │   │   │   │   ├── clustertrustbundle.go
    │   │   │   │   │   └── clustertrustbundlespec.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── certificatesigningrequest.go
    │   │   │   │       ├── certificatesigningrequestcondition.go
    │   │   │   │       ├── certificatesigningrequestspec.go
    │   │   │   │       └── certificatesigningrequeststatus.go
    │   │   │   ├── coordination/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── lease.go
    │   │   │   │   │   └── leasespec.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── lease.go
    │   │   │   │       └── leasespec.go
    │   │   │   ├── core/
    │   │   │   │   └── v1/
    │   │   │   │       ├── affinity.go
    │   │   │   │       ├── attachedvolume.go
    │   │   │   │       ├── awselasticblockstorevolumesource.go
    │   │   │   │       ├── azurediskvolumesource.go
    │   │   │   │       ├── azurefilepersistentvolumesource.go
    │   │   │   │       ├── azurefilevolumesource.go
    │   │   │   │       ├── capabilities.go
    │   │   │   │       ├── cephfspersistentvolumesource.go
    │   │   │   │       ├── cephfsvolumesource.go
    │   │   │   │       ├── cinderpersistentvolumesource.go
    │   │   │   │       ├── cindervolumesource.go
    │   │   │   │       ├── claimsource.go
    │   │   │   │       ├── clientipconfig.go
    │   │   │   │       ├── componentcondition.go
    │   │   │   │       ├── componentstatus.go
    │   │   │   │       ├── configmap.go
    │   │   │   │       ├── configmapenvsource.go
    │   │   │   │       ├── configmapkeyselector.go
    │   │   │   │       ├── configmapnodeconfigsource.go
    │   │   │   │       ├── configmapprojection.go
    │   │   │   │       ├── configmapvolumesource.go
    │   │   │   │       ├── container.go
    │   │   │   │       ├── containerimage.go
    │   │   │   │       ├── containerport.go
    │   │   │   │       ├── containerresizepolicy.go
    │   │   │   │       ├── containerstate.go
    │   │   │   │       ├── containerstaterunning.go
    │   │   │   │       ├── containerstateterminated.go
    │   │   │   │       ├── containerstatewaiting.go
    │   │   │   │       ├── containerstatus.go
    │   │   │   │       ├── csipersistentvolumesource.go
    │   │   │   │       ├── csivolumesource.go
    │   │   │   │       ├── daemonendpoint.go
    │   │   │   │       ├── downwardapiprojection.go
    │   │   │   │       ├── downwardapivolumefile.go
    │   │   │   │       ├── downwardapivolumesource.go
    │   │   │   │       ├── emptydirvolumesource.go
    │   │   │   │       ├── endpointaddress.go
    │   │   │   │       ├── endpointport.go
    │   │   │   │       ├── endpoints.go
    │   │   │   │       ├── endpointsubset.go
    │   │   │   │       ├── envfromsource.go
    │   │   │   │       ├── envvar.go
    │   │   │   │       ├── envvarsource.go
    │   │   │   │       ├── ephemeralcontainer.go
    │   │   │   │       ├── ephemeralcontainercommon.go
    │   │   │   │       ├── ephemeralvolumesource.go
    │   │   │   │       ├── event.go
    │   │   │   │       ├── eventseries.go
    │   │   │   │       ├── eventsource.go
    │   │   │   │       ├── execaction.go
    │   │   │   │       ├── fcvolumesource.go
    │   │   │   │       ├── flexpersistentvolumesource.go
    │   │   │   │       ├── flexvolumesource.go
    │   │   │   │       ├── flockervolumesource.go
    │   │   │   │       ├── gcepersistentdiskvolumesource.go
    │   │   │   │       ├── gitrepovolumesource.go
    │   │   │   │       ├── glusterfspersistentvolumesource.go
    │   │   │   │       ├── glusterfsvolumesource.go
    │   │   │   │       ├── grpcaction.go
    │   │   │   │       ├── hostalias.go
    │   │   │   │       ├── hostpathvolumesource.go
    │   │   │   │       ├── httpgetaction.go
    │   │   │   │       ├── httpheader.go
    │   │   │   │       ├── iscsipersistentvolumesource.go
    │   │   │   │       ├── iscsivolumesource.go
    │   │   │   │       ├── keytopath.go
    │   │   │   │       ├── lifecycle.go
    │   │   │   │       ├── lifecyclehandler.go
    │   │   │   │       ├── limitrange.go
    │   │   │   │       ├── limitrangeitem.go
    │   │   │   │       ├── limitrangespec.go
    │   │   │   │       ├── loadbalanceringress.go
    │   │   │   │       ├── loadbalancerstatus.go
    │   │   │   │       ├── localobjectreference.go
    │   │   │   │       ├── localvolumesource.go
    │   │   │   │       ├── namespace.go
    │   │   │   │       ├── namespacecondition.go
    │   │   │   │       ├── namespacespec.go
    │   │   │   │       ├── namespacestatus.go
    │   │   │   │       ├── nfsvolumesource.go
    │   │   │   │       ├── node.go
    │   │   │   │       ├── nodeaddress.go
    │   │   │   │       ├── nodeaffinity.go
    │   │   │   │       ├── nodecondition.go
    │   │   │   │       ├── nodeconfigsource.go
    │   │   │   │       ├── nodeconfigstatus.go
    │   │   │   │       ├── nodedaemonendpoints.go
    │   │   │   │       ├── nodeselector.go
    │   │   │   │       ├── nodeselectorrequirement.go
    │   │   │   │       ├── nodeselectorterm.go
    │   │   │   │       ├── nodespec.go
    │   │   │   │       ├── nodestatus.go
    │   │   │   │       ├── nodesysteminfo.go
    │   │   │   │       ├── objectfieldselector.go
    │   │   │   │       ├── objectreference.go
    │   │   │   │       ├── persistentvolume.go
    │   │   │   │       ├── persistentvolumeclaim.go
    │   │   │   │       ├── persistentvolumeclaimcondition.go
    │   │   │   │       ├── persistentvolumeclaimspec.go
    │   │   │   │       ├── persistentvolumeclaimstatus.go
    │   │   │   │       ├── persistentvolumeclaimtemplate.go
    │   │   │   │       ├── persistentvolumeclaimvolumesource.go
    │   │   │   │       ├── persistentvolumesource.go
    │   │   │   │       ├── persistentvolumespec.go
    │   │   │   │       ├── persistentvolumestatus.go
    │   │   │   │       ├── photonpersistentdiskvolumesource.go
    │   │   │   │       ├── pod.go
    │   │   │   │       ├── podaffinity.go
    │   │   │   │       ├── podaffinityterm.go
    │   │   │   │       ├── podantiaffinity.go
    │   │   │   │       ├── podcondition.go
    │   │   │   │       ├── poddnsconfig.go
    │   │   │   │       ├── poddnsconfigoption.go
    │   │   │   │       ├── podip.go
    │   │   │   │       ├── podos.go
    │   │   │   │       ├── podreadinessgate.go
    │   │   │   │       ├── podresourceclaim.go
    │   │   │   │       ├── podschedulinggate.go
    │   │   │   │       ├── podsecuritycontext.go
    │   │   │   │       ├── podspec.go
    │   │   │   │       ├── podstatus.go
    │   │   │   │       ├── podtemplate.go
    │   │   │   │       ├── podtemplatespec.go
    │   │   │   │       ├── portstatus.go
    │   │   │   │       ├── portworxvolumesource.go
    │   │   │   │       ├── preferredschedulingterm.go
    │   │   │   │       ├── probe.go
    │   │   │   │       ├── probehandler.go
    │   │   │   │       ├── projectedvolumesource.go
    │   │   │   │       ├── quobytevolumesource.go
    │   │   │   │       ├── rbdpersistentvolumesource.go
    │   │   │   │       ├── rbdvolumesource.go
    │   │   │   │       ├── replicationcontroller.go
    │   │   │   │       ├── replicationcontrollercondition.go
    │   │   │   │       ├── replicationcontrollerspec.go
    │   │   │   │       ├── replicationcontrollerstatus.go
    │   │   │   │       ├── resourceclaim.go
    │   │   │   │       ├── resourcefieldselector.go
    │   │   │   │       ├── resourcequota.go
    │   │   │   │       ├── resourcequotaspec.go
    │   │   │   │       ├── resourcequotastatus.go
    │   │   │   │       ├── resourcerequirements.go
    │   │   │   │       ├── scaleiopersistentvolumesource.go
    │   │   │   │       ├── scaleiovolumesource.go
    │   │   │   │       ├── scopedresourceselectorrequirement.go
    │   │   │   │       ├── scopeselector.go
    │   │   │   │       ├── seccompprofile.go
    │   │   │   │       ├── secret.go
    │   │   │   │       ├── secretenvsource.go
    │   │   │   │       ├── secretkeyselector.go
    │   │   │   │       ├── secretprojection.go
    │   │   │   │       ├── secretreference.go
    │   │   │   │       ├── secretvolumesource.go
    │   │   │   │       ├── securitycontext.go
    │   │   │   │       ├── selinuxoptions.go
    │   │   │   │       ├── service.go
    │   │   │   │       ├── serviceaccount.go
    │   │   │   │       ├── serviceaccounttokenprojection.go
    │   │   │   │       ├── serviceport.go
    │   │   │   │       ├── servicespec.go
    │   │   │   │       ├── servicestatus.go
    │   │   │   │       ├── sessionaffinityconfig.go
    │   │   │   │       ├── storageospersistentvolumesource.go
    │   │   │   │       ├── storageosvolumesource.go
    │   │   │   │       ├── sysctl.go
    │   │   │   │       ├── taint.go
    │   │   │   │       ├── tcpsocketaction.go
    │   │   │   │       ├── toleration.go
    │   │   │   │       ├── topologyselectorlabelrequirement.go
    │   │   │   │       ├── topologyselectorterm.go
    │   │   │   │       ├── topologyspreadconstraint.go
    │   │   │   │       ├── typedlocalobjectreference.go
    │   │   │   │       ├── typedobjectreference.go
    │   │   │   │       ├── volume.go
    │   │   │   │       ├── volumedevice.go
    │   │   │   │       ├── volumemount.go
    │   │   │   │       ├── volumenodeaffinity.go
    │   │   │   │       ├── volumeprojection.go
    │   │   │   │       ├── volumesource.go
    │   │   │   │       ├── vspherevirtualdiskvolumesource.go
    │   │   │   │       ├── weightedpodaffinityterm.go
    │   │   │   │       └── windowssecuritycontextoptions.go
    │   │   │   ├── discovery/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── endpoint.go
    │   │   │   │   │   ├── endpointconditions.go
    │   │   │   │   │   ├── endpointhints.go
    │   │   │   │   │   ├── endpointport.go
    │   │   │   │   │   ├── endpointslice.go
    │   │   │   │   │   └── forzone.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── endpoint.go
    │   │   │   │       ├── endpointconditions.go
    │   │   │   │       ├── endpointhints.go
    │   │   │   │       ├── endpointport.go
    │   │   │   │       ├── endpointslice.go
    │   │   │   │       └── forzone.go
    │   │   │   ├── events/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── event.go
    │   │   │   │   │   └── eventseries.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── event.go
    │   │   │   │       └── eventseries.go
    │   │   │   ├── extensions/
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── daemonset.go
    │   │   │   │       ├── daemonsetcondition.go
    │   │   │   │       ├── daemonsetspec.go
    │   │   │   │       ├── daemonsetstatus.go
    │   │   │   │       ├── daemonsetupdatestrategy.go
    │   │   │   │       ├── deployment.go
    │   │   │   │       ├── deploymentcondition.go
    │   │   │   │       ├── deploymentspec.go
    │   │   │   │       ├── deploymentstatus.go
    │   │   │   │       ├── deploymentstrategy.go
    │   │   │   │       ├── httpingresspath.go
    │   │   │   │       ├── httpingressrulevalue.go
    │   │   │   │       ├── ingress.go
    │   │   │   │       ├── ingressbackend.go
    │   │   │   │       ├── ingressloadbalanceringress.go
    │   │   │   │       ├── ingressloadbalancerstatus.go
    │   │   │   │       ├── ingressportstatus.go
    │   │   │   │       ├── ingressrule.go
    │   │   │   │       ├── ingressrulevalue.go
    │   │   │   │       ├── ingressspec.go
    │   │   │   │       ├── ingressstatus.go
    │   │   │   │       ├── ingresstls.go
    │   │   │   │       ├── ipblock.go
    │   │   │   │       ├── networkpolicy.go
    │   │   │   │       ├── networkpolicyegressrule.go
    │   │   │   │       ├── networkpolicyingressrule.go
    │   │   │   │       ├── networkpolicypeer.go
    │   │   │   │       ├── networkpolicyport.go
    │   │   │   │       ├── networkpolicyspec.go
    │   │   │   │       ├── networkpolicystatus.go
    │   │   │   │       ├── replicaset.go
    │   │   │   │       ├── replicasetcondition.go
    │   │   │   │       ├── replicasetspec.go
    │   │   │   │       ├── replicasetstatus.go
    │   │   │   │       ├── rollbackconfig.go
    │   │   │   │       ├── rollingupdatedaemonset.go
    │   │   │   │       ├── rollingupdatedeployment.go
    │   │   │   │       └── scale.go
    │   │   │   ├── flowcontrol/
    │   │   │   │   ├── v1alpha1/
    │   │   │   │   │   ├── flowdistinguishermethod.go
    │   │   │   │   │   ├── flowschema.go
    │   │   │   │   │   ├── flowschemacondition.go
    │   │   │   │   │   ├── flowschemaspec.go
    │   │   │   │   │   ├── flowschemastatus.go
    │   │   │   │   │   ├── groupsubject.go
    │   │   │   │   │   ├── limitedprioritylevelconfiguration.go
    │   │   │   │   │   ├── limitresponse.go
    │   │   │   │   │   ├── nonresourcepolicyrule.go
    │   │   │   │   │   ├── policyruleswithsubjects.go
    │   │   │   │   │   ├── prioritylevelconfiguration.go
    │   │   │   │   │   ├── prioritylevelconfigurationcondition.go
    │   │   │   │   │   ├── prioritylevelconfigurationreference.go
    │   │   │   │   │   ├── prioritylevelconfigurationspec.go
    │   │   │   │   │   ├── prioritylevelconfigurationstatus.go
    │   │   │   │   │   ├── queuingconfiguration.go
    │   │   │   │   │   ├── resourcepolicyrule.go
    │   │   │   │   │   ├── serviceaccountsubject.go
    │   │   │   │   │   ├── subject.go
    │   │   │   │   │   └── usersubject.go
    │   │   │   │   ├── v1beta1/
    │   │   │   │   │   ├── flowdistinguishermethod.go
    │   │   │   │   │   ├── flowschema.go
    │   │   │   │   │   ├── flowschemacondition.go
    │   │   │   │   │   ├── flowschemaspec.go
    │   │   │   │   │   ├── flowschemastatus.go
    │   │   │   │   │   ├── groupsubject.go
    │   │   │   │   │   ├── limitedprioritylevelconfiguration.go
    │   │   │   │   │   ├── limitresponse.go
    │   │   │   │   │   ├── nonresourcepolicyrule.go
    │   │   │   │   │   ├── policyruleswithsubjects.go
    │   │   │   │   │   ├── prioritylevelconfiguration.go
    │   │   │   │   │   ├── prioritylevelconfigurationcondition.go
    │   │   │   │   │   ├── prioritylevelconfigurationreference.go
    │   │   │   │   │   ├── prioritylevelconfigurationspec.go
    │   │   │   │   │   ├── prioritylevelconfigurationstatus.go
    │   │   │   │   │   ├── queuingconfiguration.go
    │   │   │   │   │   ├── resourcepolicyrule.go
    │   │   │   │   │   ├── serviceaccountsubject.go
    │   │   │   │   │   ├── subject.go
    │   │   │   │   │   └── usersubject.go
    │   │   │   │   ├── v1beta2/
    │   │   │   │   │   ├── flowdistinguishermethod.go
    │   │   │   │   │   ├── flowschema.go
    │   │   │   │   │   ├── flowschemacondition.go
    │   │   │   │   │   ├── flowschemaspec.go
    │   │   │   │   │   ├── flowschemastatus.go
    │   │   │   │   │   ├── groupsubject.go
    │   │   │   │   │   ├── limitedprioritylevelconfiguration.go
    │   │   │   │   │   ├── limitresponse.go
    │   │   │   │   │   ├── nonresourcepolicyrule.go
    │   │   │   │   │   ├── policyruleswithsubjects.go
    │   │   │   │   │   ├── prioritylevelconfiguration.go
    │   │   │   │   │   ├── prioritylevelconfigurationcondition.go
    │   │   │   │   │   ├── prioritylevelconfigurationreference.go
    │   │   │   │   │   ├── prioritylevelconfigurationspec.go
    │   │   │   │   │   ├── prioritylevelconfigurationstatus.go
    │   │   │   │   │   ├── queuingconfiguration.go
    │   │   │   │   │   ├── resourcepolicyrule.go
    │   │   │   │   │   ├── serviceaccountsubject.go
    │   │   │   │   │   ├── subject.go
    │   │   │   │   │   └── usersubject.go
    │   │   │   │   └── v1beta3/
    │   │   │   │       ├── flowdistinguishermethod.go
    │   │   │   │       ├── flowschema.go
    │   │   │   │       ├── flowschemacondition.go
    │   │   │   │       ├── flowschemaspec.go
    │   │   │   │       ├── flowschemastatus.go
    │   │   │   │       ├── groupsubject.go
    │   │   │   │       ├── limitedprioritylevelconfiguration.go
    │   │   │   │       ├── limitresponse.go
    │   │   │   │       ├── nonresourcepolicyrule.go
    │   │   │   │       ├── policyruleswithsubjects.go
    │   │   │   │       ├── prioritylevelconfiguration.go
    │   │   │   │       ├── prioritylevelconfigurationcondition.go
    │   │   │   │       ├── prioritylevelconfigurationreference.go
    │   │   │   │       ├── prioritylevelconfigurationspec.go
    │   │   │   │       ├── prioritylevelconfigurationstatus.go
    │   │   │   │       ├── queuingconfiguration.go
    │   │   │   │       ├── resourcepolicyrule.go
    │   │   │   │       ├── serviceaccountsubject.go
    │   │   │   │       ├── subject.go
    │   │   │   │       └── usersubject.go
    │   │   │   ├── internal/
    │   │   │   │   └── internal.go
    │   │   │   ├── meta/
    │   │   │   │   └── v1/
    │   │   │   │       ├── condition.go
    │   │   │   │       ├── deleteoptions.go
    │   │   │   │       ├── labelselector.go
    │   │   │   │       ├── labelselectorrequirement.go
    │   │   │   │       ├── managedfieldsentry.go
    │   │   │   │       ├── objectmeta.go
    │   │   │   │       ├── ownerreference.go
    │   │   │   │       ├── preconditions.go
    │   │   │   │       ├── typemeta.go
    │   │   │   │       └── unstructured.go
    │   │   │   ├── networking/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── httpingresspath.go
    │   │   │   │   │   ├── httpingressrulevalue.go
    │   │   │   │   │   ├── ingress.go
    │   │   │   │   │   ├── ingressbackend.go
    │   │   │   │   │   ├── ingressclass.go
    │   │   │   │   │   ├── ingressclassparametersreference.go
    │   │   │   │   │   ├── ingressclassspec.go
    │   │   │   │   │   ├── ingressloadbalanceringress.go
    │   │   │   │   │   ├── ingressloadbalancerstatus.go
    │   │   │   │   │   ├── ingressportstatus.go
    │   │   │   │   │   ├── ingressrule.go
    │   │   │   │   │   ├── ingressrulevalue.go
    │   │   │   │   │   ├── ingressservicebackend.go
    │   │   │   │   │   ├── ingressspec.go
    │   │   │   │   │   ├── ingressstatus.go
    │   │   │   │   │   ├── ingresstls.go
    │   │   │   │   │   ├── ipblock.go
    │   │   │   │   │   ├── networkpolicy.go
    │   │   │   │   │   ├── networkpolicyegressrule.go
    │   │   │   │   │   ├── networkpolicyingressrule.go
    │   │   │   │   │   ├── networkpolicypeer.go
    │   │   │   │   │   ├── networkpolicyport.go
    │   │   │   │   │   ├── networkpolicyspec.go
    │   │   │   │   │   ├── networkpolicystatus.go
    │   │   │   │   │   └── servicebackendport.go
    │   │   │   │   ├── v1alpha1/
    │   │   │   │   │   ├── clustercidr.go
    │   │   │   │   │   ├── clustercidrspec.go
    │   │   │   │   │   ├── ipaddress.go
    │   │   │   │   │   ├── ipaddressspec.go
    │   │   │   │   │   └── parentreference.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── httpingresspath.go
    │   │   │   │       ├── httpingressrulevalue.go
    │   │   │   │       ├── ingress.go
    │   │   │   │       ├── ingressbackend.go
    │   │   │   │       ├── ingressclass.go
    │   │   │   │       ├── ingressclassparametersreference.go
    │   │   │   │       ├── ingressclassspec.go
    │   │   │   │       ├── ingressloadbalanceringress.go
    │   │   │   │       ├── ingressloadbalancerstatus.go
    │   │   │   │       ├── ingressportstatus.go
    │   │   │   │       ├── ingressrule.go
    │   │   │   │       ├── ingressrulevalue.go
    │   │   │   │       ├── ingressspec.go
    │   │   │   │       ├── ingressstatus.go
    │   │   │   │       └── ingresstls.go
    │   │   │   ├── node/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── overhead.go
    │   │   │   │

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

================================================
FILE: .deepsource.toml
================================================
version = 1

[[analyzers]]
name = "go"
enabled = true

  [analyzers.meta]
  import_paths = ["github.com/docker-slim/docker-slim"]


================================================
FILE: .dockerignore
================================================
**
!dist_linux/**
!dist_linux_arm64/**
!build/package/docker/.ds.container.d3e2c84f976743bdb92a7044ef12e381
**/.DS_Store
**/*.command


================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: dockerslim
open_collective: docker-slim
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: docker-slim
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']


================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
Expected Behavior
=================



---
Actual Behavior
=================



---
Steps to Reproduce the Problem
===============================
<!---
Open an issue and provide enough cotext information to 
repro the condition. Don't worry if it's not possible to 
reproduce (reliably). Submit an issue anyways including 
the information you do have. The version information 
should be provided in all bug reports.
--> 

  1.
  1.
  1.

---
Specifications
=================
  - Version:
  - Platform:


================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
[Fixes-###](https://github.com/docker-slim/docker-slim/issues/###)
==================================================================

What
===============


Why
===============


How Tested
===============




================================================
FILE: .github/dependabot.yml
================================================
---
version: 2
updates:
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "daily"
  - package-ecosystem: "gitsubmodule"
    directory: "/"
    schedule:
      interval: "daily"


================================================
FILE: .github/workflows/acceptance-testing-bats.yml
================================================
name: Acceptance testing (using bats tests)
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
    types: [opened, synchronize, closed]
jobs:
  test:
    strategy:
      matrix:
        go: ['1.21']
    runs-on: 'ubuntu-latest'
    steps:
      - uses: actions/checkout@v6.0.2
        with:
          fetch-depth: 0
          submodules: recursive

      - uses: actions/setup-go@v6.3.0
        with:
          go-version: ${{ matrix.go }}

      - name: Build Slim (quick dev)
        run: make build_dev

      - name: Run the bats test suite
        run: ./test/bats/bin/bats test/debug.bats


================================================
FILE: .github/workflows/acceptance-testing-e2e.yml
================================================
name: Acceptance testing (using e2e framework and examples)
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
    types: [opened, synchronize, closed]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Check out slimtoolkit/slim repo
        uses: actions/checkout@v6.0.2

      - name: Set up Go development environment
        uses: actions/setup-go@v6.3.0
        with:
          go-version: '1.21.4'

      - name: Build Slim (multi-arch)
        run: make build

      - name: Upload Slim app binaries (Linux, amd64)
        uses: actions/upload-artifact@v7.0.0
        with:
          name: dist_linux
          path: dist_linux
          retention-days: 1

      - name: Upload Slim app binaries (Linux, arm64)
        uses: actions/upload-artifact@v7.0.0
        with:
          name: dist_linux_arm64
          path: dist_linux_arm64
          retention-days: 1

      - name: Upload Slim app binaries (Linux, arm)
        uses: actions/upload-artifact@v7.0.0
        with:
          name: dist_linux_arm
          path: dist_linux_arm
          retention-days: 1

      - name: Upload Slim app binaries (macOS, amd64)
        uses: actions/upload-artifact@v7.0.0
        with:
          name: dist_mac
          path: dist_mac
          retention-days: 1

  # Run sensor tests using the e2e testing framework.
  test-sensor-e2e:
    needs: build
    strategy:
      matrix:
        os:
          # macos runners don't support docker yet
          - ubuntu-latest
        include:
          - os: ubuntu-latest
            bin_artifacts: dist_linux
    runs-on: ${{ matrix.os }}
    steps:
      - name: Check out slimtoolkit/slim repo
        uses: actions/checkout@v6.0.2

      - name: Set up Go development environment
        uses: actions/setup-go@v6.3.0
        with:
          go-version: '1.21.4'

      - name: Download Slim app binaries
        uses: actions/download-artifact@v8.0.0
        with:
          name: ${{ matrix.bin_artifacts }}
          path: bin

      - name: Fix Slim app binaries permissions
        run: chmod a+x bin/*

      - name: Add Slim bin folder to $PATH
        run: echo "${GITHUB_WORKSPACE}/bin" >> $GITHUB_PATH

      - name: Run sensor e2e tests
        timeout-minutes: 60
        run: make test-e2e-sensor

  # Run full-cycle tests (ab)using the slimtoolkit/examples repository.
  test-full-e2e:
    needs: build
    strategy:
      matrix:
        os:
          # macos runners don't support docker yet
          - ubuntu-latest
        suite:
          - compose
          - distroless
          - dotnet
          - elixir
          - golang
          - haskell
          - http-probe
          - image-edit
          - java
          - node
          - php
          - python
          - ruby
          - rust
        include:
          - os: ubuntu-latest
            bin_artifacts: dist_linux
    runs-on: ${{ matrix.os }}
    steps:
      - name: Check out slimtoolkit/slim repo
        uses: actions/checkout@v6.0.2

      - name: Check out slimtoolkit/examples repo
        uses: actions/checkout@v6.0.2
        with:
          repository: slimtoolkit/examples
          path: e2e

      - name: Download Slim app binaries
        uses: actions/download-artifact@v8.0.0
        with:
          name: ${{ matrix.bin_artifacts }}
          path: bin

      - name: Fix Slim app binaries permissions
        run: chmod a+x bin/*

      - name: Add Slim app bin folder to $PATH
        run: echo "${GITHUB_WORKSPACE}/bin" >> $GITHUB_PATH

      - name: Run all e2e tests from slimtoolkit/examples
        timeout-minutes: 60
        run: |
          export DSLIM_LOG_LEVEL=debug
          export DSLIM_SHOW_CLOGS=1
          export DSLIM_EXAMPLES_DIR=e2e
          make test-e2e-${{ matrix.suite }}


================================================
FILE: .github/workflows/codesee-arch-diagram.yml
================================================
name: CodeSee

permissions: read-all
on:
  push:
    branches:
      - master
  pull_request_target:
    types: [opened, synchronize, reopened]
jobs:
  codesee:
    runs-on: ubuntu-latest
    continue-on-error: true
    name: Analyze the repo with CodeSee
    steps:
      - uses: Codesee-io/codesee-action@v2
        with:
          codesee-token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }}


================================================
FILE: .github/workflows/unit-testing.yml
================================================
name: Unit testing
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
    types: [opened, synchronize, closed]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Check out slimtoolkit/slim repo
        uses: actions/checkout@v6.0.2

      - name: Set up Go development environment
        uses: actions/setup-go@v6.3.0
        with:
          go-version: '1.21.4'

      - name: Run tests
        run: make test


================================================
FILE: .gitignore
================================================
.DS_Store
/docker-slim
/slim
/docker-slim-sensor
/slim-sensor
/dist_linux*/
/dist_mac/
/dist_mac_m1/
/bin/
/_gopath/
slim.report.json
dist_linux*.tar.gz
dist_mac.zip
dist_mac_m1.zip
.idea
*.swp
*.swo
slim.report.json


================================================
FILE: .gitmodules
================================================
[submodule "test/bats"]
	path = test/bats
	url = https://github.com/bats-core/bats-core.git
[submodule "test/test_helper/bats-support"]
	path = test/test_helper/bats-support
	url = https://github.com/bats-core/bats-support.git
[submodule "test/test_helper/bats-assert"]
	path = test/test_helper/bats-assert
	url = https://github.com/bats-core/bats-assert.git


================================================
FILE: .gitpod.yml
================================================
# List the start up tasks. You can start them in parallel in multiple terminals.
# https://www.gitpod.io/docs/config-start-tasks/
tasks:
  - init: >
      make tools build
    command: make inspect

# Enable prebuilds of your project to enable faster workspace start times.
# https://www.gitpod.io/docs/prebuilds/#configure-the-github-app
github:
  prebuilds:
    master: true
    branches: true
    pullRequests: true
    pullRequestsFromForks: true
    addCheck: true

================================================
FILE: .markdownlint.json
================================================
{
  "MD024": false,
  "MD013": false
}


================================================
FILE: .vscode/launch.json
================================================
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Package",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${fileDirname}",
            "args": ["registry", 
            "image-index-create", 
            "--image-index-name", 
            "dslim/slim-multi-test:latest",
            "--image-name", "dslim/slim-arm:latest",
            "--image-name", "dslim/slim:latest" ]
        }
    ]
}

================================================
FILE: ADOPTERS.md
================================================
# Adopters

TBD


================================================
FILE: CHANGELOG.md
================================================
# Releases

## 1.40.11 (2/2/2024)

### New Features

- New `build` command flags (`--include-dir-bins` and `--include-ssh-client`).
- Simple `images` command to list container images.

### Improvements

- OCI image format support in `xray`.
- Improved `xray` command reports to include object type information.

### Bug Fixes

- Fixes and dependency updates to support the new Docker Engine version (25.x).


## 1.40.10 (1/17/2024)

### Bug Fixes

- Sensor artifact (post-)processing bug fix for additional PT generated artifacts.


## 1.40.9 (1/15/2024)

### Improvements

- Added command parameter information to process events in `mondel`.
- Enhanced `mondel` event capture to prevent event data loss on sensor shutdown.


## 1.40.8 (1/7/2024)

### New Features

- New `vulnerability` command and the `epss` subcommand to lookup EPSS scores for vulnerabilities.
- Simple `registry server` command to have a local OCI registry (thank you Sarvesh Raj, @sarveshraj, for your contribution!).
- Simple `registry push` command to push local images to a registry.
- Simple `images` command to list container images.
- RPM packaging for the apps (thank you Rohan Jamadagni, @Rohansjamadagni, for your contribution!)

### Improvements

- Enhanced `registry pull` command to pull images from authenticated registries.
- `quiet` mode improvements (WIP) to hide the standard execution context output when it's enabled.
- `quiet` mode for the `images` command.
- Interactive prompt updates to include the `images`, `registry` and `vulnerability` commands and a couple of global flags.
- Monitor Data Event Log (mondel) enhancement to improve the write path.


## 1.40.7 (12/9/2023)

### New Features

- Simple `registry image-index-create` command to create multi-architecture images.
- Simple `images` command to list container images.

### Improvements

- Improved ptmon syscall handling.
- Enhanced `mondel` events with timestamps and sequence numbers.
- Extra docker socket validation checks.
- Version info on exit/failure.
- Temp container cleanup improvements.
- ARM image build scripts for the containerized distribution.

### Bug Fixes

- Websocket http probe bug fix.
- Various ptmod bug fixes.


## 1.40.5/1.40.6 (11/2/2023)

### New Features

- Sensor `control` commands to control sensor execution when running in the standalone mode (first command: `stop-target-app`).
- `xray` - detect system identities (users, groups) and their properties (`--detect-identities` flag, enabled by default).
- `build` - Keep the OS/libc zoneinfo data (`--include-zoneinfo` flag, disabled by default).
- `build`/`profile` - Mon(itor) Data Event Log (aka `mondel`) - optional data event log for sensor monitors to log/stream monitor events (`--enable-mondel` main app flag, `--mondel`/`-n` sensor flag(s)).

### Improvements

- `target-app-running` sensor lifecycle hook.
- `build`/`profile`: `--env-file` to load env vars from a file.
- `build`/`profile`: basic input validation to ignore malformed env var data for the `--env` flag.
- `build`: Using internal output image builder by default (`--image-build-engine` flag)
- Renamed the reverse engineered Dockerfile from `Dockerfile.fat` 
to `Dockerfile.reversed`

### Bug Fixes

- Various bug fixes


## 1.40.4 (8/25/2023)

### Improvements

- Auto-complete in the interactive `prompt` mode for the target, namespace, pod and session flags
- Interactive `debug` command terminal that runs as if you are connected directly to the target image you are debugging (enabled by default)
- Basic sessions for `debug` command
- Ability to show logs for the existing `debug` command sessions
- More `debug` command flags (see README)
- README docs updates for the `debug` command

### Bug Fixes

- Many `debug` command bug fixes

## 1.40.3 (7/13/2023)

### New Features

- Kubernetes runtime support for the `debug` command
- `appbom` command in the main app and `--appbom` flag in the sensor
- `merge` command to merge two container images (optimized to merge two minified images).

### Improvements

- More `debug` command flags
- README docs for the `debug` command
- Ability to detect the Docker Desktop unix socket
- Code and logging cleanup

### Bug Fixes

- Sensor volume fix for sensor symlinks (to address the Homebrew installed problems with sensor)
- Various dependency updates to get security fixes

## 1.40.2 (5/12/2023)

### Improvements

- New experimental `build` command flag to prevent the vulnerability scanners from discovering the metadata they need to identify the vulnerabilities (`--obfuscate-metadata`) inspired by the [`Malicious Compliance`](https://kccnceu2023.sched.com/event/1Hybu/malicious-compliance-reflections-on-trusting-container-scanners-ian-coldwater-independent-duffie-cooley-isovalent-brad-geesaman-ghost-security-rory-mccune-datadog) KubeCon EU 2023 talk

### Bug Fixes

- HEALTHCHECK instruction decoding enhancements to handle the data generated by buildah
- fsutil format string bug fix

## 1.40.1 (4/5/2023)

### Improvements

- New include flags for the `build` command (`--include-workdir`)
- Debug/trace logging improvements

### Bug Fixes

- todo: add info

## 1.40.0 (1/15/2023)

### New Features

- Base image metadata for xray
- Basic support for multiple image build engines (`--image-build-engine`, `--image-build-arch` parameters)

### Improvements

- dockerfile reverse engineering updates
- buildkit dockerfile instruction support
- name change

### Bug Fixes

- todo: add info

## 1.39.1 (11/12/2022)

## 1.39.0 (10/24/2022)

## 1.38.0 (8/27/2022)

### New Features

- Experimental 'debug' command
- JSON console output format

### Improvements

- refactored http-probe-exec and http-probe-exec-file to be host-exec and host-exec-file (breaking change)

### Bug Fixes

- todo: add info

## 1.37.6 (4/22/2022)

### Improvements

- Source image label in minified images
- Full image path enhancements for container entry info

### Bug Fixes

- Traced application signal handling bugfix
- Healthcheck instruction parsing bugfix

## 1.37.5 (3/20/2022)

### New Features

- Experimental Node.js package include flag
- Experimental Next.js(React.js) app include flags
- Experimental Nuxt.js(Vue.js) app include flags
- Ability to disable the ptrace data source

## 1.37.4 (2/27/2022)

### New Features

- Container probe feature to use one of the compose services to test/probe the target container (`--container-probe-compose-svc` flag and `container.probe` continue-after mode)
- Ability to override the container image name and/or tag when targetting a compose service (`--target-compose-svc-image` flag)
- Ability to wait before executing the HTTP probes (`--http-probe-start-wait` flag)
- Ability to wait before starting each compose service (`--compose-svc-start-wait` flag)
- Basic FastCGI protocol support in HTTP probes (docs TBD)
- New `registry` command and a basic `pull` subcommand
- `--include-new` build flag to keep new files created by target during dynamic analysis
- Supprot for stored global param in `slim.config.json`


### Improvements

- Improved containerized CI/CD environments support (`sensor-ipc-mode` and `sensor-ipc-endpoint` flags for `build` and `profile`)
- Docker host detection improvements
- Target container IP detection improvements
- Not minifying onbuild base images by default
- Not minifying already minified images
- Cleanup container resources on exit
- `include-cert-all` build flag enabled by default
- Propagate logging flags to sensor
- Not using default http probe if custom probes are already defined
- Many compose related enhancements (volume lookup enhancements, compose image detection and error handling, etc)
- Various monitoring engine enhancements
- Migrate from urfave/cli/v1 to urfave/cli/v2
- Dockerfile reverse engineering enhancements (HEALTHCHECK instruction support, improved RUN instruction reversing when ARGs are also used)

## 1.37.3 (12/10/2021)

### New Features

- Install command / docker cli plugin install option (preview version)

### Improvements

- Container and compose link handling enhancements
- Volume mounting enhancements
- Static analysis improvements
- Symlink handling improvements for builds
- Collecting file check filesystem activity
- Entrypoint/cmd override handling improvements

### Bug Fixes

- Volume mounting bug fixes for compose

## 1.37.1/1.37.2 (11/7/2021)

### New Features

- Ability to pull images from private registries (`--registry-account`, `--registry-secret`, `--docker-config-path` flags)

### Improvements

- Additional flags for compose (`dep-include-target-compose-svc-deps`, `compose-env-nohost`, `compose-env-file`, `compose-workdir`, `compose-project-name`)
- Variable substitution support in compose
- Detect duplicates by default in xray
- Resource cleanup when the build command exits
- `delete-generated-fat-image` flag to cleanup the non-optimized images when `docker-slim` builds images from source/Dockerfile
- Improved `maintainer` info collection for xray

### Bug Fixes

- Volume mounting bug fixes for compose

## 1.37.0 (9/23/2021)

### New Features

- Experimental docker-compose support for the build command
- Include cert flags to make it easier to keep certificate data in the optimized images

### Improvements

- Install script

## 1.36.4

## 1.36.3 (8/30/2021)

## 1.36.2 (8/5/2021)

## 1.36.1 (6/20/2021)

### Improvements

- `--cro-host-config-file`, `--cro-sysctl` and `--cro-shm-size` flags.
- M1 builds.

### Bug Fixes

- xray and sensor volume detection bug fixes.

### Improvements

- Ability to detect additional shells.
- Saving command report to /tmp directory if it's not possible to save it in the current working directory.
- Printing tag information for build command.

### Bug Fixes

- Default `continue-after` value handling fix (remove `probe` mode if http probing is disabled).
- Sensor not exiting when it's trying to copy a directory it already copied.

## 1.36.0 (6/12/2021)

### New Features

- Ability to find duplicate files for xray (`--detect-duplicates`, `--show-duplicates`).
- Ability to find all utf8 encoded files for xray using the `--detect-utf8` flag  (optionally dumping them to console, directory or tar file).
- Ability to find the files with special permissions (`--show-special-perms`).
- Ability to find all installed shells for xray.
- Container entry information for xray with file detection.
- Inherited image instructions (aka ONBUILD instructions) for xray.
- More image level stats for xray.

### Improvements

- Multiple tags for the build command.
- `--http-probe-off` flag for the build command to provide a shortcut to disable HTTP probing.
- Flexible target image handling to use non-default tags if the `latest` tag doesn't exist and no explicit tag is provided.

## 1.35.2 (5/2/2021)

### New Features

- `change-match-layers-only` xray flag to print only the layers that contain the matches.

### Improvements

- xray enhancement: printing to console by default for pattern or data matches.

### Bug Fixes

- Various xray command bug fixes.

## 1.35.1 (4/27/2021)

### Improvements

- Ability to combine `probe` and `exec` `continue-after` modes

### Bug Fixes

- Various xray command bug fixes

## 1.35.0 (4/14/2021)

### New Features

- Console color output (on by default; disable with `no-color`)
- Loading http probe request data from separate files
- Ability to execute external probe commands (`--http-probe-exec` and `--http-probe-exec-file` flags)
- Ability to preserve original files in the target container discarding its test runtime data (`--preserve-path` and `--preserve-path-file`)
- Ability to pull container images if they don't exist locally yet (`--pull` and `--show-plogs`)
- File hashing for xray (`--hash-data`)
- Additional flags to control the xray command executions (`--top-changes-max`, `--reuse-saved-image`)
- Ability to match by file path, file data and file hash for xray (`--change-path value`, `--change-data value`, `--change-data-hash value`)

### Improvements

- Lots of additional container build flags (`--tag-fat`, `--cbo-add-host`, `--cbo-build-arg`, `--cbo-label`, `--cbo-target`, `--cbo-network`, `--cbo-cache-from`).
- Additional container runtime flags (`--cro-runtime`)
- `sigint` should kill the running container (#186)

### Bug Fixes

- Various xray image layer inspection bug fixes

## 1.34.0 (1/29/2021)

### New Features

- New `xray` flags to control what layer change data to include in the generated reports (`layer-changes-max`, `all-changes-max`, `add-changes-max`, `modify-changes-max`, `delete-changes-max`)

### Improvements

- `host` network flag handling enhancements.
- Returning non-zero exit codes on failures
- Additional image checks to catch missing ENTRYPOINT/CMD instructions

### Bug Fixes

- Fixed container image listing bug that broke the `--target` value suggestions in the interactive prompt mode.

## 1.33.0 (12/12/2020)

### New Features

- Ability to interact with the temporary containers using the `--exec` and `--exec-file` flags

### Improvements

- `npm` support enhancements (makes it possible to use `npm start` in Dockerfiles, which isn't recommended though)

### Bug Fixes

- Various bug fixes.

## 1.32.0 (8/23/2020)

### New Features

- Mapping container ports to specific host ports analyzing image at runtime (`--publish-port` and `--publish-exposed-ports` flags)

### Improvements

- `seccomp` security profile generation capability updates
- User namespace handling improvements (thanks to `@solarnz`)

## 1.31.0 (8/13/2020)

### New Features

- Experimental HTTP probe command generation based on the API descriptions from the Swagger and OpenAPI specs (`--http-probe-apispec` and `--http-probe-apispec-file` flags)
- Image metadata editing capabilities to add, remove and update the LABEL, VOLUME, EXPOSE, ENV and WORKDIR instructions (`--new-workdir`, `--new-expose`, `--new-label`, `--new-volume`, `--remove-volume`, `--remove-env`, `--remove-label`, `--remove-expose` and `--image-overrides` combined with `--expose`, `--workdir`, `--env`, `--volume`, `--label`, `--env`)

### Improvements

- Layer change details available in the `xray` command reports when the `--changes` flag is set.
- System and engine information in the command reports to improve debugging
- Ability to enable crawling for the HTTP probes specified using the `--http-probe-cmd` flag
- Improved HTTP probe crawler documentation

## 1.30.0 (7/27/2020)

### New Features

- `lint` command (initial Dockerfile linting capabilities with a basic set of checks)
- HTTP probe crawler (automatically probes additional endpoints referenced in the processed targets; see the `--http-probe-crawl` and related flags)

### Improvements

- ARM64 support (need more people to test!)
- `--http-probe-exit-on-failure` flag to exit execution when all HTTP probe calls fail
- `--include-bin-file` and `--include-exe-file` flags to make it easier to specify multiple binaries and executables loading them from files
- `xray` command report enhancements

## 1.29.0 (3/18/2020)

### New Features

- Interactive CLI prompt

### Improvements

- `xray` command output improvements
- Additional image data saved with the `xray` command reports (`--add-image-manifest` and `--add-image-config` flags)

## 1.28.1 (3/9/2020)

### Improvements

- New `xray` parameters to control how much to show when it's printing the layer details (`--changes value` and `--layer value`)
- Image history enhancements and more data saved in the xray command reports

## 1.28.0 (3/6/2020)

### New Features

- `xray` command enhancements to show the detailed container image information including its layers and their files and directories (initial version).

### Improvements

- The `--exclude-pattern` `build` parameter to filter/exclude the artifacts in the optimized container.

## 1.27.0 (2/28/2020)

### New Features

- Option to set permissions, user and group information for the artifacts included with the `--include-*` parameters.
- Option to overwrite the permissions and ownership info in the optimized image using the new `--path-perms` and `path-perms-file` parameters.

### Improvements

- Option to run the containerized application using user and group information from the USER instruction.
- Filter leftover PID files.
- UX enhancements for the containers created using Dockerfiles.
- Additional debugging information.

### Bug Fixes

- Support for special install directories on Linux (to prevent failures when `docker-slim` is trying to save its state).

## 1.26.1 (11/28/2019)

### Improvements

- Saving command execution report, by default (`slim.report.json`).
- CLI output UX enhancements.
- Docker connect info checks.

### Bug Fixes

- Version check fixes when running in containers.

## 1.26 (11/16/2019)

### New Features

- Run `docker-slim` in containers.
- New distribution option ([`dslim/docker-slim`](https://hub.docker.com/r/dslim/docker-slim) image available in Docker Hub).
- Archive `docker-slim` state into a separate Docker volume.

### Improvements

- Default to continuing `docker-slim` execution after the http probing step is done when http probing is enabled.
- Improved IPC.
- Improved seccomp and metadata artifact copy option.
- Improved execution report.

## 1.25.3 (8/4/2019)

### New Features

- Build minified images from `source` using the new `--from-dockerfile` build flag (see `README.md` for details).

### Improvements

- Custom HTTP POST probes support request bodies

## 1.25.2 (7/21/2019)

### New Features

- Enhanced build command reports with additional container image metadata (using the global `--report` flag)
- Ability to update the minified image Dockerfile instructions (using the --new-cmd, --new-entrypoint, --new-expose, --new-workdir, --new-env and --image-overrides flags)
- Dockerfile volume support

### Improvements

- HTTP probes by default (you will have to disable HTTP probes if you don't need them)
- Various UX enhancements to provide better CLI feedback and to avoid generating minified images that might not work

### Bug Fixes

- TTY bug fix caused by an external dependency (used to track update download progress)

## 1.25.0 (4/23/2019)

### New Features

- Experimental ARM32 support
- Easy way to keep a shell in your image (just pass `--include-shell` to the `build` command)
- Easy way to include additional executables (`--include-exe` flag) and binary objects (`--include-bin` flag), which will also include their binary dependencies, so you don't have to explicitly include them all yourself
- `update` command - now you can update `docker-slim` from `docker-slim`!
- Current version checks to know if the installed release is out of date

### Improvements

- Improvements to handle complex `--entrypoint` and `--cmd` parameters

## Previous Releases

- Better Mac OS X support - when you install `docker-slim` to /usr/local/bin or other special/non-shared directories docker-slim will detect it and use the /temp directory to save its artifacts and to mount its sensor
- HTTP Probing enhancements and new flags to control the probing process
- Better Nginx support
- Support for non-default users
- Improved symlink handling
- Better failure monitoring and reporting
- The `--include-path-file` option to make it easier to load extra files you want to keep in your image
- CentOS support
- Enhancements for ruby applications with extensions
- Save the docker-slim command results in a JSON file using the `--report` flag
- Better support for applications with dynamic libraries (e.g., python compiled with `--enable-shared`)
- Additional network related Docker parameters
- Extended version information
- Alpine image support
- Ability to override ENV variables analyzing target image
- Docker 1.12 support
- User selected location to store DockerSlim state (global `--state-path` parameter).
- Auto-generated seccomp profiles for Docker 1.10.
- Python 3 support
- Docker connect options
- HTTP probe commands
- Include extra directories and files in minified images


================================================
FILE: COMMUNITY_ACTIVITY_LOG.md
================================================
# Community Activity Log

## Meetings/Events

TBD

## Engaging with CNCF TAGs

TBD

## Collaborating/Integrating with Other Projects (CNCF or Not)

TBD

## Conferences

TBD



================================================
FILE: CONTRIBUTING.md
================================================
# Contributing to SlimToolkit

If you want to contribute submit a GitHub pull request or open an issue. Thank you!

## TL;DR

Any contribution is better than no contribution :-) Submit a [pull request](https://help.github.com/articles/using-pull-requests) or open an issue even if you are not sure or if you feel the contribution is not significant enough. If you want to accelerate the process you can follow the guidelines below.

There's a number of already open issues with the `good first issue` tag. Start there if you are new to the project. Explore the issues with the `help wanted` tag too. Help with any open issue is highly appreciated, of course.

You can also take a look at the [`ROADMAP`](ROADMAP.md) to get ideas for your contribution. Also take a look at the [`WISHLIST`](WISHLIST.md) doc, which includes even more potential improvements (that are not a part of the roadmap yet, but they are still valuable).

## Code

To learn more about the code take a look at the `SlimToolkit Code` videos on ['YouTube'](https://www.youtube.com/channel/UCy7RHjJlaBhpCCbChrd8POA?sub_confirmation=1)

## Guidelines

### Reporting Issues

Open an issue and provide enough cotext information to repro the condition. Don't worry if it's not possible to reproduce (reliably). Submit an issue anyways including the information you do have. The version information should be provided in all bug reports.

### Environment Setup

See the `BUILD PROCESS` section in the `README.md` file.

### Enhancements

Take a look at the open issues or feel free to create a new issue if what you'd like to do doesn't have an issue already. This includes documentation enhancements and design proposals too. When you submit your [pull request](https://help.github.com/articles/using-pull-requests) make sure to reference the issue.

### Coding Standards

The coding standards are based on the [Golang community standards](https://github.com/golang/go/wiki/CodeReviewComments). Make sure to leverage the `scripts/src.fmt.sh` and `scripts/src.inspect.sh` helper scripts or their equivalent.

### Dependencies

TBD - information about adding dependencies

### Testing

Yes :-)

### Documentation

Yes :-)

### Pull Requests

Standard guidelines for [pull requests](https://help.github.com/articles/using-pull-requests)

### Sign Your Code

Please certify your [Developer Certificate of Origin (DCO)](https://developercertificate.org/), by signing off your commit with `git commit -s` (use your real name).


================================================
FILE: GOVERNANCE.md
================================================
# Governance

TBD


================================================
FILE: LICENSE
================================================

                                 Apache License
                           Version 2.0, January 2004
                        https://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   Copyright 2015-2022 SlimToolkit.

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       https://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: MAINTAINERS.md
================================================
# Maintainers

- [Kyle Quest](https://github.com/kcq) (@kcq)
- [Ivan Velichko](https://github.com/iximiuz) (@iximiuz)


================================================
FILE: Makefile
================================================
default: build_in_docker ## build docker-slim in docker by default

build_in_docker:   ## build docker-slim in docker
	rm -rfv bin
	'$(CURDIR)/scripts/docker-builder.run.sh'

build_m1_in_docker:
	rm -rfv bin
	'$(CURDIR)/scripts/docker-builder-m1.run.sh'

build:  ## build docker-slim
	'$(CURDIR)/scripts/src.build.sh'

build_m1:  ## build docker-slim
	'$(CURDIR)/scripts/src.build.m1.sh'

build_dev:  ## build docker-slim for development (quickly), in bin/
	'$(CURDIR)/scripts/src.build.quick.sh'

fmt:  ## format all golang files
	'$(CURDIR)/scripts/src.fmt.sh'

help: ## prints out the menu of command options
	@awk -F ':.*?## ' '/^[a-zA-Z0-9_-]+:.*?## / {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)

inspect: ## report suspicious constructs and linting errors
	'$(CURDIR)/scripts/src.inspect.sh'

tools: ## install necessary tools
	'$(CURDIR)/scripts/tools.get.sh'

## run unit tests
test: export GO_TEST_FLAGS ?=
test:
	'$(CURDIR)/scripts/src.test.sh'

clean: ## clean up
	'$(CURDIR)/scripts/src.cleanup.sh'

include $(CURDIR)/test/e2e-tests.mk

.PHONY: default help build_in_docker build_m1_in_docker build build_m1 build_dev fmt inspect tools test clean


================================================
FILE: README.md
================================================
![SK](assets/images/dslim/logo.png)

[![Gitter chat](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg?style=for-the-badge)](https://gitter.im/docker-slim/community)
[![Discord chat](https://img.shields.io/static/v1.svg?label=chat&message=on%20discord&color=7389D8&style=for-the-badge)](https://discord.gg/9tDyxYS)
[![Follow](https://img.shields.io/badge/follow-on%20twitter-%231DA1F2.svg?style=for-the-badge&logoColor=white)](https://twitter.com/DockerSlim)
[![Youtube](https://img.shields.io/badge/-YouTube-red?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/channel/UCy7RHjJlaBhpCCbChrd8POA?sub_confirmation=1)

[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-908a85?logo=gitpod&style=for-the-badge)](https://gitpod.io/#https://github.com/slimtoolkit/slim)

[![Install SlimToolkit](https://img.shields.io/badge/install-slim-blue?style=for-the-badge)](https://github.com/slimtoolkit/slim#installation)
[![Get Examples](https://img.shields.io/badge/slim-app%20examples-green?style=for-the-badge)](https://github.com/slimtoolkit/examples)

[![Try Slim.AI SaaS](https://img.shields.io/badge/try-Slim.AI%20SaaS-red?style=for-the-badge)](https://portal.slim.dev/login?invitecode=invite.1s85zlfnYX0p5TT1XKja49pAHbL)



# Optimize Your Experience with Containers. Make Your Containers Better, Smaller, More Secure and Do Less to Get There (free and open source!)

Note that **DockerSlim** is now just **Slim** (**SlimToolkit** is the full name, so it's easier to find it online) to show its growing support for additional container tools and runtimes in the cloud native ecosystem.

**Slim** is now a CNCF Sandbox project. It was created by [Kyle](https://github.com/kcq) [Quest](https://twitter.com/kcqon) and it's been improved by many [contributors](https://github.com/slimtoolkit/slim/graphs/contributors). The project is supported by Root.io (formerly known as Slim.AI).
 
Here's how Slim and Root work together: Slim helps you build optimized containers, while Root.io automatically fixes vulnerabilities without disrupting your workflows. Use Slim's open source toolkit to optimize containers, then keep them secure with Root's automated vulnerability remediation – from optimization to continuous security in one seamless journey. Learn more at www.root.io.

## Overview

SlimToolkit allows developers to inspect, optimize and debug their containers using its `xray`, `lint`, `build`, `debug`, `run`, `images`, `merge`, `registry`, `vulnerability` (and other) commands. It simplifies and improves your developer experience building, customizing and using containers. It makes your containers better, smaller and more secure while providing advanced visibility and improved usability working with the original and minified containers.

Don't change anything in your container image and minify it by up to 30x making it secure too! Optimizing images isn't the only thing it can do though. It can also help you understand and author better container images.

Keep doing what you are doing. No need to change anything. Use the base image you want. Use the package manager you want. Don't worry about hand optimizing your Dockerfile. You shouldn't have to throw away your tools and your workflow to have small container images.

Don't worry about manually creating Seccomp and AppArmor security profiles. You shouldn't have to become an expert in Linux syscalls, Seccomp and AppArmor to have secure containers. Even if you do know enough about it wasting time reverse engineering your application behavior can be time-consuming.

SlimToolkit will optimize and secure your containers by understanding your application and what it needs using various analysis techniques. It will throw away what you don't need, reducing the attack surface of your container. What if you need some of those extra things to debug your container? You can use dedicated debugging side-car containers for that (more details below).

SlimToolkit has been used with Node.js, Python, Ruby, Java, Go, Rust, Elixir and PHP (some app types) running on Ubuntu, Debian, CentOS, Alpine and even Distroless.

Note that some application stacks do require advanced container probing to make sure that all dynamically loaded components are detected. See the `--http-probe*` flags for more details to know how you can define custom probe commands. In some cases you might also need to use the `--include-path` flag to make sure everything your application needs is included (e.g., `ubuntu.com` python SPA app container image [example](https://github.com/slimtoolkit/examples/tree/master/3rdparty/ubuntu-com) where the client side template files are explicitly included).

It's also a good idea to use your app/environment tests when you run the Slim app. See the `--continue-after` flag for more details about integrating your tests with the temporary container Slim creates when it's doing its dynamic analysis. Running tests in the target container is also an option, but it does require you to specify a custom ENTRYPOINT/CMD with a custom wrapper to start your app and to execute your tests.

![Slim How](assets/images/docs/SlimHow.jpeg)

Interactive CLI prompt screencast:

[![asciicast](assets/images/dslim/DockerSlimIntPromptDemo.gif)](https://asciinema.org/a/311513)

Watch this screencast to see how an application image is minified by more than 30x.

[![asciicast](https://asciinema.org/a/rHqW8cbr3vXe0WxorHsD36n7V.png)](https://asciinema.org/a/rHqW8cbr3vXe0WxorHsD36n7V)

When you run the `build` or `profile` commands in Slim it gives you an opportunity to interact with the temporary container it creates. By default, it will pause and wait for your input before it continues its execution. You can change this behavior using the `--continue-after` flag.

If your application exposes any web interfaces (e.g., when you have a web server or an HTTP API), you'll see the port numbers on the host machine you will need to use to interact with your application (look for the `port.list` and `target.port.info` messages on the screen). For example, in the screencast above you'll see that the internal application port 8000 is mapped to port 32911 on your host.

Note that Slim will interact with your application for you when HTTP probing is enabled (enabled by default; see the `--http-probe*` flag docs for more details). Some web applications built with scripting languages like Python or Ruby require service interactions to load everything in the application. Enable HTTP probing unless it gets in your way.

You can also interact with the temporary container via a shell script or snippet using `--exec-file` or `--exec`. For example, you can create a container which is only capable of using curl.

```bash
>> docker pull archlinux:latest
...

>> slim build --target archlinux:latest --tag archlinux:curl --http-probe=false --exec "curl checkip.amazonaws.com"
...

>> docker run archlinux:curl curl checkip.amazonaws.com
...

>> docker images
archlinux                 curl                ...        ...         17.4MB
archlinux                 latest              ...        ...         467MB
...
```

## Community

Feel free to join any of these channels or just open a new [`Github issue`](https://github.com/slimtoolkit/slim/issues) if you want to chat or if you need help.

* [`CNCF Slack channel`](https://cloud-native.slack.com/archives/C059QP1RH1S)
* [`Discord server`](https://discord.gg/9tDyxYS)
* [`Discussions`](https://github.com/slimtoolkit/slim/discussions)
* [`Twitter`](https://twitter.com/SlimToolkit)

## SlimToolkit on the Internet

##### Books:
* [`Everyone's Docker/Kubernetes`](https://www.amazon.co.jp/dp/429710461X) (Japanese)
* [`Docker in Practice (2nd edition)`](https://www.amazon.com/Docker-Practice-Ian-Miell/dp/1617294802)
* [`Docker/Kubernetes Security Practice Guide`](https://www.amazon.co.jp/dp/4839970505) (Japanese)


## Minification Examples

You can find the examples in a separate repository: [https://github.com/slimtoolkit/examples](https://github.com/slimtoolkit/examples)

Node.js application images:

- from ubuntu:14.04 - 432MB => 14MB (minified by **30.85X**)
- from debian:jessie - 406MB => 25.1MB (minified by **16.21X**)
- from node:alpine - 66.7MB => 34.7MB (minified by **1.92X**)
- from node:distroless - 72.7MB => 39.7MB (minified by **1.83X**)

Python application images:

- from ubuntu:14.04 - 438MB => 16.8MB (minified by **25.99X**)
- from python:2.7-alpine - 84.3MB => 23.1MB (minified by **3.65X**)
- from python:2.7.15 - 916MB => 27.5MB (minified by **33.29X**)
- from centos:7 - 647MB => 23MB (minified by **28.57X**)
- from centos/python-27-centos7 - 700MB => 24MB (minified by **29.01X**)
- from python2.7:distroless - 60.7MB => 18.3MB (minified by **3.32X**)

Ruby application images:

- from ubuntu:14.04 - 433MB => 13.8MB (minified by **31.31X**)
- from ruby:2.2-alpine - 319MB => 27MB (minified by **11.88X**)
- from ruby:2.5.3 - 978MB => 30MB (minified by **32.74X**)

Go application images:

- from golang:latest - 700MB => 1.56MB (minified by **448.76X**)
- from ubuntu:14.04 - 531MB => 1.87MB (minified by **284.10X**)
- from golang:alpine - 258MB => 1.56MB (minified by **165.61X**)
- from centos:7 - 615MB => 1.87MB (minified by **329.14X**)

Rust application images:

- from rust:1.31 - 2GB => 14MB (minified by **147.16X**)

Java application images:

- from ubuntu:14.04 - 743.6 MB => 100.3 MB

PHP application images:

- from php:7.0-cli - 368MB => 26.6MB (minified by **13.85X**)

Haskell application images:

- (Scotty service) from haskell:8 - 2.09GB => 16.6MB (minified by **125.32X**)
- (Scotty service) from haskell:7 - 1.5GB => 21MB (minified by 71X)

Elixir application images:

- (Phoenix service) from elixir:1.6 - 1.1 GB => 37 MB (minified by **29.25X**)

---

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

- [RECENT UPDATES](#recent-updates)
- [INSTALLATION](#installation)
- [BASIC USAGE INFO](#basic-usage-info)
- [COMMANDS](#commands)
- [USAGE DETAILS](#usage-details)
  - [`LINT` COMMAND OPTIONS](#lint-command-options)
  - [`XRAY` COMMAND OPTIONS](#xray-command-options)
  - [`BUILD` COMMAND OPTIONS](#build-command-options)
  - [`DEBUG` COMMAND OPTIONS](#debug-command-options)
  - [`RUN` COMMAND OPTIONS](#run-command-options)
  - [`REGISTRY` COMMAND OPTIONS](#registry-command-options)
  - [`VULNERABILITY` COMMAND OPTIONS](#vulnerability-command-options)
- [RUNNING CONTAINERIZED](#running-containerized)
- [DOCKER CONNECT OPTIONS](#docker-connect-options)
- [HTTP PROBE COMMANDS](#http-probe-commands)
- [DEBUGGING MINIFIED CONTAINERS](#debugging-minified-containers)
- [MINIFYING COMMAND LINE TOOLS](#minifying-command-line-tools)
- [QUICK SECCOMP EXAMPLE](#quick-seccomp-example)
- [USING AUTO-GENERATED SECCOMP PROFILES](#using-auto-generated-seccomp-profiles)
- [ORIGINAL DEMO VIDEO](#original-demo-video)
- [DEMO STEPS](#demo-steps)
- [FAQ](#faq)
  - [Is it safe for production use?](#is-it-safe-for-production-use)
  - [How can I contribute if I don't know Go?](#how-can-i-contribute-if-i-dont-know-go)
  - [What's the best application for Slim?](#whats-the-best-application-for-slim)
  - [Can I use Slim with dockerized command line tools?](#can-i-use-slim-with-dockerized-command-line-tools)
  - [What if my Docker images uses the USER command?](#what-if-my-docker-images-uses-the-user-command)
  - [Nginx fails in my minified image](#nginx-fails-in-my-minified-image)
  - [Slim fails with a 'no permission to read from' error](#slim-fails-with-a-no-permission-to-read-from-error)
- [BUILD PROCESS](#build-process)
  - [Build Steps](#build-steps)
- [CONTRIBUTING](#contributing)
- [DESIGN](#design)
  - [CORE CONCEPTS](#core-concepts)
  - [DYNAMIC ANALYSIS OPTIONS](#dynamic-analysis-options)
  - [SECURITY](#security)
  - [CHALLENGES](#challenges)
- [ORIGINS](#origins)
- [MINIFIED IMAGES ON DOCKER HUB](#minified-images-on-docker-hub)
- [LICENSE](#license)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## RECENT UPDATES

Latest version: `1.40.11` (`2/2/2024`)

The 1.40.11 version adds support for the latest Docker Engine version, improves `xray` reports and adds new `build` command flags (`--include-dir-bins` and `--include-ssh-client`).

For more info about the latest release see the [`CHANGELOG`](CHANGELOG.md).


## INSTALLATION

If you already have Slim installed use the `update` command to get the latest version:

```
slim update
```

### Downloads

1. Download the zip package for your platform.

   - [Latest Mac binaries](https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_mac.zip) (`curl -L -o ds.zip https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_mac.zip`)

   - [Latest Mac M1 binaries](https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_mac_m1.zip) (`curl -L -o ds.zip https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_mac_m1.zip)`)

   - [Latest Linux binaries](https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux.tar.gz) (`curl -L -o ds.tar.gz https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux.tar.gz`)

   - [Latest Linux ARM binaries](https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux_arm.tar.gz) (`curl -L -o ds.tar.gz https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux_arm.tar.gz`)

   - [Latest Linux ARM64 binaries](https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux_arm64.tar.gz) (`curl -L -o ds.tar.gz https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux_arm64.tar.gz`)

2. Unzip the package and optionally move it to your bin directory.

Linux (for non-intel replace `dist_linux` with the platform-specific extracted path):
```
tar -xvf ds.tar.gz
mv  dist_linux/slim /usr/local/bin/
mv  dist_linux/slim-sensor /usr/local/bin/
```
Mac:
```
unzip ds.zip
mv  dist_mac/slim /usr/local/bin/
mv  dist_mac/slim-sensor /usr/local/bin/
```

3. Add the location where you unzipped the package to your PATH environment variable (optional).

If the directory where you extracted the binaries is not in your PATH then you'll need to run your Slim app binary from that directory.

#### Scripted Install

You can also use this script to install the current release of Slim on Linux (x86 and ARM) and macOS (x86 and Apple Silicon)

```bash
curl -sL https://raw.githubusercontent.com/slimtoolkit/slim/master/scripts/install-slim.sh | sudo -E bash -
```

### Homebrew

```
brew install docker-slim
```

The Homebrew installer: https://formulae.brew.sh/formula/docker-slim

### Docker

```
docker pull dslim/slim
```

See the [RUNNING CONTAINERIZED](#running-containerized) section for more usage info.

### SaaS

Powered by Slim. It will help you understand and troubleshoot your application containers and a lot more. If you use the `xray` command you'll want to try the SaaS. Understanding image changes is easy with its container diff capabilities. Connect your own registry and you can do the same with your own containers. Try it [here](https://portal.slim.dev/login?invitecode=invite.1s85zlfnYX0p5TT1XKja49pAHbL) without installing anything locally.


## BASIC USAGE INFO

`slim [global flags] [xray|build|profile|run|debug|lint|merge|images|registry|vulnerability|update|version|appbom|help] [command-specific flags] <IMAGE_ID_OR_NAME>`

If you don't specify any command `slim` will start in the interactive prompt mode.

### COMMANDS

- `xray` - Performs static analysis for the target container image (including 'reverse engineering' the Dockerfile for the image). Use this command if you want to know what's inside of your container image and what makes it fat.
- `lint` - Analyzes container instructions in Dockerfiles (Docker image support is WIP)
- `build` - Analyzes, profiles and optimizes your container image generating the supported security profiles. This is the most popular command.
- `debug` - Debug the running target container. This command is useful for troubleshooting running containers created from minimal/minified or regular container images.
- `registry` - Execute registry operations (`pull`, `push`, `copy`, `server`).
- `profile` - Performs basic container image analysis and dynamic container analysis, but it doesn't generate an optimized image.
- `run` - Runs one or more containers (for now runs a single container similar to `docker run`)
- `merge` - Merge two container images (optimized to merge minified images).
- `images` - Get information about container images (example: `slim --quiet images`).
- `vulnerability` - Execute vulnerability related tools and operations (`epss`).
- `version` - Shows the version information.
- `appbom` - Shows the application BOM (app composition/dependencies).
- `update` - Updates Slim to the latest version.
- `help` - Show the available commands and global flags

Example: `slim build my/sample-app`

See the `USAGE DETAILS` section for more details. Run `slim help` to get a high level overview of the available commands. Run `slim COMMAND_NAME` without any parameters and you'll get more information about that command (e.g., `slim build`).

If you run `slim` without any parameters you'll get an interactive prompt that will provide suggestions about the available commands and flags. `Tabs` are used to show the available options, to autocomplete the parameters and to navigate the option menu (which you can also do with Up and Down arrows). `Spaces` are used to move to the next parameter and `Enter` is used to run the command. For more info about the interactive prompt see [`go-prompt`](https://github.com/c-bata/go-prompt).

## USAGE DETAILS

`slim [global options] command [command options] <target image ID or name>`

Commands:

- `xray` - Show what's in the container image and reverse engineer its Dockerfile
- `lint` - Lint the target Dockerfile (or image, in the future)
- `build` - Analyze the target container image along with its application and build an optimized image from it
- `debug` - Debug the running target container. This command is useful for troubleshooting running containers created from minimal/minified or regular container images.
- `registry` - Execute registry operations (`pull`, `push`, `copy`, `server`).
- `profile` - Collect fat image information and generate a fat container report
- `merge` - Merge two container images (optimized to merge minified images)
- `images` - Get information about container images.
- `vulnerability` - Execute vulnerability related tools and operations (`epss`).
- `appbom` - Shows the application BOM (app composition/dependencies)
- `version` - Show app and docker version information
- `update` - Update the app
- `help` - Show help info

Global options:

- `--report` - command report location (target location where to save the executed command results; `slim.report.json` by default; set it to `off` to disable)
- `--check-version` - check if the current version is outdated
- `--version` - print the version
- `--debug` - enable debug logs
- `--verbose` - enable info logs
- `--log-level` - set the logging level ('debug', 'info', 'warn' (default), 'error', 'fatal', 'panic')
- `--log-format` - set the format used by logs ('text' (default), or 'json')
- `--crt-api-version` - Container runtime API version
- `--quiet` - less verbose CLI execution mode
- `--output-format` - set the output format to use ('text' (default), or 'json')
- `--log` - log file to store logs
- `--host` - Docker host address or socket (prefix with `tcp://` or `unix://`)
- `--tls` - use TLS connecting to Docker
- `--tls-verify` - do TLS verification
- `--tls-cert-path` - path to TLS cert files
- `--state-path value` - Slim state base path (must set it if the Slim binaries are not in a writable directory!)
- `--archive-state` - Archives Slim state to the selected Docker volume (default volume - `slim-state`). By default, enabled when Slim is running in a container (disabled otherwise). Set it to `off` to disable explicitly.
- `--in-container` - Set it to true to explicitly indicate that Slim is running in a container (if it's not set Slim will try to analyze the environment where it's running to determine if it's containerized)

To disable the version checks set the global `--check-version` flag to `false` (e.g., `--check-version=false`) or you can use the `DSLIM_CHECK_VERSION` environment variable.

### `LINT` COMMAND OPTIONS

- `--target` - target Dockerfile path (or Docker image, in the future; if you don't use this flag you must specify the target as the argument to the command)
- `--target-type` - explicitly specify the command target type (values: dockerfile, image)
- `--skip-build-context` - don't try to analyze build context
- `--build-context-dir` - explicitly specify the build context directory
- `--skip-dockerignore` - don't try to analyze .dockerignore
- `--include-check-label` - include checks with the selected label key:value
- `--exclude-check-label` - exclude checks with the selected label key:value
- `--include-check-id` - check ID to include
- `--include-check-id-file` - file with check IDs to include
- `--exclude-check-id` - check ID to exclude
- `--exclude-check-id-file` - file with check IDs to exclude
- `--show-nohits` - show checks with no matches
- `--show-snippet` - show check match snippet (default value: true)
- `--list-checks` - list available checks (don't need to specify the target flag if you just want to list the available checks)

### `XRAY` COMMAND OPTIONS

- `--target` - Target container image (name or ID)
- `--pull` - Try pulling target if it's not available locally (default: false).
- `--docker-config-path` - Set the docker config path used to fetch registry credentials (used with the `--pull` flag).
- `--registry-account` - Account to be used when pulling images from private registries (used with the `--pull` flag).
- `--registry-secret` - Account secret to be used when pulling images from private registries (used with the `--pull` and `--registry-account` flags).
- `--show-plogs` - Show image pull logs (default: false).
- `--changes value` - Show layer change details for the selected change type (values: none, all, delete, modify, add).
- `--changes-output value` - Where to show the changes (values: all, report, console).
- `--layer value` - Show details for the selected layer (using layer index or ID)
- `--add-image-manifest` - Add raw image manifest to the command execution report file
- `--add-image-config` - Add raw image config object to the command execution report file
- `--layer-changes-max` - Maximum number of changes to show for each layer
- `--all-changes-max` - Maximum number of changes to show for all layers
- `--add-changes-max` - Maximum number of `add` changes to show for all layers
- `--modify-changes-max` - Maximum number of `modify` changes to show for all layers
- `--delete-changes-max` - Maximum number of `delete` changes to show for all layers
- `--change-path value` - Include changes for the files that match the path pattern (Glob/Match in Go and **). Value formats: `<path pattern>` | `dump:<output type>:<path pattern>` | `::<path pattern>` where `output type` is `console` or a directory name. If `value` starts with `dump:` the match will be 'dumped' to the selected `output type`. [can use this flag multiple times]
- `--change-data value` - Include changes for the files that match the data pattern (regex). Value formats: `<data regex>` | `dump:<output type>:<path pattern>:<data regex>` | `::<path pattern>:<data regex>` | `:::<data regex>` where `output type` is `console` or a directory name. If `value` starts with `dump:` the match will be 'dumped' to the selected `output type`. [can use this flag multiple times]
- `--change-data-hash value` - Include changes for the files that match the provided data hashes (sha1). Value formats: `<sha1 hash>` | `dump:<output type>:<sha1 hash>` | `::<sha1 hash>` where `output type` is `console` or a directory name. If `value` starts with `dump:` the match will be 'dumped' to the selected `output type`. [can use this flag multiple times]
- `--reuse-saved-image` - Reuse saved container image (default: true).
- `--top-changes-max` - Maximum number of top changes to track (default: 20).
- `--hash-data` - Generate file data hashes (default: false).
- `--detect-duplicates` - Detect duplicate files based on their hashes (default: true).
- `--show-duplicates` - Show all discovered duplicate file paths (default: false).
- `--show-special-perms` - Show files with special permissions (setuid,setgid,sticky) (default: true)
- `--detect-utf8` - Detect utf8 files and optionally extract the discovered utf8 file content (possible values: "true" or "dump" or "dump:output_target.tgz" or "dump:output_target.tgz::max_size_bytes" or "dump:output_target.tgz:::max_size_bytes").
- `--detect-all-certs` - Detect all certificate files
- `--detect-all-cert-pks` - Detect all certificate private key files
- `--detect-identities` - Detect system identities (users, groups) and their properties (default: true)
- `--change-match-layers-only` - Show only layers with change matches (default: false).
- `--export-all-data-artifacts` - TAR archive file path to export all text data artifacts (if value is set to `.` then the archive file path defaults to `./data-artifacts.tar`)
- `--remove-file-artifacts` - Remove file artifacts when command is done (note: you'll loose the reverse engineered Dockerfile)

Change Types:

- `none` - Don't show any file system change details in image layers (the top changes from the corresponding layer are still shown)
- `all` - Show all file system change details in image layers
- `delete` - Show only `delete` file system change details in image layers
- `modify` - Show only `modify` file system change details in image layers
- `add` - Show only 'add' file system change details in image layers

In the interactive CLI prompt mode you must specify the target image using the `--target` flag while in the traditional CLI mode you can use the `--target` flag or you can specify the target image as the last value in the command.

### `BUILD` COMMAND OPTIONS

- `--target` - Target container image (name or ID). It's an alternative way to provide the target information. The standard way to provide the target information is by putting as the last value in the `build` command CLI call.
- `--pull` - Try pulling target if it's not available locally (default: false).
- `--docker-config-path` - Set the docker config path used to fetch registry credentials (used with the `--pull` flag).
- `--registry-account` - Account to be used when pulling images from private registries (used with the `--pull` flag).
- `--registry-secret` - Account secret to be used when pulling images from private registries (used with the `--pull` and `--registry-account` flags).
- `--show-plogs` - Show image pull logs (default: false).

- `--compose-file` - Load container info from selected compose file
- `--target-compose-svc` - Target service from compose file
- `--target-compose-svc-image` - Override the container image name and/or tag when targeting a compose service using the target-compose-svc parameter (format: tag_name or image_name:tag_name)
- `--target-compose-svc-no-ports` - Do not publish ports for target service from compose file
- `--dep-exclude-compose-svc-all` - Do not start any compose services as target dependencies
- `--dep-include-compose-svc` - Include specific compose service as a target dependency (only selected services will be started)
- `--dep-exclude-compose-svc` - Exclude specific service from the compose services that will be started as target dependencies
- `--dep-include-compose-svc-deps` - Include all dependencies for the selected compose service (excluding the service itself) as target dependencies
- `--dep-include-target-compose-svc-deps` - Include all dependencies for the target compose service (excluding the service itself) as target dependencies. This is a shortcut flag to avoid repeating the service name (it's a pretty long flag name though :-))
- `--compose-svc-start-wait` - Number of seconds to wait before starting each compose service
- `--compose-net` - Attach target to the selected compose network(s) otherwise all networks will be attached
- `--compose-env-nohost` - Don't include the env vars from the host to compose
- `--compose-env-file` - Load compose env vars from file (host env vars override the values loaded from this file)
- `--compose-workdir` - Set custom work directory for compose
- `--compose-project-name` - Use custom project name for compose
- `--container-probe-compose-svc` - Container test/probe service from compose file
- `--prestart-compose-svc` - placeholder for now
- `--poststart-compose-svc` - placeholder for now
- `--http-probe` - Enables/disables HTTP probing (ENABLED by default; you have to disable the probe if you don't need it by setting the flag to `false`: `--http-probe=false`)
- `--http-probe-off` - Alternative way to disable HTTP probing
- `--http-probe-cmd` - Additional HTTP probe command [can use this flag multiple times]
- `--http-probe-cmd-file` - File with user defined HTTP probe commands
- `--http-probe-start-wait` - Number of seconds to wait before starting HTTP probing
- `--http-probe-retry-count` - Number of retries for each HTTP probe (default value: 5)
- `--http-probe-retry-wait` - Number of seconds to wait before retrying HTTP probe (doubles when target is not ready; default value: 8)
- `--http-probe-ports` - Explicit list of ports to probe (in the order you want them to be probed; excluded ports are not probed!)
- `--http-probe-full` - Do full HTTP probe for all selected ports (if false, finish after first successful scan; default value: false)
- `--http-probe-exit-on-failure` - Exit when all HTTP probe commands fail (default value: true)
- `--http-probe-crawl` - Enable crawling for the default HTTP probe command (default value: true)
- `--http-crawl-max-depth` - Max depth to use for the HTTP probe crawler (default value: 3)
- `--http-crawl-max-page-count` - Max number of pages to visit for the HTTP probe crawler (default value: 1000)
- `--http-crawl-concurrency` - Number of concurrent workers when crawling an HTTP target (default value: 10)
- `--http-max-concurrent-crawlers` - Number of concurrent crawlers in the HTTP probe (default value: 1)
- `--http-probe-apispec` - Run HTTP probes for API spec where the value represents the target path where the spec is available (supports Swagger 2.x and OpenAPI 3.x) [can use this flag multiple times]
- `--http-probe-apispec-file` - Run HTTP probes for API spec from file (supports Swagger 2.x and OpenAPI 3.x) [can use this flag multiple times]
- `--http-probe-exec` - App to execute when running HTTP probes. [can use this flag multiple times]
- `--http-probe-exec-file` - Apps to execute when running HTTP probes loaded from file.
- `--publish-port` - Map container port to host port analyzing image at runtime to make it easier to integrate external tests (format => port | hostPort:containerPort | hostIP:hostPort:containerPort | hostIP::containerPort )[can use this flag multiple times]
- `--publish-exposed-ports` - Map all exposed ports to the same host ports analyzing image at runtime (default value: false)
- `--show-clogs` - Show container logs (from the container used to perform dynamic inspection)
- `--show-blogs` - Show build logs (when the minified container is built)
- `--copy-meta-artifacts` - Copy meta artifacts to the provided location
- `--remove-file-artifacts` - Remove file artifacts when command is done (note: you'll loose autogenerated Seccomp and Apparmor profiles unless you copy them with the `copy-meta-artifacts` flag or if you archive the state)
- `--tag` - Use a custom tag for the generated image (instead of the default value: `<original_image_name>.slim`) [can use this flag multiple times if you need to create additional tags for the optimized image]
- `--entrypoint` - Override ENTRYPOINT analyzing image at runtime
- `--cmd` - Override CMD analyzing image at runtime
- `--mount` - Mount volume analyzing image (the mount parameter format is identical to the `-v` mount command in Docker) [can use this flag multiple times]
- `--include-path` - Include directory (and what's in it) or file from image [can use this flag multiple times] (optionally overwriting the artifact's permissions, user and group information; full format: `targetPath:octalPermFlags#uid#gid`, minimal format: `targetPath` ; see the non-default USER FAQ section for more details)
- `--include-path-file` - Load directory or file includes from a file (optionally overwriting the artifact's permissions, user and group information; full format: `targetPath:octalPermFlags#uid#gid`, minimal format: `targetPath` ; see the non-default USER FAQ section for more details)
- `--include-paths-creport-file` - Keep files from the referenced creport
- `--include-bin value` - Include binary from image (executable or shared object using its absolute path)
- `--include-bin-file` - Load shared binary file includes from a file (similar to `--include-path-file`)
- `--include-dir-bins value` - Include binaries in the target directory and include their dependencies, which could be in other locations (executables or shared objects using its absolute path)
- `--include-exe value` - Include executable from image (by executable name)
- `--include-exe-file` - Load executable file includes from a file (similar to `--include-path-file`)
- `--include-shell` - Include basic shell functionality (default value: false)
- `--include-workdir` - Keep files in working directory (default value: false)
- `--include-cert-all` - Keep all discovered cert files (default: true)
- `--include-cert-bundles-only` - Keep only cert bundles
- `--include-cert-dirs` - Keep known cert directories and all files in them
- `--include-cert-pk-all` - Keep all discovered cert private keys
- `--include-cert-pk-dirs` - Keep known cert private key directories and all files in them
- `--include-new` - Keep new files created by target during dynamic analysis (default value: true)
- `--include-oslibs-net` - Keep the common networking OS libraries (default value: true)
- `--include-ssh-client` - Keep the common SSH client components and configs
- `--include-zoneinfo` - Keep the OS/libc zoneinfo data (default value: false)
- `--include-app-nuxt-dir` - Keep the root Nuxt.js app directory (default value: false)
- `--include-app-nuxt-build-dir` - Keep the build Nuxt.js app directory (default value: false)
- `--include-app-nuxt-dist-dir` - Keep the dist Nuxt.js app directory (default value: false)
- `--include-app-nuxt-static-dir` - Keep the static asset directory for Nuxt.js apps (default value: false)
- `--include-app-nuxt-nodemodules-dir` - Keep the node modules directory for Nuxt.js apps (default value: false)
- `--include-app-next-dir` - Keep the root Next.js app directory (default value: false)
- `--include-app-next-build-dir` - Keep the build directory for Next.js app (default value: false)
- `--include-app-next-dist-dir` - Keep the static SPA directory for Next.js apps (default value: false)
- `--include-app-next-static-dir` - Keep the static public asset directory for Next.js apps (default value: false)
- `--include-app-next-nodemodules-dir` - Keep the node modules directory for Next.js apps (default value: false)
- `--include-node-package` - Keep node.js package by name [can use this flag multiple times]
- `--preserve-path` - Keep path from original image in its initial state (changes to the selected container image files when it runs will be discarded). [can use this flag multiple times]
- `--preserve-path-file` - File with paths to keep from original image in their original state (changes to the selected container image files when it runs will be discarded).
- `--path-perms` - Set path permissions/user/group in optimized image (format: `target:octalPermFlags#uid#gid` ; see the non-default USER FAQ section for more details)
- `--path-perms-file` - File with path permissions to set (format: `target:octalPermFlags#uid#gid` ; see the non-default USER FAQ section for more details)
- `--exclude-pattern` - Exclude path pattern ([Glob/Match in Go](https://golang.org/pkg/path/filepath/#Match) and `**`) from image (useful when `--include-path` keeps a directory and you need to exclude / filter out some of the files in that directory)
- `--exclude-varlock-files` - Exclude the files in the var and run lock directory (default value: true)
- `--exclude-mounts` - Exclude mounted volumes from image (default value: true)
- `--label` - Override or add LABEL analyzing image at runtime [can use this flag multiple times]
- `--volume` - Add VOLUME analyzing image at runtime [can use this flag multiple times]
- `--env` - Add ENV analyzing target image at runtime [can use this flag multiple times]
- `--env-file` - Load multiple environment variables from a file when analyzing target image at runtime.
- `--workdir` - Override WORKDIR analyzing image at runtime
- `--network` - Override default container network settings analyzing image at runtime
- `--expose` - Use additional EXPOSE instructions analyzing image at runtime [can use this flag multiple times]
- `--link` - Add link to another container analyzing image at runtime [can use this flag multiple times]
- `--hostname` - Override default container hostname analyzing image at runtime
- `--etc-hosts-map` - Add a host to IP mapping to /etc/hosts analyzing image at runtime [can use this flag multiple times]
- `--container-dns` - Add a dns server analyzing image at runtime [can use this flag multiple times]
- `--container-dns-search` - Add a dns search domain for unqualified hostnames analyzing image at runtime [can use this flag multiple times]
- `--image-overrides` - Save runtime overrides in generated image (values is `all` or a comma delimited list of override types: `entrypoint`, `cmd`, `workdir`, `env`, `expose`, `volume`, `label`). Use this flag if you need to set a runtime value and you want to persist it in the optimized image. If you only want to add, edit or delete an image value in the optimized image use one of the `--new-*` or `--remove-*` flags (define below).
- `--continue-after` - Select continue mode: `enter` | `signal` | `probe` | `exec` | `timeout-number-in-seconds` | `container.probe` (default value if http probes are disabled: `enter`). You can also select `probe` and `exec` together: `'probe&exec'` (make sure to use quotes around the two modes or the `&` will break the shell command).
- `--dockerfile` - The source Dockerfile name to build the fat image before it's optimized.
- `--tag-fat` - Custom tag for the fat image built from Dockerfile.
- `--cbo-add-host` - Add an extra host-to-IP mapping in /etc/hosts to use when building an image (Container Build Option).
- `--cbo-build-arg` - Add a build-time variable (Container Build Option).
- `--cbo-label` - Add a label when building from Dockerfiles (Container Build Option).
- `--cbo-target` - Target stage to build for multi-stage Dockerfiles (Container Build Option).
- `--cbo-network` - Networking mode to use for the RUN instructions at build-time (Container Build Option).
- `--cbo-cache-from` - Add an image to the build cache (Container Build Option).
- `--cro-runtime` - Runtime to use with the created containers (Container Runtime Option).
- `--cro-host-config-file` - File to load the Docker host configuration data (JSON format) to use when running the container. See the [HostConfig](https://pkg.go.dev/github.com/fsouza/go-dockerclient#HostConfig) struct definition from the `go-dockerclient` package for configuration details. Note that Slim will automatically add `SYS_ADMIN` to the list of capabilities and run the container in privileged mode, which are required to generate the seccomp profiles. The host config parameters specified using their standalone build or profile command flags overwrite the values in the host config file (volume binds are merged).
- `--cro-sysctl` - Set namespaced kernel parameters in the created container (Container Runtime Option).
- `--cro-shm-size` - Shared memory size for /dev/shm in the created container (Container Runtime Option).
- `--use-local-mounts` - Mount local paths for target container artifact input and output (off, by default)
- `--use-sensor-volume` - Sensor volume name to use (set it to your Docker volume name if you manage your own Slim sensor volume).
- `--keep-tmp-artifacts` - Keep temporary artifacts when command is done (off, by default).
- `--keep-perms` - Keep artifact permissions as-is (default: true)
- `--run-target-as-user` - Run target app (in the temporary container) as USER from Dockerfile (true, by default)
- `--new-entrypoint` - New ENTRYPOINT instruction for the optimized image
- `--new-cmd` - New CMD instruction for the optimized image
- `--new-expose` - New EXPOSE instructions for the optimized image
- `--new-workdir` - New WORKDIR instruction for the optimized image
- `--new-env` - New ENV instructions for the optimized image
- `--new-label` - New LABEL instructions for the optimized image
- `--new-volume` - New VOLUME instructions for the optimized image
- `--remove-volume` - Remove VOLUME instructions for the optimized image
- `--remove-env` - Remove ENV instructions for the optimized image
- `--remove-label` - Remove LABEL instructions for the optimized image
- `--remove-expose` - Remove EXPOSE instructions for the optimized image
- `--exec` - A shell script snippet to run via Docker exec
- `--exec-file` - A shell script file to run via Docker exec
- `--sensor-ipc-mode` - Select sensor IPC mode: proxy | direct (useful for containerized CI/CD environments)
- `--sensor-ipc-endpoint` - Override sensor IPC endpoint
- `--rta-onbuild-base-image` - Enable runtime analysis for onbuild base images (default: false)
- `--rta-source-ptrace` - Enable PTRACE runtime analysis source (default: true)
- `--image-build-engine` - Select image build engine: `internal` | `docker` | `none` (`internal` - build the output image without using Docker [default behavior], `docker` - build the output image with Docker, `none` - don't build the output image, allows you to do your own build with the tools you want to use, which you'll be able to do by pointing to the artifact directory where the `files.tar` and `Dockerfile` artifacts are located for the output image)
- `--image-build-arch` - Select output image build architecture (use the standard container image names for the architectures without the OS part)
- `--obfuscate-metadata` - Obfuscate the standard system and application metadata to make it more challenging to identify the image components (experimental flag, first version of obfuscation; inspired by the [`Malicious Compliance`](https://kccnceu2023.sched.com/event/1Hybu/malicious-compliance-reflections-on-trusting-container-scanners-ian-coldwater-independent-duffie-cooley-isovalent-brad-geesaman-ghost-security-rory-mccune-datadog) KubeCon EU 2023 talk)
- `--enable-mondel` - Enable monitor data event log for sensor monitors to log/stream the events captured by those monitors (default: false)

In the interactive CLI prompt mode you must specify the target image using the `--target` flag while in the traditional CLI mode you can use the `--target` flag or you can specify the target image as the last value in the command.

The `--include-path` option is useful if you want to customize your minified image adding extra files and directories. The `--include-path-file` option allows you to load multiple includes from a newline delimited file. Use this option if you have a lot of includes. The includes from `--include-path` and `--include-path-file` are combined together. You can also use the `--exclude-pattern` flag to control what shouldn't be included.

The `--continue-after` option is useful if you need to script the Slim app. If you pick the `probe` option then Slim will continue executing the build command after the HTTP probe is done executing. If you pick the `exec` options then Slim will continue executing the build command after the container exec shell commands (specified using the `--exec-file` or `--exec` flags) are done executing. If you pick the `timeout` option Slim will allow the target container to run for 60 seconds before it will attempt to collect the artifacts. You can specify a custom timeout value by passing a number of seconds you need instead of the `timeout` string. If you pick the `signal` option you'll need to send a `USR1` signal to the Slim app process. The `signal` option is useful when you want to run your own tests against the temporary container Slim creates. Your test automation / CI/CD pipeline will be able to notify the Slim app that it's done running its test by sending the `USR1` to it.

You can also combine multiple `continue-after` modes. For now only combining `probe` and `exec` is supported (using either `probe&exec` or `exec&probe` as the `--continue-after` flag value). Other combinations may work too. Combining `probe` and `signal` is not supported.

The `--include-shell` option provides a simple way to keep a basic shell in the minified container. Not all shell commands are included. To get additional shell commands or other command line utilities use the `--include-exe` and/or `--include-bin` options. Note that the extra apps and binaries might missed some of the non-binary dependencies (which don't get picked up during static analysis). For those additional dependencies use the `--include-path` and `--include-path-file` options.

The `--dockerfile` option makes it possible to build a new minified image directly from source Dockerfile. Pass the Dockerfile name as the value for this flag and pass the build context directory or URL instead of the docker image name as the last parameter for the `build` command: `slim build --dockerfile Dockerfile --tag my/custom_minified_image_name .` If you want to see the console output from the build stages (when the fat and slim images are built) add the `--show-blogs` build flag. Note that the build console output is not interactive and it's printed only after the corresponding build step is done. The fat image created during the build process has the `.fat` suffix in its name. If you specify a custom image tag (with the `--tag` flag) the `.fat` suffix is added to the name part of the tag. If you don't provide a custom tag the generated fat image name will have the following format: `slim-tmp-fat-image.<pid_of_slim>.<current_timestamp>`. The minified image name will have the `.slim` suffix added to that auto-generated container image name (`slim-tmp-fat-image.<pid_of_slim>.<current_timestamp>.slim`). Take a look at this [python examples](https://github.com/slimtoolkit/examples/tree/master/python_ubuntu_18_py27_from_dockerfile) to see how it's using the `--dockerfile` flag.

The `--use-local-mounts` option is used to choose how the Slim sensor is added to the target container and how the sensor artifacts are delivered back to the master. If you enable this option you'll get the original Slim app behavior where it uses local file system volume mounts to add the sensor executable and to extract the artifacts from the target container. This option doesn't always work as expected in the dockerized environment where Slim itself is running in a Docker container. When this option is disabled (default behavior) then a separate Docker volume is used to mount the sensor and the sensor artifacts are explicitly copied from the target container.

### `DEBUG` COMMAND OPTIONS

- `--runtime` - Runtime environment type (values: `docker`, `k8s`; defaults to `docker`)
- `--debug-image` - Debug image to use for the debug side-car container (default value for this flag is `busybox`).
- `--list-debug-images` - List possible debug images to use for the debug side-car container (for the `--debug-image` flag). This list is a ready to use set of debug images. You can use other images too.
- `--target` - Target container name or ID (this can also be provided as the last param in the command line invocation of the `debug` command). Note that the target container must be running. You can use the `docker run` command to start the target container (or the kubernetes equivalent).
- `--namespace` - Namespace to target [k8s runtime] (defaults to `default`)
- `--pod` - Pod to target [k8s runtime]
- `--cmd` - (Optional) custom CMD to use for the debug side-car container (alternatively pass custom CMD params after '--').
- `--entrypoint` - (Optional) custom ENTRYPOINT to use for the debug side-car container.
- `--terminal` - Attach interactive terminal to the debug container (default: true). When the interactive terminal is not enabled the debug container output will be printed out to the screen when the `debug` command exits.
- `--kubeconfig` - Kubeconfig file location [k8s runtime]
- `--workdir` - Custom WORKDIR to use for the debug side-car container.
- `--env` - Environment variable to add to the debug side-car container.
- `--run-as-target-shell` - Attach interactive terminal to the debug container and run shell as if it's running in the target container environment.
- `--list-sessions` - List all debug sessions for the selected target (pod and optionally selected container for k8s or container for other runtimes).
- `--show-session-logs` - Show logs for the selected debug session (using namespace, pod, target container or debug session container name for k8s or debug session container name for other runtimes).
- `--session` - Debug session container name (used for debug sessoin actions).
- `--connect-session` - Connect to existing debug session.
- `--list-namespaces` - List names for available namespaces (use this flag by itself) [k8s runtime].
- `--list-pods` - List names for running pods in the selected namespace (use this flag by itself) [k8s runtime].
- `--list-debuggable-containers` - List container names for active containers that can be debugged (use this flag by itself).
- `--list-debug-images` - List possible debug images to use for the debug side-car container (use this flag by itself).
- `--help` show help (default: false)

See the "Debugging Using the `debug` Command" section for more information about this command.

### `RUN` COMMAND OPTIONS

Run one or more containers

USAGE: `slim [GLOBAL FLAGS] run [FLAGS] [IMAGE]`

Flags:

- `--target` - Target container image to run. Same as specifying the target container image as the last value for the command. Used mostly for the interactive prompt mode where you need to select flag names.
- `--pull` - Pull the target image before trying to run it.
- `--docker-config-path` - Docker config path (used to fetch registry credentials).
- `--registry-account` - Target registry account used when pulling images from private registries.
- `--registry-secret` - Target registry secret used when pulling images from private registries.
- `--show-plogs` - Show image pull logs.
- `--entrypoint` - Override ENTRYPOINT running the target image.
- `--cmd` - Override CMD running the target image.
- `--live-logs` - Show live logs for the container (can't use with --terminal).
- `--terminal` - Attach interactive terminal to the container.
- `--publish` - Map container port to host port (format => port | hostPort:containerPort | hostIP:hostPort:containerPort | hostIP::containerPort ).
- `--rm` - Remove the container when it exits.
- `--detach` - Start the container and do not wait for it to exit.

### `MERGE` COMMAND OPTIONS

Merge two container images. Optimized to merge minified images.

Flags:

- `--image` - Image to merge. Flag instance position determines the merge order. The command supports two instances of this flag.

- `--use-last-image-metadata` - Use only the last image metadata for the merged image.

- `--tag` - Custom tags for the output image (multiple instances).


### `REGISTRY` COMMAND OPTIONS

For the operations that require authentication you can reuse the registry credentials from Docker (do `docker login` first and then use the `--use-docker-credentials` flag with the `registry` command) or you can specify the auth info using the `--account` and `--secret` flags).

Current sub-commands: `pull`, `push`, `image-index-create`, `server`.

There's also a placeholder for `copy`, but it doesn't do anything yet. Great opportunity to contribute ;-)

Shared Command Level Flags:

- `--use-docker-credentials` - Use the registry credentials from the default Docker config file.
- `--account` - Registry credentials account.
- `--secret` - Registry credentials secret.

#### `PULL` SUBCOMMAND OPTIONS

USAGE: `slim [GLOBAL FLAGS] registry [SHARED FLAGS] pull [FLAGS] [IMAGE]`

Flags:

- `--target value` - Target container image (name or ID) [$DSLIM_TARGET]
- `--save-to-docker`- Save pulled image to docker (default: true) [$DSLIM_REG_PULL_SAVE_TO_DOCKER]

#### `PUSH` SUBCOMMAND OPTIONS

USAGE: `slim [GLOBAL FLAGS] registry [SHARED FLAGS] push [FLAGS] [IMAGE]`

Flags:

- `--docker` -- Push local docker image.
- `--tar` -- Push image from a local tar file.
- `--as` -- Tag the selected image with the specified name before pushing.

Note that `slim registry push LOCAL_DOCKER_IMAGE_NAME` is a shortcut for `slim registry push --docker LOCAL_DOCKER_IMAGE_NAME`.

Normally you have to explicitly tag the target image to have a name that's appropriate for the destination registry. The `--as` flag is a convenient way to tag the image while you are pushing it. Here's an example pushing a local Docker `nginx` image to a local registry: `slim registry push --docker nginx --as localhost:5000/nginx`

You can create a local registry using the `server` subcommand. See the `server` sub-command section below for more details.

#### `COPY` SUBCOMMAND OPTIONS

USAGE: `slim registry copy [SRC_IMAGE] [DST_IMAGE]`

NOTE: Just a placeholder for now (TBD)

#### `IMAGE-INDEX-CREATE` SUBCOMMAND OPTIONS

USAGE: `slim registry image-index-create --image-index-name [MULTI-ARCH_IMAGE_TAG] --image-name [IMAGE_ONE] --image-name [IMAGE_TWO]`

Flags: 

- `--image-index-name` - Image index name to use.
- `--image-name` - Target image name to include in image index.
- `--as-manifest-list` - Create image index with the manifest list media type instead of the default OCI image index type.
- `--dump-raw-manifest` - Dump raw manifest for the created image index.
- `--insecure-refs` - Allow the referenced images from insecure registry connections.

#### `SERVER` SUBCOMMAND OPTIONS

Starts a server which implements the [OCI API spec](https://github.com/opencontainers/distribution-spec/blob/v1.0.1/spec.md) on port 5000 by default.

USAGE: `slim [GLOBAL FLAGS] registry server [FLAGS]`

Flags:

- `--address` - Registry server address to listen on (default: `0.0.0.0`)
- `--port` - Registry server port (default: 5000)
- `--https` - Use HTTPS.
- `--cert-path` - Cert path for use with HTTPS (for use when not using autocert).
- `--key-path` - Key path for use with HTTPS (for use when not using autocert).
- `--domain` - Domain to use for registry server (to get certs). Only works if the registry is internet accessible (see `autocert` Go docs for more details).
- `--referrers-api` - Enables the [referrers API endpoint](https://github.com/opencontainers/distribution-spec/blob/v1.1.0-rc3/spec.md#enabling-the-referrers-api) (OCI 1.1+). Enabled by default (set to `false` to disable).

### `VULNERABILITY` COMMAND OPTIONS

USAGE: `slim [GLOBAL FLAGS] vulnerability [SHARED FLAGS] [SUBCOMMAND] [FLAGS]`

Current sub-commands: 

* `epss` - Gets EPPS information for the target vulnerabilities or based on the selected vulnerability filters.

Shared Command Level Flags:

- `--cve` - Target vulnerability CVE ID (can specify multiple times to target multiple vulnerabilities).

#### `EPSS` SUBCOMMAND OPTIONS

USAGE: `slim [GLOBAL FLAGS] vulnerability [SHARED FLAGS] epss [FLAGS]`

Flags:

- `--op` - EPSS operation (`lookup` | `list`).
- `--date` - Date for the EPSS information (YYYY-MM-DD format). Works with the `lookup` and `list` operations.
- `--with-history` - Return EPSS results with historical data. Works with the `lookup` and `list` operations.
- `--limit` - Limit the number of returned records.
- `offset` - Offset where to start returning records.
- `filter-cve-id-pattern` - 'CVE ID pattern' ESPP list operation filter.
- `filter-days-since-added` - 'days since added' ESPP list operation filter.
- `filter-score-gt` - 'score is greater than' ESPP list operation filter.
- `filter-score-lt` - 'score is less than' ESPP list operation filter.
- `filter-percentile-gt` - 'percentile is greater than' ESPP list operation filter.
- `filter-percentile-lt` - 'percentile is less than' ESPP list operation filter.
- `filter-order-records` - 'order returned records' ESPP list operation filter ('score-desc' | 'score-asc' | 'percentile-desc' | 'percentile-asc').

Examples:

* `slim --quiet vulnerability --cve CVE-2021-21315 epss`
* `slim --output-format=json vulnerability --cve CVE-2021-21315 epss`
* `slim --quiet --output-format=json vulnerability --cve CVE-2021-21315 --cve CVE-2023-49070 epss`
* `slim --quiet vulnerability --cve CVE-2021-21315 epss --with-history --date 2022-12-13`
* `slim --quiet vulnerability epss --op list --date 2024-01-05`
* `slim --quiet vulnerability epss --op list --filter-cve-id-pattern 2023 --filter-score-gt 0.92 --limit 2 --offset 3`


## RUNNING CONTAINERIZED

The current version of Slim is able to run in containers. It will try to detect if it's running in a containerized environment, but you can also tell Slim explicitly using the `--in-container` global flag.

You can run Slim in your container directly or you can use the Slim container image in your containerized environment. If you are using the Slim container image make sure you run it configured with the Docker IPC information, so it can communicate with the Docker daemon. The most common way to do it is by mounting the Docker unix socket to the Slim app container. Some containerized environments (like Gitlab and their `dind` service) might not expose the Docker unix socket to you, so you'll need to make sure the environment variables used to communicate with Docker (e.g., `DOCKER_HOST`) are passed to the Slim app container. Note that if those environment variables reference any kind of local host names those names need to be replaced or you need to tell the Slim app about them using the `--etc-hosts-map` flag. If those environment variables reference local files those local files (e.g., files for TLS cert validation) will need to be copied to a temporary container, so that temporary container can be used as a data container to make those files accessible by the Slim app container.

When Slim app runs in a container it will attempt to save its execution state in a separate Docker volume. If the volume doesn't exist it will try to create it (`slim-state`, by default). You can pick a different state volume or disable this behavior completely by using the global `--archive-state` flag. If you do want to persist the Slim app execution state (which includes the `seccomp` and `AppArmor` profiles) without using the state archiving feature you can mount your own volume that maps to the `/bin/.slim-state` directory in the Slim app container.

By default, the Slim app will try to create a Docker volume for its sensor unless one already exists. If this behavior is not supported by your containerized environment you can create a volume separately and pass its name to the Slim app using the `--use-sensor-volume` flag.

Here's a basic example of how to use the containerized version of the Slim app:
`docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim build your-docker-image-name`

Here's a GitLab example for their `dind` `.gitlab-ci.yml` config file:
`docker run -e DOCKER_HOST=tcp://$(grep docker /etc/hosts | cut -f1):2375 dslim/slim build your-docker-image-name`

Here's a CircleCI example for their `remote docker` `.circleci/config.yml` config file (used after the `setup_remote_docker` step):

```bash
docker create -v /dcert_path --name dcert alpine:latest /bin/true
docker cp $DOCKER_CERT_PATH/. dcert:/dcert_path
docker run --volumes-from dcert -e DOCKER_HOST=$DOCKER_HOST -e DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY -e DOCKER_CERT_PATH=/dcert_path dslim/slim build your-docker-image-name
```

Different CI/CD services have different containerized environment designs that impose various restrictions that may impact the ability of the main app to communicate with the sensor app embedded in the temporary container Slim creates. Try adjusting the values for the `--sensor-ipc-mode` and `--sensor-ipc-endpoint` flags. This [`Google Cloud Build`](https://medium.com/google-cloud/integrating-dockerslim-container-minify-step-on-cloud-build-64da29fd58d1) blog post by Márton Kodok is a good reference for both of those flags. 

### Using `*-file` Flags
- There are several flags that accept file paths (`--include-path-file`, `--compose-file`, `--http-probe-cmd-file`, etc). You need volume mount the location of the referenced paths or the file paths themselves when you use the containerized version of Slim because the Slim app container won't have accept to the referenced files otherwise.

## CI/CD INTEGRATIONS

### Integrating Slim in Jenkins
#### Prerequisites:
- Spin up a virtual machine(e.g.EC2 Instance, Azure VM, GCE) which has an Ubuntu OS via your desired cloud platform(AWS, Azure, GCP), SSH into the machine, update the machine packages and install docker. An example of this step is highlighted below given you are running an AWS EC2 Instance.
```
sudo apt update -y
```
```
sudo apt install docker -y
```
```
sudo systemctl start docker
```
```
sudo usermod -aG docker ec2-user
```
- Install Jenkins on the virtual machine using docker as stipulated by the [Jenkins Documentation](https://github.com/jenkinsci/docker/blob/master/README.md), this step pulls [Jenkins Image from DockerHub](https://hub.docker.com/r/jenkins/jenkins), runs Jenkins as a container via port 8080 and creates an explicit docker volume on the host machine to retain Jenkins data. Given you are running an AWS EC2 Instance, create a TCP rule with port 8080 in the Instance security group rules which allows only your Internet Protocol(IP) address to access the Jenkins server. 
```
docker run -p 8080:8080 -p 50000:50000 -d -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
```
- Given Jenkins is now running as a containerized environment in the virtual machine, you need to make docker available in the Jenkins container, you can do this by bind mounting the virtual machine docker unix socket onto the jenkins container, note that to carry out this step you need to stop the running jenkins container, you can find the jenkins container ID by using the docker ps command, the commands to execute are highlighted below. This step is essential as it makes docker available in the Jenkins container, and with docker you can pull Slim Image which is to be used in further steps.
```
docker ps 
```
```
docker stop [jenkins_container_id]
```
```
docker run -p 8080:8080 -p 50000:50000 -d \  
-v jenkins_home:/var/jenkins_home \ 
-v /var/run/docker.sock:/var/run/docker.sock \ 
-v $(which docker):/usr/bin/docker jenkins/jenkins:lts
```
- Enable Docker permissions in the new jenkins container, such that Jenkins can perform docker commands and pull the [Slim Official Image](https://hub.docker.com/r/dslim/docker-slim) in the container. To do this, you need to get into the Jenkins container as a root user, you can find the jenkins container ID by using the docker ps command, the commands to execute are highlighted below:
```
docker exec -u 0 -it [jenkins_container_id] bash
```
```
chmod 666 /var/run/docker.sock 
```
```
docker pull dslim/slim
```
#### Jenkinsfile Slim Stage
Given you have completed the prerequisite steps above, you can build a docker image and minify the image size using Slim via the snippet stage below which should be highlighted in your Jenkinsfile stages.
```
stage("Build and Slim Docker Image") {
  steps {
      script {
          echo "building and slimming docker image..."
          sh 'docker build -t IMAGE_NAME:$BUILD_NUMBER .'
          sh 'docker run --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim \
              build --target IMAGE_NAME:$BUILD_NUMBER --tag IMAGE_NAME:slim-$BUILD_NUMBER \
              exit'
      }
  }
}
```
- The snippet stage above allows for customization, you should replace the image name--IMAGE_NAME with your desired image name, the environment variable tag--$BUILD_NUMBER represents a unique incremental number allocated by Jenkins each time your jenkins pipeline runs. 
- The docker build command builds a Docker Image of your application from a Dockerfile.
- The docker run command runs Slim in a non-interactive mode via the docker unix socket, minifies the built(target) image--IMAGE_NAME:$BUILD_NUMBER, and adjusting it to a new slimmed image with the image/tag--IMAGE_NAME:slim-$BUILD_NUMBER.
- You should put the Slim stage before a docker tag/push stage and after a build/test artifact in your Jenkinsfile, an example pipeline is highlighted below for a sample nodejs application; The first stage test and builds an artifact of the application; The second stage builds a docker image and a slimmed version of the docker image; The third stage tags the slimmed docker image with a DockerHub account remote repository and pushes the image to the remote repository.
```
pipeline {
    agent any
    stages {
        stage("building nodejs app") {
            steps{
                script {
                    echo "building nodejs app..."
                    sh 'npm run test'
                    sh 'npm pack'
                }
            }
        }
        stage("Build and Slim Docker Image") {
            steps {
                script {
                    echo "building and slimming docker image..."
                    sh 'docker build -t node_alpine:$BUILD_NUMBER .'
                    sh 'docker run --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim \
                        build --target node_alpine:$BUILD_NUMBER --tag node_alpine:slim-$BUILD_NUMBER \
                        exit'
                }
            }
        }
        stage("Push Slim Image to Regristy") {
            steps {
                script {
                    echo 'pushing image to docker regristry...'
                    withCredentials([usernamePassword(credentialsId: 'docker-hub-credentials', passwordVariable: 'PASS', usernameVariable: 'USER')]) {
                        sh 'docker tag node_alpine:slim-$BUILD_NUMBER $USER/node_alpine:slim-$BUILD_NUMBER'
                        sh 'echo $PASS | docker login -u $USER --password-stdin'
                        sh 'docker push $USER/node_alpine:slim-$BUILD_NUMBER'
                    }
                }
            }
        }
    }
}   
```

### Integrating Slimtoolkit in Github Actions
#### Github Action
Integrating SlimToolkit in Github Actions in your CI/CD workflow involves using the [Docker-Slim Github Action](https://github.com/marketplace/actions/docker-slim-github-action), this Action(snippet below) minifies a target docker image--IMAGE_NAME:latest in your workflow, making it smaller and adjusting the new slimmed image as IMAGE_NAME:slim.  
```
# Slim it!
- uses: kitabisa/docker-slim-action@v1
  env:
    DSLIM_HTTP_PROBE: false
  with:
    target: IMAGE_NAME:latest
    tag: "slim"
```
#### Github Actions Slim Workflow
You can integrate the Docker-Slim Github Action in your workflow by inserting the Action after a [Docker Build/Push Github Action](https://github.com/docker/build-push-action), before [Docker Login Github Action](https://github.com/docker/login-action) and docker tag/push commands, a customized example workflow is highlighted below. Note that the environment variable tag--{{github.run_number}} in the workflow represents a unique incremental number allocated by Github Actions each time your workflow runs.
```
# Build the Docker image first
- uses: docker/build-push-action@v4
  with:
    push: false
    tags: IMAGE_NAME:{{github.run_number}} 

# Slim the Image
- uses: kitabisa/docker-slim-action@v1
  env:
    DSLIM_HTTP_PROBE: false
  with:
    target: IMAGE_NAME:{{github.run_number}}
    tag: "slim-{{github.run_number}}"

# Docker Hub Login
  uses: docker/login-action@v2
  with:
    username: ${{ secrets.DOCKERHUB_USERNAME }}
    password: ${{ secrets.DOCKERHUB_TOKEN }}

# Push to the registry
- run: | 
   docker tag IMAGE_NAME:slim-{{github.run_number}} ${{ secrets.DOCKERHUB_USERNAME }}/IMAGE_NAME:slim-{{github.run_number}}
   docker push ${{ secrets.DOCKERHUB_USERNAME }}/IMAGE_NAME:slim-{{github.run_number}}
```
The workflow above indicates four steps:
- A [Docker Build/Push Github Action](https://github.com/docker/build-push-action) for building a docker image with the image name/tag--IMAGE_NAME:{{github.run_number}}, you should give replace IMAGE_NAME with your desired image name. Note that this Action must have a false option to push the built image--given that you need the image slimmed/minified before pushing it to a container registry. 
- A Docker-Slim Github Action which minifies the target image--IMAGE_NAME:{{github.run_number}}, this Action has the "slim-{{github.run_number}}" tag and adds this tag to the slimmed/minified docker image such that the image name/tag becomes IMAGE_NAME:slim-{{github.run_number}}.
- A Docker Login Github Action which logs into your DockerHub container regristry account, you should store your DockerHub username and personal access token as secrets in the github repository meant for the workflow. Suppose your container registry is not DockerHub, you can check the [Docker Login Github Action documentation](https://github.com/docker/login-action) for the use case of logging into your desired container registry. 
- A docker tag command for naming/tagging the slimmed image with your DockerHub account remote repository name which could be the same name(IMAGE_NAME) as the slimmed image; A docker push command to push the slimmed image to your Dockerhub account remote repository.


## DOCKER CONNECT OPTIONS

If you don't specify any Docker connect options the Slim app expects to find the Docker Unix socket (`/var/run/docker.sock`) or the following environment variables: `DOCKER_HOST`, `DOCKER_TLS_VERIFY` (optional), `DOCKER_CERT_PATH` (required if `DOCKER_TLS_VERIFY` is set to `"1"`). Note that the `DOCKER_HOST` environment variable can be used to point to a Unix socket address (in case the default Unix socket isn't there). This is useful when you use Docker Desktop and you haven't configured Docker Desktop to create the default Unix socket.

If the Docker environment variables are configured to use TLS and to verify the Docker cert (default behavior), but you want to disable the TLS verification you can override the TLS verification behavior by setting the `--tls-verify` to false:

`slim --tls-verify=false build my/sample-node-app-multi`

You can override all Docker connection options using these flags: `--host`, `--tls`, `--tls-verify`, `--tls-cert-path`. These flags correspond to the standard Docker options (and the environment variables). Note that you can also use the `--host` flag (similar to `DOCKER_HOST`) to point to a Unix socket (e.g., `--host=unix:///var/run/docker.sock`).

If you want to use TLS with verification:

`slim --host=tcp://192.168.99.100:2376 --tls-cert-path=/Users/youruser/.docker/machine/machines/default --tls=true --tls-verify=true build my/sample-node-app-multi`

If you want to use TLS without verification:

`slim --host=tcp://192.168.99.100:2376 --tls-cert-path=/Users/youruser/.docker/machine/machines/default --tls=true --tls-verify=false build my/sample-node-app-multi`

If the Docker environment variables are not set and if you don't specify any Docker connect options Slim will try to use the default unix socket.

### DOCKER DESKTOP

You may not have the default Unix socket (`/var/run/docker.sock`) configured if you use Docker Desktop. By default, Docker Desktop uses `~/.docker/run/docker.sock` as the Unix socket.

You can either use `--host` or `DOCKER_HOST` to point to the Docker Desktop's Unix socket or you can configure Docker Desktop to create the default/traditional Unix socket (creating the `/var/run/docker.sock` symlink manually is an option too).

To configure Docker Desktop to create the default Unix socket open its UI and go to `Settings -> Advanced` where you need to check the `Enable default Docker socket (Requires password)` option.

### COLIMA

Similar to with Docker Desktop, but the socked will need to be configured to use `unix://${HOME}/.colima/<PROFILE>/docker.sock`.

## HTTP PROBE COMMANDS

If the HTTP probe is enabled (note: it is enabled by default) it will default to running `GET /` with HTTP and then HTTPS on every exposed port. You can add additional commands using the `--http-probe-cmd` and `--http-probe-cmd-file` options.

If you want to disable HTTP probing set the `--http-probe` flag to false (e.g., `--http-probe=false`). You can also use the `--http-probe-off` flag to do the same (simply use the flag without any parameters).

The `--http-probe-cmd` option is good when you want to specify a small number of simple commands where you select some or all of these HTTP command options: crawling (defaults to false), protocol, method (defaults to GET), resource (path and query string).

If you only want to use custom HTTP probe command and you don't want the default `GET /` command added to the command list you explicitly provided you'll need to set `--http-probe` to false when you specify your custom HTTP probe command. Note that this inconsistency will be addressed in the future releases to make it less confusing.

Possible field combinations:
* `/path` - runs `GET /path`
* `crawl:/path` - runs `GET /path` and then crawls the pages referenced by the target page
* `post:/path` - runs `POST /path`
* `crawl:get:/path` - runs `GET /path` and then crawls the pages referenced by the target page
* `https:get:/path` runs `GET /path` only on https
* `crawl:http:get:/path` - runs `GET /path` and then crawls the pages referenced by the target page

Here are a couple of examples:

Adds two extra probe commands: `GET /api/info` and `POST /submit` (tries http first, then tries https):
`slim build --show-clogs --http-probe-cmd /api/info --http-probe-cmd POST:/submit my/sample-node-app-multi`

Adds one extra probe command: `POST /submit` (using only http):
`slim build --show-clogs --http-probe-cmd http:POST:/submit my/sample-node-app-multi`

The `--http-probe-cmd-file` option is good when you have a lot of commands and/or you want to select additional HTTP command options.

Available HTTP command options:
* `method` - HTTP method to use
* `resource` - target resource URL
* `port` - port number
* `protocol` - `http`, `https`, `http2`, `http2c` (cleartext version of http2), `ws`, `wss` (secure websocket)
* `headers` - array of strings with column delimited key/value pairs (e.g., "Content-Type: application/json")
* `body` - request body as a string
* `body_file` - request body loaded from the provided file
* `username` - username to use for basic auth
* `password` - password to use for basic auth
* `crawl` - boolean to indicate if you want to crawl the target (to visit all referenced resources)

Here's a probe command file example:

`slim build --show-clogs --http-probe-cmd-file probeCmds.json my/sample-node-app-multi`

Commands in `probeCmds.json`:

```
{
  "commands":
  [
   {
     "resource": "/api/info"
   },
   {
     "method": "POST",
     "resource": "/submit"
   },
   {
     "procotol": "http",
     "resource": "/api/call?arg=one"
   },
   {
     "protocol": "http",
     "method": "POST",
     "resource": "/submit2",
     "body": "key=value"
   },
   {
     "protocol": "http",
     "method": "POST",
     "resource": "/submit3",
     "body_file": "mydata.json",
     "headers": ["Content-Type: application/json"]
   }
  ]
}
```

The HTTP probe command file path can be a relative path (relative to the current working directory) or it can be an absolute path.

For each HTTP probe call Slim will print the call status. Example: `info=http.probe.call status=200 method=GET target=http://127.0.0.1:32899/ attempt=1 error=none`.

You can execute your own external HTTP requests using the `target.port.list` field in the container info message Slim prints when it starts its test container: `slim[build]: info=container name=<your_container_name> id=<your_container_id> target.port.list=[<comma_separated_list_of_port_numbers_to_use>] target.port.info=[<comma_separated_list_of_port_mapping_records>]`. Example: `slim[build]: info=container name=slimk_42861_20190203084955 id=aa44c43bcf4dd0dae78e2a8b3ac011e7beb6f098a65b09c8bce4a91dc2ff8427 target.port.list=[32899] target.port.info=[9000/tcp => 0.0.0.0:32899]`. With this information you can run `curl` or other HTTP request generating tools: `curl http://localhost:32899`.

The current version also includes an experimental `crawling` capability. To enable it for the default HTTP probe use the `--http-probe-crawl` flag. You can also enable it for the HTTP probe commands in your command file using the `crawl` boolean field.

When `crawling` is enabled the HTTP probe will act like a web crawler following the links it finds in the target endpoint.

Probing based on the Swagger/OpenAPI spec is another experimental capability. This feature introduces two new flags:
* `http-probe-apispec` - value: `<path_to_fetch_spec>:<api_endpoint_prefix>`
* `http-probe-apispec-file` - value: `<local_file_path_to_spec>`

You can use the `--http-probe-exec` and `--http-probe-exec-file` options to run the user provided commands when the http probes are executed. This example shows how you can run `curl` against the temporary container created by Slim when the http probes are executed.

`slim build --http-probe-exec 'curl http://localhost:YOUR_CONTAINER_PORT_NUM/some/path' --publish-port YOUR_CONTAINER_PORT_NUM your-container-image-name`


## DEBUGGING MINIFIED CONTAINERS

### Debugging Using the `debug` Command

The current version of the `debug` command is pretty basic and it lacks a number of useful capabilities. It will help you debug containers running in Docker or Kubernetes (use the `--runtime` flag and set it to `k8s` if you need to debug a container in Kubernetes). 

By default the `debug` command will provide you with an interactive terminal when it attaches the debugger side-car image to the debugged target container. Future versions will allow you to have different interaction modes with the target.

#### The Debug Images

You can use any container image as a debug image, but there's a list of pre-selected debug images you can choose.

You can list all pre-selected debug images with the `--list-debug-images` and if you are using the interactive prompt mode there'll be an auto-complete dropdown menu for the `--debug-image` flag.

Here's the current list of debug images:

* `cgr.dev/chainguard/slim-toolkit-debug:latest` - a general purpose SlimToolkit debug image created by Chainguard
* `cgr.dev/chainguard/wolfi-base:latest` - a basic lightweight Wolfi image
* `busybox:latest` - a lightweight image with common unix utilities
* `nicolaka/netshoot` - a network trouble-shooting swiss-army container
* `lightruncom/koolkits:node` - a debug image for Node.js applications
* `lightruncom/koolkits:python` - a debug image for Python applications
* `lightruncom/koolkits:golang` - a debug image for Go applications
* `lightruncom/koolkits:jvm` - a debug image for Java applications
* `digitalocean/doks-debug:latest` - a kubernetes troubleshooting debug image
* `public.ecr.aws/zinclabs/debug-ubuntu-base:latest` - an image with common debugging utilities 

#### Steps to Debug Your Container (Kubernetes Runtime)

1. Make sure the target environment you want to debug is up (the example k8s manifest creates a pod with the minimal nginx image from Chainguard and it has no shell):
```bash

>> kubectl apply -f examples/k8s_nginx_cgr/manifest.yaml

```
2. Run the debug command:

```bash

>> slim debug --runtime=k8s --pod=example-pod example-container

```
or
```bash

>> slim debug --runtime=k8s --pod=example-pod --target=example-container

```

Now you should have an interactive shell into the debug container started by `slim` and you can type your regular shell commands.

By default the `debug` command will connect the interactive terminal to the debugged container and it will run a shell as if it's running in the target container environment, so you will see the file system of the target container as if you are directly connected (you won't have to go through the `proc` file system). You can change this behavior by using the `--run-as-target-shell` (which is true by default). For example, this call will connect you to the debug container in a more traditional way: `slim debug --runtime=k8s --run-as-target-shell=false example-container`

Also note that if you use the interactive `prompt` mode (when you run `slim` with no command line parameters) you will get auto-complete behavior for a number of flags: `--target`, `--namespace`, `--pod`, `--session`.

Each time you try to debug an image `slim` will have a session that represents it. You'll be able to reconnect to the existing active debug sessions and you'll be able to get logs from all available sessions.

#### Steps to Debug Your Container (Docker Runtime) 

1. Start the target container you want to debug:
```bash

>> docker run -it --rm -p 80:80 --name mycontainer nginx

```
2. Run the debug command:

```bash

>> slim debug mycontainer

```
or
```bash

>> slim debug --target=mycontainer

```

Now you should have an interactive shell into the debug container started by `slim` and you can type your regular shell commands.

By default the `debug` command will connect the interactive terminal to the debugged container and it will run a shell as if it's running in the target container environment, so you will see the file system of the target container as if you are directly connected (you won't have to go through the `proc` file system). You can change this behavior by using the `--run-as-target-shell` (which is true by default). For example, this call will connect you to the debug container in a more traditional way: `slim debug --run-as-target-shell=false mycontainer`

Also note that if you use the interactive `prompt` mode (when you run `slim` with no command line parameters) you will get auto-complete behavior for a number of flags: `--target`, `--session`.

Each time you try to debug an image `slim` will have a session that represents it. You'll be able to reconnect to the existing active debug sessions and you'll be able to get logs from all available sessions.

### Debugging the "Hard Way" (Docker Runtime)

You can create dedicated debugging side-car container images loaded with the tools you need for debugging target containers. This allows you to keep your production container images small. The debugging side-car containers attach to the running target containers.

Assuming you have a running container named `node_app_alpine` you can attach your debugging side-car with a command like this: `docker run --rm -it --pid=container:node_app_alpine --net=container:node_app_alpine --cap-add sys_admin alpine sh`. In this example, the debugging side-car is a regular alpine image. This is exactly what happens with the `node_alpine` app sample (located in the `node_alpine` directory of the `examples` repo) and the `run_debug_sidecar.command` helper script.

If you run the `ps` command in the side-car you'll see the application from the target container:

```
# ps
PID   USER     TIME   COMMAND
    1 root       0:00 node /opt/my/service/server.js
   13 root       0:00 sh
   38 root       0:00 ps
```

You can access the target container file system through `/proc/<TARGET_PID>/root`:

```
# ls -lh /proc/1/root/opt/my/service
total 8
drwxr-xr-x    3 root     root        4.0K Sep  2 15:51 node_modules
-rwxr-xr-x    1 root     root         415 Sep  8 00:52 server.js
```

Some of the useful debugging commands include `cat /proc/<TARGET_PID>/cmdline`, `ls -l /proc/<TARGET_PID>/cwd`, `cat /proc/1/environ`, `cat /proc/<TARGET_PID>/limits`, `cat /proc/<TARGET_PID>/status` and `ls -l /proc/<TARGET_PID>/fd`.


## MINIFYING COMMAND LINE TOOLS

Unless the default CMD instruction in your Dockerfile is sufficient you'll have to specify command line parameters when you execute the `build` command in Slim. This can be done with the `--cmd` option.

Other useful command line parameters:

- `--show-clogs` - use it if you want to see the output of your container.
- `--mount` - use it to mount a volume when Slim inspects your image.
- `--entrypoint` - use it if you want to override the ENTRYPOINT instruction when Slim inspects your image.

Note that the `--entrypoint` and `--cmd` options don't override the `ENTRYPOINT` and `CMD` instructions in the final minified image.

Here's a sample `build` command:

`slim build --show-clogs=true --cmd docker-compose.yml --mount $(pwd)/data/:/data/ dslim/container-transform`

It's used to minify the `container-transform` tool. You can get the minified image from [`Docker Hub`](https://hub.docker.com/r/dslim/container-transform.slim/).

## QUICK SECCOMP EXAMPLE

If you want to auto-generate a Seccomp profile AND minify your image use the `build` command. If you only want to auto-generate a Seccomp profile (along with other interesting image metadata) use the `profile` command.

Step one: run Slim

`slim build your-name/your-app`

Step two: use the generated Seccomp profile

`docker run --security-opt seccomp:<slim directory>/.images/<YOUR_APP_IMAGE_ID>/artifacts/your-name-your-app-seccomp.json <your other run params> your-name/your-app`

Feel free to copy the generated profile :-)

You can use the generated Seccomp profile with your original image or with the minified image.

## USING AUTO-GENERATED SECCOMP PROFILES

You can use the generated profile with your original image or with the minified image Slim created:

`docker run -it --rm --security-opt seccomp:path_to/my-sample-node-app-seccomp.json -p 8000:8000 my/sample-node-app.slim`

## ORIGINAL DEMO VIDEO

[![DockerSlim demo](http://img.youtube.com/vi/uKdHnfEbc-E/0.jpg)](https://www.youtube.com/watch?v=uKdHnfEbc-E)

[Demo video on YouTube](https://youtu.be/uKdHnfEbc-E)

## DEMO STEPS

The demo runs on Mac OS X, but you can build a linux version. Note that these steps are different from the steps in the demo video.

1. Get the Slim app binaries:

* [Mac](https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_mac.zip),
* [Mac M1](https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_mac_m1.zip), 
* [Linux](https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux.tar.gz), 
* [Linux ARM](https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux_arm.tar.gz),
* [Linux ARM64](https://github.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux_arm64.tar.gz) 

Unzip them and optionally add their directory to your `PATH` environment variable if you want to use the app from other locations.

The extracted directory contains two binaries (and now it also contains a symlink for the old name):

- `slim` <- the main Slim application binary
- `slim-sensor` <- the sensor application used to collect information from running containers
- `docker-slim` <- the symlink to `slim`, the new main app binary (useful if you are still using the old name in your scripts)

2. Clone the `examples` repo to use the sample apps (note: the examples have been moved to a separate repo). You can skip this step if you have your own app.

`git clone https://github.com/slimtoolkit/examples.git`

3. Create a Docker image for the sample node.js app in `examples/node_ubuntu`. You can skip this step if you have your own app.

`cd examples/node_ubuntu`

`docker build -t my/sample-node-app .`

4. Run the Slim app:

`./slim build my/sample-node-app` <- run it from the location where you extracted the Slim app binaries (or update your `PATH` env var to include the directory where the Slim app binaries are located)

Slim creates a special container based on the target image you provided. It also creates a resource directory where it stores the information it discovers about your image: `<slim directory>/.images/<TARGET_IMAGE_ID>`.

By default, the Slim app will run its http probe against the temporary container. If you are minifying a command line tool that doesn't expose any web service interface you'll need to explicitly disable http probing (by setting `--http-probe=false`).

5. Use curl (or other tools) to call the sample app (optional)

`curl http://<YOUR_DOCKER_HOST_IP>:<PORT>`

This is an optional step to make sure the target app container is doing something. Depending on the application it's an optional step. For some applications it's required if it loads new application resources dynamically based on the requests it's processing (e.g., Ruby or Python).

You'll see the mapped ports printed to the console when the Slim app starts the target container. You can also get the port number either from the `docker ps` or `docker port <CONTAINER_ID>` commands. The current version of DockerSlim doesn't allow you to map exposed network ports (it works like `docker run … -P`).

6. Press <enter> and wait until the Slim app says it's done

By default or when http probing is enabled explicitly the Slim app will continue its execution once the http probe is done running. If you explicitly picked a different `continue-after` option follow the expected steps. For example, for the `enter` `continue-after` option you must press the `enter` button on your keyboard.

If http probing is enabled (when `http-probe` is set) and if `continue-after` is set to `enter` and you press the `enter` key before the built-in HTTP probe is done the probe might produce an EOF error because the Slim app will shut down the target container before all probe commands are done executing. It's ok to ignore it unless you really need the probe to finish.

7. Once Slim is done check that the new minified image is there

`docker images`

You should see `my/sample-node-app.slim` in the list of images. Right now all generated images have `.slim` at the end of its name.

8. Use the minified image

`docker run -it --rm --name="slim_node_app" -p 8000:8000 my/sample-node-app.slim`

## FAQ

### Is it safe for production use?

Yes! Either way, you should test your Docker images.

### How can I contribute if I don't know Go?

You don't need to read the language spec and lots of books :-) Go through the [Tour of Go](https://tour.golang.org/welcome/1) and optionally read [50 Shades of Go](https://golang50shades.com/) and you'll be ready to contribute!

### What's the best application for Slim?

SlimRToolkit will work for any containerized application; however, Slim automates app interactions for applications with an HTTP API. You can use Slim even if your app doesn't have an HTTP API. You'll need to interact with your application manually to make sure Slim can observe your application behavior.

### Can I use Slim with dockerized command line tools?

Yes. The `--cmd`, `--entrypoint`, and `--mount` options will help you minify your image. The `container-transform` tool is a good example.

Notes:

You can explore the artifacts Slim generates when it's creating a slim image. You'll find those in `<slim directory>/.images/<TARGET_IMAGE_ID>/artifacts`. One of the artifacts is a "reverse engineered" Dockerfile for the original image. It'll be called `Dockerfile.reversed`.

If you don't want to create a minified image and only want to "reverse engineer" the Dockerfile you can use the `info` command.

### What if my Docker images uses the USER command?

The current version of Slim does include support for non-default users (take a look at the non-default user examples (including the ElasticSearch example located in the `3rdparty` directory) in the [`examples`](https://github.com/slimtoolkit/examples) repo. Please open tickets if something doesn't work for you.

Everything should work as-is, but for the special cases where the current behavior don't work as expected you can adjust what Slim does using various `build` command parameters: `--run-target-as-user`, `--keep-perms`, `--path-perms`, `--path-perms-file` (along with the `--include-*` parameters).

The `--run-target-as-user` parameter is enabled by default and it controls if the application in the temporary container is started using the identity from the USER instruction in the container's Dockerfile.

The `--keep-perms` parameter is also enabled by default. It tells Slim to retain the permissions and the ownership information for the files and directories copied to the optimized container image.

The `--path-perms` and `--path-perms-file` parameters are similar to the `--include-path` and `--include-path-file` parameters. They are used to overwrite the permission and the user/group information for the target files and directories. Note that the target files/directories are expected to be in the optimized container image. If you don't know if the target files/directories will be in the optimized container you'll need to use one of the `--include-*` parameters (e.g., `--include-path-file`) to explicitly require those artifacts to be included. You can specify the permissions and the ownership information in the `--include-*` parameters too (so you don't need to have the `--path-*` parameters just to set the permissions).

The `--path-*` and `--include-*` params use the same format to communicate the permission/owernship info: `TARGET_PATH_OR_NAME:PERMS_IN_OCTAL_FORMAT#USER_ID#GROUP_ID`.

You don't have to specify the user and group IDs if you don't want to change them.

Here's an example using these parameters to minify the standard `nginx` image adding extra artifacts and changing their permissions: `slim build --include-path='/opt:770#104#107' --include-path='/bin/uname:710' --path-perms='/tmp:700' nginx`.

This is what you'll see in the optimized container image:

```
drwx------  0 0      0           0 Feb 28 22:15 tmp/
-rwx--x---  0 0      0       31240 Mar 14  2015 bin/uname
drwxrwx---  0 104    107         0 Feb 28 22:13 opt/
```

The `uname` binary isn't used by nginx, so the `--include-path` parameter is used to keep it in the optimized image changing its permissions to `710`.

The `/tmp` directory will be included in the optimized image on its own, so the `--path-perms` parameter is used to change its permissions to `700`.

When you set permissions/user/group on a directory the settings are only applied to that directory and not to the artifacts inside. The future versions will allow you to apply the same settings to everything inside the target directory too.

Also note that for now you have to use numeric user and group IDs. The future versions will allow you to use user and group names too.

### Nginx fails in my minified image

If you see `nginx: [emerg] mkdir() "/var/lib/nginx/body" failed` it means your nginx setup uses a non-standard temporary directory. Nginx will fail if the base directory for its temporary folders doesn't exist (they won't create the missing intermediate directories). Normally it's `/var/lib/nginx`, but if you have a custom config that points to something else you'll need to add an `--include-path` flag as an extra flag when you run the Slim app.

### Slim fails with a 'no permission to read from' error

This problem shouldn't happen anymore because the exported artifacts are saved in a tar file and the master app doesn't need to access the files directly anymore.

If you run older versions of Slim you can get around this problem by running Slim from a root shell. That way it will have access to all exported files.

Slim copies the relevant image artifacts trying to preserve their permissions. If the permissions are too restrictive the master app might not have sufficient privilege to access these files when it's building the new minified image.

## BUILD PROCESS

#### Build Options

Pick one of the build options that works best for you.

##### Containerized

Run `make build_in_docker` on linux or `make build_m1_in_docker` on Macs (or `./scripts/docker-builder.run.sh` or click on `./scripts/mac/docker-builder.run.command` on Macs) from the project directory (builds Slim in a Docker container; great if you don't want to install Go on your local machine and if you already have Docker).

##### Native

Run `make build` on linux or `make build_m1` on Macs (or `./scripts/src.build.sh` or click on `./scripts/mac/src.build.command` on Macs) to build Slim natively (requires Go installed locally).

Note:

Try using the latest version of Go building the Slim app. The current version of Go used to build the Slim app is 1.21.

##### Gitpod

If you have a web browser, you can get a fully pre-configured development environment in one click:

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/slimtoolkit/slim)


##### Additional Tools

- `license-bill-of-materials` - Optional tool to track dependencies and their licenses.
- `golint` - Optional tool for code analysis. See `https://github.com/golang/lint` for more details.

You can install these tools using the `tools.get.sh` shell script in the `scripts` directory.

Notes:

- Make sure you have `golint` if you intend to run the `src.inspect.sh` or `mac.src.inspect.command` scripts.

## CONTRIBUTING

If the project sounds interesting or if you found a bug see [`CONTRIBUTING.md`](CONTRIBUTING.md) and submit a PR or open an issue! Non-code contributions including docs are highly appreciated! Open an issue even if you have a question or something is not clear.

### CORE CONCEPTS

1. Inspect container metadata (static analysis)
2. Inspect container data (static analysis)
3. Inspect running application (dynamic analysis)
4. Build an application artifact graph
5. Use the collected application data to build small images
6. Use the collected application data to auto-generate various security framework configurations.

### DYNAMIC ANALYSIS OPTIONS

1. Instrument the container image (and replace the entrypoint/cmd) to collect application activity data
2. Use kernel-level tools that provide visibility into running containers (without instrumenting the containers)
3. Disable relevant namespaces in the target container to gain container visibility (can be done with runC)

### SECURITY

The goal is to auto-generate Seccomp, AppArmor, (and potentially SELinux) profiles based on the collected information.

- AppArmor profiles
- Seccomp profiles

### CHALLENGES

Some of the advanced analysis options require a number of Linux kernel features that are not always included. The kernel you get with Docker Machine / Boot2docker is a great example of that.

## ORIGINS

DockerSlim was a `Docker Global Hack Day` \#`dockerhackday` project. It barely worked at the time, but it did get a win in Seattle and it took the second place in the `Plumbing` category overall :-)

![DHD3](assets/images/dhd/docker_global_hackday3_red.png)

Since then it's been improved and it works pretty well for its core use cases. It can be better though. That's why the project needs your help! You don't need to know much about the container internals, container runtimes and you don't need to know anything about Go. You can contribute in many different ways. For example, use Slim on your images and open Github issues documenting your experience even if it worked just fine :-)

## LICENSE

Apache License v2, see [LICENSE](https://github.com/slimtoolkit/slim/blob/master/LICENSE) for details.

## CODE OF CONDUCT

The project follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md).

---

**We are a [Cloud Native Computing Foundation](https://cncf.io/) sandbox project.**

<img src="assets/images/cncf/cncf.svg" width=300 />

---

[![Go Report Card](https://goreportcard.com/badge/github.com/slimtoolkit/slim)](https://goreportcard.com/report/github.com/slimtoolkit/slim)



================================================
FILE: ROADMAP.md
================================================
# High Level Project Roadmap

This is a high level roadmap that identies the current areas of focus. Note that it's not a detailed list of every possible enhancement.

* Community
  * Collaborate with other CNCF projects to achieve mutually benefitial outcomes
  * Talks, outreach, community training
  * Engage with the community to increase project contributions

* Documentation
  * Improve system design documentations to make it easier for new contributors to contribute to the project
  * User docs (v1)

* Non-docker runtime support
  * Direct ContainerD support
  * Finch integration
  * Podman support
  * Kubernetes support vNext

* Container debugging
  * Ephemeral container based debugging for Kubernetes

* Build/Optimize engine
  * Error and logging enhancements to improve debuggability
  * Improved build flag documentation with examples
  * Improved CI/build tool integration documentation (including Github Actions)

* Integrations
  * Consign integrations for `xray` (reporting) and `build` (signing)

* Plugins
  * Plugin subsystem design
  * Sample plugins
  * Container image build plugin for BuildKit

* System sensor
  * System sensor subsystem design
  * External sensor integrations for Tetragon, Falco and Tracee as plugins

* Installers for all major platforms/package managers and publishing the packages to the official package manager distribution repos
  * Homebrew (official tap), Mac Ports
  * Apt
  * Yum/Dnf/Rpm
  * Apk
  * Aur
  * Nix

* Example
  * More build/optimize/minify examples
  * Documenting examples including the configs used to produce the minified images



================================================
FILE: SECURITY.md
================================================
# All Things Security

## Reporting Security Issues

To report a security issue in the project itself, please use the GitHub Security Advisory ["Report a Vulnerability"](https://github.com/slimtoolkit/slim/security/advisories/new) tab.

The project members will send a response indicating the next steps in handling your report. After the initial reply to your report, the project members will keep you informed of the progress towards a fix and full announcement, and may ask for additional information or guidance.

To report a known security issue in one of the project dependencies, please open a regular project issue and/or submit a PR with the updated version of the impacted dependency.






================================================
FILE: WISHLIST.md
================================================
# Enhancements Wishlist

If you want to help feel free to submit a PR! You can also open an issue to track the work and to have a place to talk about it.

## AppArmor profile improvements

## Better support for command line applications (e.g., ability to specify multiple executions)

## Discover HTTP endpoints to make the HTTP probe more intelligent.

## Scripting language dependency discovery in the "scanner" app.

## Explore additional dependency discovery methods.

## "Live" image create mode - to create new images from containers where users install their applications interactively.

## Classic container image optimizations (aka ability to disable minification based on dynamic/static analysis)

- Docker image flattening
- OS specific cleanup commands (optional)

## Native Windows Support

Original issue:

- <https://github.com/docker-slim/docker-slim/issues/57>

## Provide an Audit Log for the Removed Files

Original issue:

- <https://github.com/docker-slim/docker-slim/issues/67>

## Dockerizing Local Applications (Linux Only)

Dockerizing local applications and creating minified images for them.

## Minifying Local Applications and Saving to Directory (Linux Only)

Original issue:

- <https://github.com/docker-slim/docker-slim/issues/60>

## Podman Support

Original issues:

- <https://github.com/docker-slim/docker-slim/issues/91>
- <https://github.com/docker-slim/docker-slim/issues/99>

## Windows Container Support

Original issues:

- <https://github.com/docker-slim/docker-slim/issues/77>


================================================
FILE: assets/images/docs/SlimHow.excalidraw
================================================
{
  "type": "excalidraw",
  "version": 2,
  "source": "https://excalidraw.com",
  "elements": [
    {
      "type": "rectangle",
      "version": 315,
      "versionNonce": 1437085463,
      "isDeleted": false,
      "id": "z5FJM2AF322l6jPcAbRUT",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 60,
      "angle": 0,
      "x": 433.236328125,
      "y": 462.1044921875,
      "strokeColor": "#000000",
      "backgroundColor": "#ced4da",
      "width": 119.07421875,
      "height": 60.2578125,
      "seed": 2130074937,
      "groupIds": [],
      "roundness": null,
      "boundElements": [
        {
          "id": "t5q3DU5ObK_JRfQ6w1xnQ",
          "type": "arrow"
        },
        {
          "id": "V5vFMqArwYWyLiCq52rz3",
          "type": "arrow"
        }
      ],
      "updated": 1652277748492,
      "link": null,
      "locked": false
    },
    {
      "type": "rectangle",
      "version": 231,
      "versionNonce": 1785310969,
      "isDeleted": false,
      "id": "CPRJJsoQCL9gIWgMlqRSW",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 70,
      "angle": 0,
      "x": 610.5283203125,
      "y": 575.9296875,
      "strokeColor": "#343a40",
      "backgroundColor": "#ced4da",
      "width": 257,
      "height": 85,
      "seed": 1618919993,
      "groupIds": [],
      "roundness": {
        "type": 1
      },
      "boundElements": [
        {
          "id": "t5q3DU5ObK_JRfQ6w1xnQ",
          "type": "arrow"
        },
        {
          "id": "RVgkHQgXZXIxCj76R427q",
          "type": "arrow"
        },
        {
          "id": "BfrdlP1Cm8qndUsOb9Uyr",
          "type": "arrow"
        },
        {
          "id": "sM8K4HhcbMtur8rrMNU7R",
          "type": "arrow"
        },
        {
          "id": "uFyv2pSPIcyBia8PNAfgX",
          "type": "arrow"
        }
      ],
      "updated": 1652277590802,
      "link": null,
      "locked": false
    },
    {
      "type": "rectangle",
      "version": 448,
      "versionNonce": 1587188953,
      "isDeleted": false,
      "id": "FYTFj4-mnR4zFfjpeWS5f",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 40,
      "angle": 0,
      "x": 121.69189453125,
      "y": 821.80224609375,
      "strokeColor": "#495057",
      "backgroundColor": "#15aabf",
      "width": 267.2802734375,
      "height": 105.56640624999999,
      "seed": 521273,
      "groupIds": [],
      "roundness": {
        "type": 1
      },
      "boundElements": [
        {
          "id": "uFyv2pSPIcyBia8PNAfgX",
          "type": "arrow"
        },
        {
          "id": "_rYpNumYsf_s6iMScQHjX",
          "type": "arrow"
        },
        {
          "id": "sM8K4HhcbMtur8rrMNU7R",
          "type": "arrow"
        }
      ],
      "updated": 1652277053785,
      "link": null,
      "locked": false
    },
    {
      "type": "rectangle",
      "version": 136,
      "versionNonce": 1620316665,
      "isDeleted": false,
      "id": "QOHGSkDnHQWYI-H2QmJiR",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 70,
      "angle": 0,
      "x": 614.451171875,
      "y": 399.01953125,
      "strokeColor": "#000000",
      "backgroundColor": "#15aabf",
      "width": 252.7470703125,
      "height": 84.02734375,
      "seed": 1780101943,
      "groupIds": [],
      "roundness": null,
      "boundElements": [
        {
          "id": "RVgkHQgXZXIxCj76R427q",
          "type": "arrow"
        }
      ],
      "updated": 1652277165337,
      "link": null,
      "locked": false
    },
    {
      "type": "text",
      "version": 171,
      "versionNonce": 1703457160,
      "isDeleted": false,
      "id": "DG1lDpjssUskLgYXdBntC",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 640.5009765625,
      "y": 425.1005859375,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 205,
      "height": 30,
      "seed": 491250873,
      "groupIds": [],
      "roundness": null,
      "boundElements": [],
      "updated": 1673285239485,
      "link": null,
      "locked": false,
      "fontSize": 24.855468749999993,
      "fontFamily": 3,
      "text": "original image",
      "baseline": 24,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "original image"
    },
    {
      "type": "text",
      "version": 1333,
      "versionNonce": 1149242248,
      "isDeleted": false,
      "id": "dM4b1D2w11licRcaXwKCI",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 406.2029128389365,
      "y": 241.02862936877142,
      "strokeColor": "#364fc7",
      "backgroundColor": "transparent",
      "width": 806,
      "height": 106,
      "seed": 1982017081,
      "groupIds": [],
      "roundness": null,
      "boundElements": [],
      "updated": 1673285172173,
      "link": null,
      "locked": false,
      "fontSize": 46.19083069132936,
      "fontFamily": 2,
      "text": "How Slim makes images smaller, faster\n...and more secure",
      "baseline": 96,
      "textAlign": "right",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "How Slim makes images smaller, faster\n...and more secure"
    },
    {
      "type": "rectangle",
      "version": 301,
      "versionNonce": 2047994489,
      "isDeleted": false,
      "id": "PqX1zxQsw9VE86_SzdHQt",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 20,
      "angle": 0,
      "x": 611.859375,
      "y": 752.9091796875,
      "strokeColor": "#000000",
      "backgroundColor": "#ced4da",
      "width": 253.396484375,
      "height": 117.71484374999994,
      "seed": 293155001,
      "groupIds": [],
      "roundness": null,
      "boundElements": [],
      "updated": 1652277601970,
      "link": null,
      "locked": false
    },
    {
      "type": "rectangle",
      "version": 396,
      "versionNonce": 401807193,
      "isDeleted": false,
      "id": "crQQzA8TS6rb5RWykT26t",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 70,
      "angle": 0,
      "x": 610.505859375,
      "y": 962.2109375,
      "strokeColor": "#000000",
      "backgroundColor": "#15aabf",
      "width": 254,
      "height": 48,
      "seed": 1079428281,
      "groupIds": [],
      "roundness": null,
      "boundElements": [
        {
          "id": "wz_CJ_GfqheVtN5tUFmax",
          "type": "arrow"
        },
        {
          "id": "_rYpNumYsf_s6iMScQHjX",
          "type": "arrow"
        }
      ],
      "updated": 1652277239768,
      "link": null,
      "locked": false
    },
    {
      "type": "text",
      "version": 736,
      "versionNonce": 1589654117,
      "isDeleted": false,
      "id": "GbjLgg--QdFAwXGlfgW_T",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 85.2552083333334,
      "y": 333.7072405133929,
      "strokeColor": "#343a40",
      "backgroundColor": "transparent",
      "width": 568,
      "height": 34,
      "seed": 538091993,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1673284487993,
      "link": null,
      "locked": false,
      "fontSize": 28.461916095800987,
      "fontFamily": 3,
      "text": "$ slim build --target nginx:latest",
      "baseline": 28,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "$ slim build --target nginx:latest"
    },
    {
      "type": "rectangle",
      "version": 855,
      "versionNonce": 2079903609,
      "isDeleted": false,
      "id": "vBMcaaFI9kuqkow1X67Yi",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 80,
      "angle": 0,
      "x": 611.2001953125,
      "y": 1020.8388671875,
      "strokeColor": "#000000",
      "backgroundColor": "#fab005",
      "width": 251,
      "height": 41,
      "seed": 787876665,
      "groupIds": [],
      "roundness": null,
      "boundElements": [
        {
          "id": "QeTboF3pareoNleVc6BRi",
          "type": "arrow"
        }
      ],
      "updated": 1652277256179,
      "link": null,
      "locked": false
    },
    {
      "type": "arrow",
      "version": 2170,
      "versionNonce": 896420249,
      "isDeleted": false,
      "id": "sM8K4HhcbMtur8rrMNU7R",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "dashed",
      "roughness": 1,
      "opacity": 50,
      "angle": 0,
      "x": 385.2291230938969,
      "y": 602.1984828376064,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 221.72107221860313,
      "height": 19.770614981174276,
      "seed": 1331821687,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652277951776,
      "link": null,
      "locked": false,
      "startBinding": {
        "elementId": "zasfCRJFIwlKmgpkmVLKv",
        "focus": -0.4186831681048361,
        "gap": 14.42712114077176
      },
      "endBinding": {
        "elementId": "CPRJJsoQCL9gIWgMlqRSW",
        "focus": -0.283861701539277,
        "gap": 3.578125
      },
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": null,
      "points": [
        [
          0,
          0
        ],
        [
          221.72107221860313,
          19.770614981174276
        ]
      ]
    },
    {
      "type": "arrow",
      "version": 714,
      "versionNonce": 391364375,
      "isDeleted": false,
      "id": "t5q3DU5ObK_JRfQ6w1xnQ",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "dashed",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 547.7092635363069,
      "y": 526.7060994337498,
      "strokeColor": "#343a40",
      "backgroundColor": "transparent",
      "width": 61.5425314704446,
      "height": 49.59285764199774,
      "seed": 515474615,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652277889185,
      "link": null,
      "locked": false,
      "startBinding": {
        "elementId": "z5FJM2AF322l6jPcAbRUT",
        "focus": -0.12542319940551994,
        "gap": 4.343794746249841
      },
      "endBinding": {
        "elementId": "CPRJJsoQCL9gIWgMlqRSW",
        "focus": -0.4275761472351255,
        "gap": 1.2765253057484642
      },
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": "arrow",
      "points": [
        [
          0,
          0
        ],
        [
          61.5425314704446,
          49.59285764199774
        ]
      ]
    },
    {
      "type": "text",
      "version": 463,
      "versionNonce": 1622338649,
      "isDeleted": false,
      "id": "bqnQdIHAkULBIug1XcmPG",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 441.8232421875,
      "y": 420.7783203125,
      "strokeColor": "#d9480f",
      "backgroundColor": "transparent",
      "width": 110,
      "height": 30,
      "seed": 1243474103,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [
        {
          "id": "V5vFMqArwYWyLiCq52rz3",
          "type": "arrow"
        }
      ],
      "updated": 1652278037947,
      "link": null,
      "locked": false,
      "fontSize": 23.804687500000046,
      "fontFamily": 1,
      "text": "...injected",
      "baseline": 21,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "...injected"
    },
    {
      "type": "arrow",
      "version": 462,
      "versionNonce": 443190231,
      "isDeleted": false,
      "id": "RVgkHQgXZXIxCj76R427q",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 743.4718635056754,
      "y": 488.46550802076536,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 0,
      "height": 80.0842839888669,
      "seed": 280942169,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652278050690,
      "link": null,
      "locked": false,
      "startBinding": {
        "elementId": "QOHGSkDnHQWYI-H2QmJiR",
        "focus": -0.020947079395637863,
        "gap": 5.4186330207653555
      },
      "endBinding": {
        "elementId": "CPRJJsoQCL9gIWgMlqRSW",
        "focus": 0.03458010267062569,
        "gap": 7.379895490367744
      },
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": "arrow",
      "points": [
        [
          0,
          0
        ],
        [
          0,
          80.0842839888669
        ]
      ]
    },
    {
      "type": "arrow",
      "version": 2012,
      "versionNonce": 81754937,
      "isDeleted": false,
      "id": "uFyv2pSPIcyBia8PNAfgX",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "dashed",
      "roughness": 1,
      "opacity": 50,
      "angle": 0,
      "x": 391.6142700172496,
      "y": 724.4170629482254,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 218.19024224766747,
      "height": 73.20081820558028,
      "seed": 1434877081,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652278291361,
      "link": null,
      "locked": false,
      "startBinding": {
        "elementId": "i_JDhedICwAdWdxkiudrF",
        "focus": 0.34566114961327016,
        "gap": 5.454602048499623
      },
      "endBinding": {
        "elementId": "CPRJJsoQCL9gIWgMlqRSW",
        "focus": 0.12342916764409954,
        "gap": 1
      },
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": null,
      "points": [
        [
          0,
          0
        ],
        [
          218.19024224766747,
          -73.20081820558028
        ]
      ]
    },
    {
      "type": "text",
      "version": 208,
      "versionNonce": 113407577,
      "isDeleted": false,
      "id": "JzjVz4GXgYEQjEGYJmImJ",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 622.744140625,
      "y": 762.8055462861181,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 203,
      "height": 98,
      "seed": 853002329,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [
        {
          "id": "BfrdlP1Cm8qndUsOb9Uyr",
          "type": "arrow"
        },
        {
          "id": "wz_CJ_GfqheVtN5tUFmax",
          "type": "arrow"
        }
      ],
      "updated": 1652277508373,
      "link": null,
      "locked": false,
      "fontSize": 20.395532349246235,
      "fontFamily": 3,
      "text": "   Usage report\n- files accessed\n- syscalls issued\n- certs detected",
      "baseline": 93,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "   Usage report\n- files accessed\n- syscalls issued\n- certs detected"
    },
    {
      "type": "text",
      "version": 1201,
      "versionNonce": 246888101,
      "isDeleted": false,
      "id": "WrWXFw3ZUzBc8EWTQaN9a",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 139.72831864567638,
      "y": 833.4317599335407,
      "strokeColor": "#343a40",
      "backgroundColor": "transparent",
      "width": 231,
      "height": 86,
      "seed": 622664953,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [
        {
          "id": "_rYpNumYsf_s6iMScQHjX",
          "type": "arrow"
        }
      ],
      "updated": 1673284433631,
      "link": null,
      "locked": false,
      "fontSize": 22.383996272638267,
      "fontFamily": 1,
      "text": "...contains only files\nthat have been used\nor allow-listed!",
      "baseline": 77,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "...contains only files\nthat have been used\nor allow-listed!"
    },
    {
      "type": "text",
      "version": 289,
      "versionNonce": 101505911,
      "isDeleted": false,
      "id": "_oadoJngWdG6I-ukx4lVQ",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1012.060546875,
      "y": 423.767578125,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 96,
      "height": 46,
      "seed": 401330327,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652277522957,
      "link": null,
      "locked": false,
      "fontSize": 36.01924189814814,
      "fontFamily": 1,
      "text": "Input",
      "baseline": 32,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Input"
    },
    {
      "type": "text",
      "version": 533,
      "versionNonce": 1599961145,
      "isDeleted": false,
      "id": "SrROoMHa6yZE1bPrQlyug",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1007.0869140625,
      "y": 993.3746925636574,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 127,
      "height": 46,
      "seed": 561191607,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652277086720,
      "link": null,
      "locked": false,
      "fontSize": 36.01924189814814,
      "fontFamily": 1,
      "text": "Output",
      "baseline": 32,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Output"
    },
    {
      "type": "text",
      "version": 419,
      "versionNonce": 110228951,
      "isDeleted": false,
      "id": "1Wyoi3jBu6hHSKrc54wuX",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1001.08984375,
      "y": 786.3388671875,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 168,
      "height": 46,
      "seed": 940889113,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652277089165,
      "link": null,
      "locked": false,
      "fontSize": 36.01924189814814,
      "fontFamily": 1,
      "text": "Artifacts",
      "baseline": 32,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Artifacts"
    },
    {
      "type": "text",
      "version": 437,
      "versionNonce": 692570841,
      "isDeleted": false,
      "id": "R9CCEm5odcJmVEN_Hv3WD",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1007.5380859375,
      "y": 595.416015625,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 172,
      "height": 46,
      "seed": 886007447,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652277848435,
      "link": null,
      "locked": false,
      "fontSize": 36.01924189814814,
      "fontFamily": 1,
      "text": "Monitoring",
      "baseline": 32,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Monitoring"
    },
    {
      "type": "arrow",
      "version": 407,
      "versionNonce": 217048889,
      "isDeleted": false,
      "id": "BfrdlP1Cm8qndUsOb9Uyr",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 744.9128571963805,
      "y": 669.0392584528588,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 0.8645066131217618,
      "height": 79.2116003332593,
      "seed": 492680345,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652278054270,
      "link": null,
      "locked": false,
      "startBinding": {
        "elementId": "CPRJJsoQCL9gIWgMlqRSW",
        "focus": -0.049912317353729085,
        "gap": 8.109570952858803
      },
      "endBinding": {
        "elementId": "JzjVz4GXgYEQjEGYJmImJ",
        "focus": 0.18729477388763419,
        "gap": 14.5546875
      },
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": "arrow",
      "points": [
        [
          0,
          0
        ],
        [
          -0.8645066131217618,
          79.2116003332593
        ]
      ]
    },
    {
      "type": "arrow",
      "version": 343,
      "versionNonce": 512939959,
      "isDeleted": false,
      "id": "wz_CJ_GfqheVtN5tUFmax",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 744.6362904671561,
      "y": 876.8055462861182,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 0.22841240668788032,
      "height": 77.80103853531045,
      "seed": 428109753,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652277881130,
      "link": null,
      "locked": false,
      "startBinding": {
        "elementId": "JzjVz4GXgYEQjEGYJmImJ",
        "focus": -0.19872764374547802,
        "gap": 16
      },
      "endBinding": {
        "elementId": "crQQzA8TS6rb5RWykT26t",
        "focus": 0.058641711083579316,
        "gap": 7.604352678571331
      },
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": "arrow",
      "points": [
        [
          0,
          0
        ],
        [
          0.22841240668788032,
          77.80103853531045
        ]
      ]
    },
    {
      "type": "text",
      "version": 486,
      "versionNonce": 1852162952,
      "isDeleted": false,
      "id": "V00LcEEQ_gK9fHP0y5o1T",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 818.8847656249998,
      "y": 514.744140625,
      "strokeColor": "#d9480f",
      "backgroundColor": "transparent",
      "width": 192,
      "height": 31,
      "seed": 309311449,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1673285330321,
      "link": null,
      "locked": false,
      "fontSize": 24.60546875000003,
      "fontFamily": 1,
      "text": "Start container",
      "baseline": 22,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Start container"
    },
    {
      "type": "text",
      "version": 431,
      "versionNonce": 342087928,
      "isDeleted": false,
      "id": "3l0CLOhz3zEXXW6HtE8ZQ",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 811.546875,
      "y": 694.6171875,
      "strokeColor": "#d9480f",
      "backgroundColor": "transparent",
      "width": 229,
      "height": 32,
      "seed": 945625687,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1673285206328,
      "link": null,
      "locked": false,
      "fontSize": 25.542968750000032,
      "fontFamily": 1,
      "text": "Collect intelligence",
      "baseline": 23,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Collect intelligence"
    },
    {
      "type": "text",
      "version": 885,
      "versionNonce": 311163640,
      "isDeleted": false,
      "id": "v3pcwqTE_okdLy0SnTK-u",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 811.8203125,
      "y": 887.5185856894842,
      "strokeColor": "#d9480f",
      "backgroundColor": "transparent",
      "width": 310,
      "height": 60,
      "seed": 376023255,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1673285210447,
      "link": null,
      "locked": false,
      "fontSize": 23.871651785714267,
      "fontFamily": 1,
      "text": "Build slim image &\nGenerate security profiles",
      "baseline": 51,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Build slim image &\nGenerate security profiles"
    },
    {
      "type": "arrow",
      "version": 1708,
      "versionNonce": 1315138071,
      "isDeleted": false,
      "id": "_rYpNumYsf_s6iMScQHjX",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "dashed",
      "roughness": 1,
      "opacity": 50,
      "angle": 0,
      "x": 389.8753776410778,
      "y": 910.4155513824027,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 216.6888320638979,
      "height": 57.55225935236285,
      "seed": 388971671,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652277933826,
      "link": null,
      "locked": false,
      "startBinding": {
        "elementId": "WrWXFw3ZUzBc8EWTQaN9a",
        "focus": -0.01603557213069114,
        "gap": 19.6931103884736
      },
      "endBinding": {
        "elementId": "crQQzA8TS6rb5RWykT26t",
        "focus": -0.2864109335297447,
        "gap": 3.941649670024276
      },
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": null,
      "points": [
        [
          0,
          0
        ],
        [
          216.6888320638979,
          57.55225935236285
        ]
      ]
    },
    {
      "type": "text",
      "version": 853,
      "versionNonce": 769412325,
      "isDeleted": false,
      "id": "rILfc2fIcaTQXZMawymNt",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 85.2490234375,
      "y": 260.3280741373698,
      "strokeColor": "#d9480f",
      "backgroundColor": "transparent",
      "width": 122,
      "height": 60,
      "seed": 2106685079,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1673284473184,
      "link": null,
      "locked": false,
      "fontSize": 23.489067485367045,
      "fontFamily": 1,
      "text": "Turn-key\nexperience!",
      "baseline": 51,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Turn-key\nexperience!"
    },
    {
      "type": "rectangle",
      "version": 502,
      "versionNonce": 1521493625,
      "isDeleted": false,
      "id": "gfNwGmVCEp-4jZWpPJdmi",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 40,
      "angle": 0,
      "x": 120.34521484375,
      "y": 958.528076171875,
      "strokeColor": "#495057",
      "backgroundColor": "#15aabf",
      "width": 267.2802734375,
      "height": 88.59375,
      "seed": 598563481,
      "groupIds": [],
      "roundness": {
        "type": 1
      },
      "boundElements": [
        {
          "id": "uFyv2pSPIcyBia8PNAfgX",
          "type": "arrow"
        },
        {
          "id": "_rYpNumYsf_s6iMScQHjX",
          "type": "arrow"
        },
        {
          "id": "QeTboF3pareoNleVc6BRi",
          "type": "arrow"
        }
      ],
      "updated": 1652277075868,
      "link": null,
      "locked": false
    },
    {
      "type": "text",
      "version": 1317,
      "versionNonce": 1429967205,
      "isDeleted": false,
      "id": "BIbK5nClxTKKeZyQVy-th",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 138.04616477272685,
      "y": 973.9619140625,
      "strokeColor": "#343a40",
      "backgroundColor": "transparent",
      "width": 236,
      "height": 56,
      "seed": 2000031479,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [
        {
          "id": "QeTboF3pareoNleVc6BRi",
          "type": "arrow"
        }
      ],
      "updated": 1673284433633,
      "link": null,
      "locked": false,
      "fontSize": 22.237859080018172,
      "fontFamily": 1,
      "text": "...can be used for\nfuture container runs",
      "baseline": 48,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "...can be used for\nfuture container runs"
    },
    {
      "type": "arrow",
      "version": 1798,
      "versionNonce": 690402521,
      "isDeleted": false,
      "id": "QeTboF3pareoNleVc6BRi",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "dashed",
      "roughness": 1,
      "opacity": 50,
      "angle": 0,
      "x": 389.64943041233084,
      "y": 1012.8135126541206,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 218.37225484115527,
      "height": 32.670948771896064,
      "seed": 1016723929,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652278282558,
      "link": null,
      "locked": false,
      "startBinding": {
        "elementId": "BIbK5nClxTKKeZyQVy-th",
        "focus": -0.19757405030399774,
        "gap": 15.562516349830872
      },
      "endBinding": {
        "elementId": "dTwf5rZDEkp-V27Ai9lU3",
        "focus": -0.7613862562065846,
        "gap": 14.963666309013888
      },
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": null,
      "points": [
        [
          0,
          0
        ],
        [
          218.37225484115527,
          32.670948771896064
        ]
      ]
    },
    {
      "type": "rectangle",
      "version": 456,
      "versionNonce": 1790881081,
      "isDeleted": false,
      "id": "KhmJMkd5HKY0qq1lceBTL",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 40,
      "angle": 0,
      "x": 118.63525390625,
      "y": 559.05322265625,
      "strokeColor": "#495057",
      "backgroundColor": "#15aabf",
      "width": 267.2802734375,
      "height": 99.20410156250006,
      "seed": 1801822617,
      "groupIds": [],
      "roundness": {
        "type": 1
      },
      "boundElements": [
        {
          "id": "sM8K4HhcbMtur8rrMNU7R",
          "type": "arrow"
        },
        {
          "id": "uFyv2pSPIcyBia8PNAfgX",
          "type": "arrow"
        }
      ],
      "updated": 1652277942774,
      "link": null,
      "locked": false
    },
    {
      "type": "text",
      "version": 782,
      "versionNonce": 97896633,
      "isDeleted": false,
      "id": "zasfCRJFIwlKmgpkmVLKv",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 129.8020019531251,
      "y": 571.1163736979165,
      "strokeColor": "#343a40",
      "backgroundColor": "transparent",
      "width": 241,
      "height": 81,
      "seed": 544317559,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [
        {
          "id": "sM8K4HhcbMtur8rrMNU7R",
          "type": "arrow"
        }
      ],
      "updated": 1652277951775,
      "link": null,
      "locked": false,
      "fontSize": 21.447541316350293,
      "fontFamily": 1,
      "text": "Probe running container\n- Send HTTP requests\n- Exec commands",
      "baseline": 73,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Probe running container\n- Send HTTP requests\n- Exec commands"
    },
    {
      "type": "rectangle",
      "version": 566,
      "versionNonce": 1169826359,
      "isDeleted": false,
      "id": "i_JDhedICwAdWdxkiudrF",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 40,
      "angle": 0,
      "x": 118.87939453125,
      "y": 689.099609375,
      "strokeColor": "#495057",
      "backgroundColor": "#15aabf",
      "width": 267.2802734375,
      "height": 98.8134765625,
      "seed": 655355703,
      "groupIds": [],
      "roundness": {
        "type": 1
      },
      "boundElements": [
        {
          "id": "uFyv2pSPIcyBia8PNAfgX",
          "type": "arrow"
        }
      ],
      "updated": 1652277965303,
      "link": null,
      "locked": false
    },
    {
      "type": "text",
      "version": 900,
      "versionNonce": 1527538539,
      "isDeleted": false,
      "id": "6-9VXYHfqETW1jPuxlEkR",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 136.07952277861432,
      "y": 697.47119140625,
      "strokeColor": "#343a40",
      "backgroundColor": "transparent",
      "width": 223,
      "height": 84,
      "seed": 93520825,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1673284433634,
      "link": null,
      "locked": false,
      "fontSize": 22.15852204288347,
      "fontFamily": 1,
      "text": "Apply heuristics\n- find SSL certs\n- detect shells, etc.",
      "baseline": 76,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Apply heuristics\n- find SSL certs\n- detect shells, etc."
    },
    {
      "type": "text",
      "version": 252,
      "versionNonce": 2057015800,
      "isDeleted": false,
      "id": "pEd0fds1ka7qENQ9DIWVu",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 661.8134765625,
      "y": 971.4794921875,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 147,
      "height": 30,
      "seed": 1189050327,
      "groupIds": [],
      "roundness": null,
      "boundElements": [],
      "updated": 1673285246587,
      "link": null,
      "locked": false,
      "fontSize": 24.855468749999993,
      "fontFamily": 3,
      "text": "slim image",
      "baseline": 24,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "slim image"
    },
    {
      "type": "text",
      "version": 87,
      "versionNonce": 1961761989,
      "isDeleted": false,
      "id": "dTwf5rZDEkp-V27Ai9lU3",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "dashed",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 623.0654296875005,
      "y": 1028.97265625,
      "strokeColor": "#000000",
      "backgroundColor": "#fab005",
      "width": 229,
      "height": 26,
      "seed": 1400126743,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [
        {
          "id": "QeTboF3pareoNleVc6BRi",
          "type": "arrow"
        }
      ],
      "updated": 1673284433634,
      "link": null,
      "locked": false,
      "fontSize": 21.611328125000043,
      "fontFamily": 3,
      "text": "AppArmor & seccomp",
      "baseline": 21,
      "textAlign": "right",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "AppArmor & seccomp"
    },
    {
      "type": "text",
      "version": 217,
      "versionNonce": 1876461561,
      "isDeleted": false,
      "id": "oRPMpJJXx9jtmBzX17fXM",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 679.515625,
      "y": 589.7587890625,
      "strokeColor": "#000000",
      "backgroundColor": "#ced4da",
      "width": 124,
      "height": 56,
      "seed": 321048313,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652277479950,
      "link": null,
      "locked": false,
      "fontSize": 23.352864583333275,
      "fontFamily": 3,
      "text": "tmp\ncontainer",
      "baseline": 51,
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "tmp\ncontainer"
    },
    {
      "type": "text",
      "version": 288,
      "versionNonce": 543842327,
      "isDeleted": false,
      "id": "cgn0SQz_n5ih5Kfi34k8T",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 450.4482421875,
      "y": 476.158203125,
      "strokeColor": "#000000",
      "backgroundColor": "#ced4da",
      "width": 83,
      "height": 28,
      "seed": 1989060951,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652277570463,
      "link": null,
      "locked": false,
      "fontSize": 23.352864583333275,
      "fontFamily": 3,
      "text": "sensor",
      "baseline": 23,
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "sensor"
    },
    {
      "type": "rectangle",
      "version": 553,
      "versionNonce": 449118233,
      "isDeleted": false,
      "id": "FBg8KHuxXgjqikZHW44mF",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 40,
      "angle": 0,
      "x": 117.75146484375,
      "y": 428.31591796875,
      "strokeColor": "#495057",
      "backgroundColor": "#15aabf",
      "width": 267.2802734375,
      "height": 96.1962890625,
      "seed": 825056697,
      "groupIds": [],
      "roundness": {
        "type": 1
      },
      "boundElements": [
        {
          "id": "sM8K4HhcbMtur8rrMNU7R",
          "type": "arrow"
        },
        {
          "id": "uFyv2pSPIcyBia8PNAfgX",
          "type": "arrow"
        },
        {
          "id": "V5vFMqArwYWyLiCq52rz3",
          "type": "arrow"
        }
      ],
      "updated": 1652277753742,
      "link": null,
      "locked": false
    },
    {
      "type": "text",
      "version": 973,
      "versionNonce": 774028811,
      "isDeleted": false,
      "id": "8hru3Ov7Y2SQk8-ogQPD1",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 147.1025390624999,
      "y": 436.326171875,
      "strokeColor": "#343a40",
      "backgroundColor": "transparent",
      "width": 198,
      "height": 83,
      "seed": 2001103255,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [
        {
          "id": "sM8K4HhcbMtur8rrMNU7R",
          "type": "arrow"
        }
      ],
      "updated": 1673284433634,
      "link": null,
      "locked": false,
      "fontSize": 21.80801497565377,
      "fontFamily": 1,
      "text": "...supports multiple\nmonitors: ptrace,\nfanotify, etc.",
      "baseline": 75,
      "textAlign": "left",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "...supports multiple\nmonitors: ptrace,\nfanotify, etc."
    },
    {
      "type": "arrow",
      "version": 2334,
      "versionNonce": 398947705,
      "isDeleted": false,
      "id": "V5vFMqArwYWyLiCq52rz3",
      "fillStyle": "hachure",
      "strokeWidth": 2,
      "strokeStyle": "dashed",
      "roughness": 1,
      "opacity": 50,
      "angle": 0,
      "x": 387.0132970958768,
      "y": 483.00853630125755,
      "strokeColor": "#495057",
      "backgroundColor": "transparent",
      "width": 40.42427847351763,
      "height": 5.393809927460552,
      "seed": 14150681,
      "groupIds": [],
      "roundness": {
        "type": 2
      },
      "boundElements": [],
      "updated": 1652277766342,
      "link": null,
      "locked": false,
      "startBinding": {
        "elementId": "FBg8KHuxXgjqikZHW44mF",
        "focus": -0.1744512163789095,
        "gap": 1.9815588146267942
      },
      "endBinding": {
        "elementId": "z5FJM2AF322l6jPcAbRUT",
        "focus": -0.12835124589854846,
        "gap": 5.798752555605574
      },
      "lastCommittedPoint": null,
      "startArrowhead": null,
      "endArrowhead": null,
      "points": [
        [
          0,
          0
        ],
        [
          40.42427847351763,
          5.393809927460552
        ]
      ]
    }
  ],
  "appState": {
    "gridSize": null,
    "viewBackgroundColor": "#ffffff"
  },
  "files": {}
}

================================================
FILE: build/package/docker/.dockerignore
================================================
**
!dist_linux/**
!build/package/docker/.ds.container.d3e2c84f976743bdb92a7044ef12e381
**/.DS_Store
**/*.command


================================================
FILE: build/package/docker/.ds.container.d3e2c84f976743bdb92a7044ef12e381
================================================


================================================
FILE: build/package/docker/Dockerfile
================================================
FROM alpine:latest as ca-certs
LABEL build-role=ca-certs
RUN apk update && apk upgrade && apk add --no-cache ca-certificates && update-ca-certificates 2>/dev/null || true

FROM scratch
LABEL app=slim
COPY --from=ca-certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY dist_linux /bin
COPY build/package/docker/.ds.container.d3e2c84f976743bdb92a7044ef12e381 /.ds.container.d3e2c84f976743bdb92a7044ef12e381
VOLUME /bin/.slim-state
ENTRYPOINT ["/bin/slim"]




================================================
FILE: build/package/docker/Dockerfile.arm
================================================
FROM alpine:latest as ca-certs
LABEL build-role=ca-certs
RUN apk update && apk upgrade && apk add --no-cache ca-certificates && update-ca-certificates 2>/dev/null || true

FROM scratch
LABEL app=slim
COPY --from=ca-certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY dist_linux_arm64 /bin
COPY build/package/docker/.ds.container.d3e2c84f976743bdb92a7044ef12e381 /.ds.container.d3e2c84f976743bdb92a7044ef12e381
VOLUME /bin/.slim-state
ENTRYPOINT ["/bin/slim"]




================================================
FILE: build/package/docker/build.sh
================================================
#!/usr/bin/env bash

set -e

docker build --squash --rm -t slim -f Dockerfile ../../..
docker image prune --filter label=build-role=ca-certs -f
docker image prune --filter label=app=slim -f

================================================
FILE: build/package/docker/build_arm.sh
================================================
#!/usr/bin/env bash

set -e

docker build --platform linux/arm64 -t slim-arm -f Dockerfile.arm ../../..
docker image prune --filter label=build-role=ca-certs -f
docker image prune --filter label=app=slim -f

================================================
FILE: build/package/docker/dockerhub_publish.sh
================================================
#!/usr/bin/env bash

set -e

SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
BDIR="$( cd -P "$( dirname "$SOURCE" )/../../.." && pwd )"

TAG="current"
pushd $BDIR
if hash git 2>/dev/null && [ -e $BDIR/.git ]; then
  TAG="$(git describe --tags)"
fi
popd

docker tag slim dslim/slim:$TAG
docker tag slim dslim/slim
docker push dslim/slim:$TAG
docker push dslim/slim


================================================
FILE: build/package/docker/dockerhub_publish_arm.sh
================================================
#!/usr/bin/env bash

set -e

SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
BDIR="$( cd -P "$( dirname "$SOURCE" )/../../.." && pwd )"

TAG="current"
pushd $BDIR
if hash git 2>/dev/null && [ -e $BDIR/.git ]; then
  TAG="$(git describe --tags)"
fi
popd

docker tag slim-arm dslim/slim-arm:$TAG
docker tag slim-arm dslim/slim-arm
docker push dslim/slim-arm:$TAG
docker push dslim/slim-arm


================================================
FILE: build/package/docker/mac/build.command
================================================
here="$(dirname "$BASH_SOURCE")"
cd $here/..
./build.sh





================================================
FILE: build/package/docker/mac/build_arm.command
================================================
here="$(dirname "$BASH_SOURCE")"
cd $here/..
./build_arm.sh





================================================
FILE: build/package/docker/mac/dockerhub_login.command
================================================
here="$(dirname "$BASH_SOURCE")"
cd $here

docker login --username dslim



================================================
FILE: build/package/docker/mac/dockerhub_publish.command
================================================
here="$(dirname "$BASH_SOURCE")"
cd $here/..
./dockerhub_publish.sh





================================================
FILE: build/package/docker/mac/dockerhub_publish_arm.command
================================================
here="$(dirname "$BASH_SOURCE")"
cd $here/..
./dockerhub_publish_arm.sh





================================================
FILE: build/package/rpm/slim.spec
================================================
%global go_version 1.18.2

Name: slim
Version: 1.40.6
Release: 1%{?dist}
Summary: Slim Toolkit helps you make your containers better, smaller, and secure
License: Apache-2.0
BuildRequires: golang >= %{go_version}
URL: https://github.com/slimtoolkit/slim
Source0: https://github.com/slimtoolkit/slim/archive/refs/tags/%{version}.tar.gz

%define debug_package %{nil}

%prep
%autosetup

%description
Slim Toolkit helps you make your containers better, smaller, and secure

%ifarch x86_64
%define goarch amd64
%endif

%ifarch aarch64
%define goarch arm64
%endif

%ifarch arm
%define goarch arm
%endif

%global slim_version %(git describe --tags --always)
%global slim_revision %(git rev-parse HEAD)
%global slim_buildtime %(date '+%Y-%m-%d_%I:%M:%''S')
%global slim_ldflags -s -w -X github.com/docker-slim/docker-slim/pkg/version.appVersionTag=%{slim_version} -X github.com/docker-slim/docker-slim/pkg/version.appVersionRev=%{slim_revision} -X github.com/docker-slim/docker-slim/pkg/version.appVersionTime=%{slim_buildtime}

%build
export CGO_ENABLED=0
go generate github.com/docker-slim/docker-slim/pkg/appbom
mkdir dist_linux
GOOS=linux GOARCH=%{goarch} go build  -mod=vendor -trimpath -ldflags="%{slim_ldflags}" -a -tags 'netgo osusergo' -o "dist_linux/" ./cmd/slim/...
GOOS=linux GOARCH=%{goarch} go build -mod=vendor -trimpath -ldflags="%{slim_ldflags}" -a -tags 'netgo osusergo' -o "dist_linux/" ./cmd/slim-sensor/...

%install
install -d -m 755 %{buildroot}%{_bindir}
install -d -m 755 %{buildroot}%{_bindir}
install -d -m 755 %{buildroot}/usr/share/doc/slim/
install -d -m 755 %{buildroot}/usr/share/licenses/slim/
install -m 755 dist_linux/%{name} %{buildroot}%{_bindir}
install -m 755 dist_linux/%{name}-sensor %{buildroot}%{_bindir}
install -m 644 README.md %{buildroot}/usr/share/doc/slim/README.md
install -m 644 LICENSE %{buildroot}/usr/share/licenses/slim/LICENSE

%post
%{__ln_s} -f %{_bindir}/%{name} %{_bindir}/docker-slim
chmod a+x %{_bindir}/%{name}
chmod a+x %{_bindir}/%{name}-sensor

%files 
%{_bindir
Download .txt
Showing preview only (252K chars total). Download the full file or copy to clipboard to get everything.
gitextract_oai82ui8/

├── .deepsource.toml
├── .dockerignore
├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dependabot.yml
│   └── workflows/
│       ├── acceptance-testing-bats.yml
│       ├── acceptance-testing-e2e.yml
│       ├── codesee-arch-diagram.yml
│       └── unit-testing.yml
├── .gitignore
├── .gitmodules
├── .gitpod.yml
├── .markdownlint.json
├── .vscode/
│   └── launch.json
├── ADOPTERS.md
├── CHANGELOG.md
├── COMMUNITY_ACTIVITY_LOG.md
├── CONTRIBUTING.md
├── GOVERNANCE.md
├── LICENSE
├── MAINTAINERS.md
├── Makefile
├── README.md
├── ROADMAP.md
├── SECURITY.md
├── WISHLIST.md
├── assets/
│   └── images/
│       └── docs/
│           └── SlimHow.excalidraw
├── build/
│   └── package/
│       ├── docker/
│       │   ├── .dockerignore
│       │   ├── .ds.container.d3e2c84f976743bdb92a7044ef12e381
│       │   ├── Dockerfile
│       │   ├── Dockerfile.arm
│       │   ├── build.sh
│       │   ├── build_arm.sh
│       │   ├── dockerhub_publish.sh
│       │   ├── dockerhub_publish_arm.sh
│       │   └── mac/
│       │       ├── build.command
│       │       ├── build_arm.command
│       │       ├── dockerhub_login.command
│       │       ├── dockerhub_publish.command
│       │       └── dockerhub_publish_arm.command
│       └── rpm/
│           └── slim.spec
├── cmd/
│   ├── slim/
│   │   └── main.go
│   └── slim-sensor/
│       └── main.go
├── examples/
│   ├── README.md
│   └── k8s_nginx_cgr/
│       └── manifest.yaml
├── go.mod
├── go.sum
├── pkg/
│   ├── acounter/
│   │   └── acounter.go
│   ├── aflag/
│   │   └── aflag.go
│   ├── app/
│   │   ├── constants.go
│   │   ├── execontext.go
│   │   ├── master/
│   │   │   ├── app.go
│   │   │   ├── builder/
│   │   │   │   └── image_builder.go
│   │   │   ├── cli.go
│   │   │   ├── command/
│   │   │   │   ├── appbom/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── build/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── image.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── kubernetes.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── cliflags.go
│   │   │   │   ├── clifvgetter.go
│   │   │   │   ├── clifvparser.go
│   │   │   │   ├── cliprompt.go
│   │   │   │   ├── common.go
│   │   │   │   ├── containerize/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── convert/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── debug/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── debug_images.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handle_docker_runtime.go
│   │   │   │   │   ├── handle_kubernetes_runtime.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   ├── register.go
│   │   │   │   │   ├── session.go
│   │   │   │   │   └── shell.go
│   │   │   │   ├── dockerclipm/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── edit/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── help/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── images/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── install/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── lint/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── merge/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── probe/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── profile/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── registry/
│   │   │   │   │   ├── auth.go
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler_copy.go
│   │   │   │   │   ├── handler_image_index.go
│   │   │   │   │   ├── handler_pull.go
│   │   │   │   │   ├── handler_push.go
│   │   │   │   │   ├── handler_server.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── run/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── server/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── update/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── version/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── handler.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   ├── vulnerability/
│   │   │   │   │   ├── cli.go
│   │   │   │   │   ├── flags.go
│   │   │   │   │   ├── handler_tool_epss.go
│   │   │   │   │   ├── init/
│   │   │   │   │   │   └── init.go
│   │   │   │   │   ├── prompt.go
│   │   │   │   │   └── register.go
│   │   │   │   └── xray/
│   │   │   │       ├── cli.go
│   │   │   │       ├── flags.go
│   │   │   │       ├── handler.go
│   │   │   │       ├── init/
│   │   │   │       │   └── init.go
│   │   │   │       ├── prompt.go
│   │   │   │       └── register.go
│   │   │   ├── compose/
│   │   │   │   └── execution.go
│   │   │   ├── config/
│   │   │   │   └── config.go
│   │   │   ├── container/
│   │   │   │   └── execution.go
│   │   │   ├── docker/
│   │   │   │   └── dockerhost/
│   │   │   │       └── host.go
│   │   │   ├── inspectors/
│   │   │   │   ├── container/
│   │   │   │   │   ├── container_inspector.go
│   │   │   │   │   └── container_startup.go
│   │   │   │   ├── image/
│   │   │   │   │   ├── extract_registry_test.go
│   │   │   │   │   └── image_inspector.go
│   │   │   │   ├── ipc/
│   │   │   │   │   └── ipc.go
│   │   │   │   ├── pod/
│   │   │   │   │   └── pod_inspector.go
│   │   │   │   └── sensor/
│   │   │   │       └── sensor.go
│   │   │   ├── kubernetes/
│   │   │   │   ├── client.go
│   │   │   │   ├── kubectl.go
│   │   │   │   ├── manifests.go
│   │   │   │   └── workload.go
│   │   │   ├── probe/
│   │   │   │   └── http/
│   │   │   │       ├── crawler.go
│   │   │   │       ├── custom_probe.go
│   │   │   │       ├── httpclient.go
│   │   │   │       ├── internal/
│   │   │   │       │   ├── client.go
│   │   │   │       │   └── fastcgi.go
│   │   │   │       ├── swagger.go
│   │   │   │       └── wsclient.go
│   │   │   ├── security/
│   │   │   │   ├── apparmor/
│   │   │   │   │   └── apparmor.go
│   │   │   │   └── seccomp/
│   │   │   │       └── seccomp.go
│   │   │   ├── signals/
│   │   │   │   └── signals.go
│   │   │   ├── update/
│   │   │   │   └── update.go
│   │   │   └── version/
│   │   │       └── version.go
│   │   └── sensor/
│   │       ├── app.go
│   │       ├── app_test.go
│   │       ├── artifact/
│   │       │   └── artifact.go
│   │       ├── controlled/
│   │       │   ├── controlled.go
│   │       │   └── controlled_test.go
│   │       ├── detector/
│   │       │   ├── binfile/
│   │       │   │   └── binfile.go
│   │       │   └── filetype/
│   │       │       └── filetype.go
│   │       ├── execution/
│   │       │   ├── controlled.go
│   │       │   ├── hook.go
│   │       │   ├── interface.go
│   │       │   └── standalone.go
│   │       ├── inspector/
│   │       │   └── sodeps/
│   │       │       └── sodeps.go
│   │       ├── ipc/
│   │       │   └── ipc.go
│   │       ├── logger.go
│   │       ├── monitor/
│   │       │   ├── composite.go
│   │       │   ├── composite_test.go
│   │       │   ├── fanotify/
│   │       │   │   └── monitor.go
│   │       │   ├── pevent/
│   │       │   │   └── monitor.go
│   │       │   └── ptrace/
│   │       │       ├── interface.go
│   │       │       ├── monitor.go
│   │       │       └── monitor_arm64.go
│   │       ├── signals.go
│   │       └── standalone/
│   │           ├── control/
│   │           │   ├── commands.go
│   │           │   ├── queue.go
│   │           │   ├── stop.go
│   │           │   └── wait.go
│   │           └── standalone.go
│   ├── appbom/
│   │   ├── .gitignore
│   │   ├── appbom.go
│   │   ├── gobinhash.go
│   │   ├── gobinhash_noembed.go
│   │   └── gobinhasher.go
│   ├── artifact/
│   │   └── artifact.go
│   ├── certdiscover/
│   │   └── certdiscover.go
│   ├── command/
│   │   └── command.go
│   ├── consts/
│   │   ├── community.go
│   │   ├── external.go
│   │   └── version.go
│   ├── docker/
│   │   ├── buildpackinfo/
│   │   │   └── buildpackinfo.go
│   │   ├── dockerclient/
│   │   │   └── client.go
│   │   ├── dockerfile/
│   │   │   ├── ast/
│   │   │   │   ├── line_parsers.go
│   │   │   │   ├── parser.go
│   │   │   │   └── split_command.go
│   │   │   ├── dockerfile.go
│   │   │   ├── parser/
│   │   │   │   └── parser.go
│   │   │   ├── reverse/
│   │   │   │   ├── reverse.go
│   │   │   │   └── reverse_test.go
│   │   │   └── spec/
│   │   │       └── spec.go
│   │   ├── dockerignore/
│   │   │   └── dockerignore.go
│   │   ├── dockerimage/
│   │   │   ├── dockerimage.go
│   │   │   ├── imagelayout.go
│   │   │   ├── metadata.go
│   │   │   ├── packagefiles.go
│   │   │   └── topobjects.go
│   │   ├── dockerutil/
│   │   │   └── dockerutil.go
│   │   ├── instruction/
│   │   │   └── instruction.go
│   │   └── linter/
│   │       ├── check/
│   │       │   ├── check.go
│   │       │   ├── id10001.go
│   │       │   ├── id10002.go
│   │       │   ├── id20000.go
│   │       │   ├── id20001.go
│   │       │   ├── id20002.go
│   │       │   ├── id20003.go
│   │       │   ├── id20004.go
│   │       │   ├── id20005.go
│   │       │   ├── id20006.go
│   │       │   ├── id20007.go
│   │       │   ├── id20008.go
│   │       │   ├── id20009.go
│   │       │   ├── id20010.go
│   │       │   ├── id20011.go
│   │       │   ├── id20012.go
│   │       │   ├── id20013.go
│   │       │   ├── id20014.go
│   │       │   ├── id20015.go
│   │       │   ├── id20016.go
│   │       │   ├── id20017.go
│   │       │   ├── id20018.go
│   │       │   ├── id20019.go
│   │       │   ├── id20020.go
│   │       │   ├── id20021.go
│   │       │   └── id20022.go
│   │       └── linter.go
│   ├── errors/
│   │   └── errors.go
│   ├── imagebuilder/
│   │   ├── imagebuilder.go
│   │   └── internalbuilder/
│   │       └── engine.go
│   ├── imagereader/
│   │   └── imagereader.go
│   ├── ipc/
│   │   ├── channel/
│   │   │   └── channel.go
│   │   ├── command/
│   │   │   └── command.go
│   │   └── event/
│   │       └── event.go
│   ├── lambdaproxy/
│   │   ├── lambdaproxy.go
│   │   └── lambdaproxy_test.go
│   ├── launcher/
│   │   └── launcher.go
│   ├── mondel/
│   │   └── mondel.go
│   ├── monitor/
│   │   └── ptrace/
│   │       ├── ptrace.go
│   │       └── types.go
│   ├── pdiscover/
│   │   ├── pevents.go
│   │   ├── pevents_darwin.go
│   │   ├── pevents_linux.go
│   │   ├── pinfo.go
│   │   ├── pinfo_darwin.go
│   │   └── pinfo_linux.go
│   ├── report/
│   │   ├── command_report.go
│   │   ├── container_report.go
│   │   ├── mondel_report.go
│   │   └── report.go
│   ├── sysenv/
│   │   ├── sysenv_darwin.go
│   │   └── sysenv_linux.go
│   ├── sysidentity/
│   │   └── sysidentity.go
│   ├── system/
│   │   ├── architecture.go
│   │   ├── errors.go
│   │   ├── kernel_linux.go
│   │   ├── nstring_int8.go
│   │   ├── nstring_uint8.go
│   │   ├── os_release.go
│   │   ├── os_shells.go
│   │   ├── syscalls.go
│   │   ├── syscalls_armf32.go
│   │   ├── syscalls_armf64.go
│   │   ├── syscalls_x86f32.go
│   │   ├── syscalls_x86f64.go
│   │   ├── system.go
│   │   ├── system_darwin.go
│   │   ├── system_linux.go
│   │   ├── system_linux_amd64.go
│   │   ├── system_linux_arm.go
│   │   └── system_linux_arm64.go
│   ├── test/
│   │   ├── e2e/
│   │   │   └── sensor/
│   │   │       ├── docker.go
│   │   │       ├── monitor.go
│   │   │       └── sensor.go
│   │   ├── stub/
│   │   │   └── sensor/
│   │   │       ├── execution/
│   │   │       │   └── execution.go
│   │   │       └── monitor/
│   │   │           └── monitor.go
│   │   └── util/
│   │       └── time.go
│   ├── third_party/
│   │   ├── compose-go/
│   │   │   ├── .github/
│   │   │   │   ├── CODEOWNERS
│   │   │   │   ├── dependabot.yml
│   │   │   │   └── workflows/
│   │   │   │       ├── ci.yml
│   │   │   │       └── release.yml
│   │   │   ├── .gitignore
│   │   │   ├── .pre-commit-config.yaml
│   │   │   ├── CODE_OF_CONDUCT.md
│   │   │   ├── CONTRIBUTING.md
│   │   │   ├── LICENSE
│   │   │   ├── MAINTENANCE.md
│   │   │   ├── Makefile
│   │   │   ├── NOTICE
│   │   │   ├── README.md
│   │   │   ├── ci/
│   │   │   │   └── Dockerfile
│   │   │   ├── cli/
│   │   │   │   ├── options.go
│   │   │   │   ├── options_test.go
│   │   │   │   └── testdata/
│   │   │   │       ├── env-file/
│   │   │   │       │   ├── compose-with-env-file.yaml
│   │   │   │       │   └── simple-env
│   │   │   │       └── simple/
│   │   │   │           ├── compose-with-overrides.yaml
│   │   │   │           ├── compose-with-variables.yaml
│   │   │   │           └── compose.yaml
│   │   │   ├── compatibility/
│   │   │   │   ├── allowlist.go
│   │   │   │   ├── allowlist_test.go
│   │   │   │   ├── build.go
│   │   │   │   ├── checker.go
│   │   │   │   ├── configs.go
│   │   │   │   ├── deploy.go
│   │   │   │   ├── networks.go
│   │   │   │   ├── services.go
│   │   │   │   └── volumes.go
│   │   │   ├── errdefs/
│   │   │   │   └── errors.go
│   │   │   ├── go.mod
│   │   │   ├── go.sum
│   │   │   ├── golangci.yml
│   │   │   ├── interpolation/
│   │   │   │   ├── interpolation.go
│   │   │   │   └── interpolation_test.go
│   │   │   ├── loader/
│   │   │   │   ├── example1.env
│   │   │   │   ├── example2.env
│   │   │   │   ├── full-example.yml
│   │   │   │   ├── full-struct_test.go
│   │   │   │   ├── interpolate.go
│   │   │   │   ├── loader.go
│   │   │   │   ├── loader_test.go
│   │   │   │   ├── merge.go
│   │   │   │   ├── merge_test.go
│   │   │   │   ├── normalize.go
│   │   │   │   ├── normalize_test.go
│   │   │   │   ├── testdata/
│   │   │   │   │   ├── Dockerfile
│   │   │   │   │   ├── compose-test-extends-imported.yaml
│   │   │   │   │   ├── compose-test-extends.yaml
│   │   │   │   │   └── compose-test-with-version.yaml
│   │   │   │   ├── types_test.go
│   │   │   │   ├── validate.go
│   │   │   │   ├── validate_test.go
│   │   │   │   ├── volume.go
│   │   │   │   ├── volume_test.go
│   │   │   │   ├── windows_path.go
│   │   │   │   ├── windows_path_test.go
│   │   │   │   └── with-version-struct_test.go
│   │   │   ├── schema/
│   │   │   │   ├── compose-spec.json
│   │   │   │   ├── schema.go
│   │   │   │   └── schema_test.go
│   │   │   ├── scripts/
│   │   │   │   └── validate/
│   │   │   │       ├── fileheader
│   │   │   │       └── template/
│   │   │   │           ├── bash.txt
│   │   │   │           ├── dockerfile.txt
│   │   │   │           ├── go.txt
│   │   │   │           └── makefile.txt
│   │   │   ├── template/
│   │   │   │   ├── template.go
│   │   │   │   └── template_test.go
│   │   │   └── types/
│   │   │       ├── config.go
│   │   │       ├── config_test.go
│   │   │       ├── project.go
│   │   │       ├── project_test.go
│   │   │       ├── types.go
│   │   │       └── types_test.go
│   │   ├── madmo/
│   │   │   └── fanotify/
│   │   │       ├── fanotify.go
│   │   │       ├── fanotify_386.go
│   │   │       ├── fanotify_amd64.go
│   │   │       ├── fanotify_arm.go
│   │   │       └── fanotify_arm64.go
│   │   └── opencontainers/
│   │       └── specs/
│   │           └── seccomp.go
│   ├── util/
│   │   ├── errutil/
│   │   │   └── errutil.go
│   │   ├── fsutil/
│   │   │   ├── fsutil.go
│   │   │   ├── sysstat.go
│   │   │   ├── sysstat_darwin.go
│   │   │   └── sysstat_linux.go
│   │   ├── jsonutil/
│   │   │   └── jsonutil.go
│   │   └── printbuffer/
│   │       └── printbuffer.go
│   ├── version/
│   │   └── version.go
│   └── vulnerability/
│       └── epss/
│           ├── api/
│           │   └── api.go
│           ├── client/
│           │   └── client.go
│           └── data.go
├── scripts/
│   ├── docker-builder-m1.run.sh
│   ├── docker-builder.run.sh
│   ├── govulncheck.sh
│   ├── install-slim.sh
│   ├── mac/
│   │   ├── bom.gen.command
│   │   ├── docker-builder-m1.run.command
│   │   ├── docker-builder.run.command
│   │   ├── govulncheck.command
│   │   ├── src.build.command
│   │   ├── src.cleanup.command
│   │   ├── src.fmt.command
│   │   ├── src.inspect.command
│   │   ├── src.test.command
│   │   └── tools.get.command
│   ├── src.build.m1.sh
│   ├── src.build.quick.sh
│   ├── src.build.sh
│   ├── src.cleanup.sh
│   ├── src.fmt.sh
│   ├── src.inspect.sh
│   ├── src.test.sh
│   ├── tools.get.sh
│   └── uninstall-slim.sh
├── test/
│   ├── debug.bats
│   └── e2e-tests.mk
└── vendor/
    ├── github.com/
    │   ├── Azure/
    │   │   └── go-ansiterm/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── SECURITY.md
    │   │       ├── constants.go
    │   │       ├── context.go
    │   │       ├── csi_entry_state.go
    │   │       ├── csi_param_state.go
    │   │       ├── escape_intermediate_state.go
    │   │       ├── escape_state.go
    │   │       ├── event_handler.go
    │   │       ├── ground_state.go
    │   │       ├── osc_string_state.go
    │   │       ├── parser.go
    │   │       ├── parser_action_helpers.go
    │   │       ├── parser_actions.go
    │   │       ├── states.go
    │   │       ├── utilities.go
    │   │       └── winterm/
    │   │           ├── ansi.go
    │   │           ├── api.go
    │   │           ├── attr_translation.go
    │   │           ├── cursor_helpers.go
    │   │           ├── erase_helpers.go
    │   │           ├── scroll_helper.go
    │   │           ├── utilities.go
    │   │           └── win_event_handler.go
    │   ├── Microsoft/
    │   │   └── go-winio/
    │   │       ├── .gitattributes
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── CODEOWNERS
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── SECURITY.md
    │   │       ├── backup.go
    │   │       ├── doc.go
    │   │       ├── ea.go
    │   │       ├── file.go
    │   │       ├── fileinfo.go
    │   │       ├── hvsock.go
    │   │       ├── internal/
    │   │       │   ├── fs/
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── fs.go
    │   │       │   │   ├── security.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   ├── socket/
    │   │       │   │   ├── rawaddr.go
    │   │       │   │   ├── socket.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   └── stringbuffer/
    │   │       │       └── wstring.go
    │   │       ├── pipe.go
    │   │       ├── pkg/
    │   │       │   └── guid/
    │   │       │       ├── guid.go
    │   │       │       ├── guid_nonwindows.go
    │   │       │       ├── guid_windows.go
    │   │       │       └── variant_string.go
    │   │       ├── privilege.go
    │   │       ├── reparse.go
    │   │       ├── sd.go
    │   │       ├── syscall.go
    │   │       ├── tools.go
    │   │       └── zsyscall_windows.go
    │   ├── PuerkitoBio/
    │   │   └── goquery/
    │   │       ├── .gitattributes
    │   │       ├── .gitignore
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── array.go
    │   │       ├── doc.go
    │   │       ├── expand.go
    │   │       ├── filter.go
    │   │       ├── iteration.go
    │   │       ├── manipulation.go
    │   │       ├── property.go
    │   │       ├── query.go
    │   │       ├── traversal.go
    │   │       ├── type.go
    │   │       └── utilities.go
    │   ├── andybalholm/
    │   │   └── cascadia/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── parser.go
    │   │       ├── pseudo_classes.go
    │   │       ├── selector.go
    │   │       ├── serialize.go
    │   │       └── specificity.go
    │   ├── antchfx/
    │   │   ├── htmlquery/
    │   │   │   ├── .gitignore
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── cache.go
    │   │   │   └── query.go
    │   │   ├── xmlquery/
    │   │   │   ├── .gitignore
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── books.xml
    │   │   │   ├── cache.go
    │   │   │   ├── cached_reader.go
    │   │   │   ├── node.go
    │   │   │   ├── options.go
    │   │   │   ├── parse.go
    │   │   │   └── query.go
    │   │   └── xpath/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── build.go
    │   │       ├── cache.go
    │   │       ├── func.go
    │   │       ├── func_go110.go
    │   │       ├── func_pre_go110.go
    │   │       ├── operator.go
    │   │       ├── parse.go
    │   │       ├── query.go
    │   │       └── xpath.go
    │   ├── armon/
    │   │   └── go-radix/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── radix.go
    │   ├── bmatcuk/
    │   │   └── doublestar/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── doublestar.go
    │   │       └── v3/
    │   │           ├── .gitignore
    │   │           ├── .travis.yml
    │   │           ├── LICENSE
    │   │           ├── README.md
    │   │           ├── UPGRADING.md
    │   │           └── doublestar.go
    │   ├── c4milo/
    │   │   └── unpackit/
    │   │       ├── .editorconfig
    │   │       ├── .travis.yml
    │   │       ├── AUTHORS
    │   │       ├── CONTRIBUTING.md
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── unpackit.go
    │   ├── cespare/
    │   │   └── xxhash/
    │   │       └── v2/
    │   │           ├── LICENSE.txt
    │   │           ├── README.md
    │   │           ├── testall.sh
    │   │           ├── xxhash.go
    │   │           ├── xxhash_amd64.s
    │   │           ├── xxhash_arm64.s
    │   │           ├── xxhash_asm.go
    │   │           ├── xxhash_other.go
    │   │           ├── xxhash_safe.go
    │   │           └── xxhash_unsafe.go
    │   ├── compose-spec/
    │   │   └── compose-go/
    │   │       ├── LICENSE
    │   │       ├── NOTICE
    │   │       ├── errdefs/
    │   │       │   └── errors.go
    │   │       ├── interpolation/
    │   │       │   └── interpolation.go
    │   │       ├── loader/
    │   │       │   ├── example1.env
    │   │       │   ├── example2.env
    │   │       │   ├── full-example.yml
    │   │       │   ├── interpolate.go
    │   │       │   ├── loader.go
    │   │       │   ├── merge.go
    │   │       │   ├── normalize.go
    │   │       │   ├── validate.go
    │   │       │   ├── volume.go
    │   │       │   └── windows_path.go
    │   │       ├── template/
    │   │       │   └── template.go
    │   │       └── types/
    │   │           ├── config.go
    │   │           ├── project.go
    │   │           └── types.go
    │   ├── containerd/
    │   │   ├── containerd/
    │   │   │   ├── LICENSE
    │   │   │   ├── NOTICE
    │   │   │   └── pkg/
    │   │   │       └── userns/
    │   │   │           ├── userns_linux.go
    │   │   │           └── userns_unsupported.go
    │   │   ├── log/
    │   │   │   ├── .golangci.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   └── context.go
    │   │   └── stargz-snapshotter/
    │   │       └── estargz/
    │   │           ├── LICENSE
    │   │           ├── build.go
    │   │           ├── errorutil/
    │   │           │   └── errors.go
    │   │           ├── estargz.go
    │   │           ├── gzip.go
    │   │           ├── testutil.go
    │   │           └── types.go
    │   ├── cpuguy83/
    │   │   └── go-md2man/
    │   │       └── v2/
    │   │           ├── LICENSE.md
    │   │           └── md2man/
    │   │               ├── md2man.go
    │   │               └── roff.go
    │   ├── davecgh/
    │   │   └── go-spew/
    │   │       ├── LICENSE
    │   │       └── spew/
    │   │           ├── bypass.go
    │   │           ├── bypasssafe.go
    │   │           ├── common.go
    │   │           ├── config.go
    │   │           ├── doc.go
    │   │           ├── dump.go
    │   │           ├── format.go
    │   │           └── spew.go
    │   ├── distribution/
    │   │   ├── distribution/
    │   │   │   └── v3/
    │   │   │       ├── LICENSE
    │   │   │       ├── digestset/
    │   │   │       │   └── set.go
    │   │   │       └── reference/
    │   │   │           ├── helpers.go
    │   │   │           ├── normalize.go
    │   │   │           ├── reference.go
    │   │   │           └── regexp.go
    │   │   └── reference/
    │   │       ├── .gitattributes
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── CODE-OF-CONDUCT.md
    │   │       ├── CONTRIBUTING.md
    │   │       ├── GOVERNANCE.md
    │   │       ├── LICENSE
    │   │       ├── MAINTAINERS
    │   │       ├── Makefile
    │   │       ├── README.md
    │   │       ├── SECURITY.md
    │   │       ├── helpers.go
    │   │       ├── normalize.go
    │   │       ├── reference.go
    │   │       ├── regexp.go
    │   │       └── sort.go
    │   ├── docker/
    │   │   ├── cli/
    │   │   │   ├── AUTHORS
    │   │   │   ├── LICENSE
    │   │   │   ├── NOTICE
    │   │   │   └── cli/
    │   │   │       └── config/
    │   │   │           ├── config.go
    │   │   │           ├── configfile/
    │   │   │           │   ├── file.go
    │   │   │           │   ├── file_unix.go
    │   │   │           │   └── file_windows.go
    │   │   │           ├── credentials/
    │   │   │           │   ├── credentials.go
    │   │   │           │   ├── default_store.go
    │   │   │           │   ├── default_store_darwin.go
    │   │   │           │   ├── default_store_linux.go
    │   │   │           │   ├── default_store_unsupported.go
    │   │   │           │   ├── default_store_windows.go
    │   │   │           │   ├── file_store.go
    │   │   │           │   └── native_store.go
    │   │   │           └── types/
    │   │   │               └── authconfig.go
    │   │   ├── distribution/
    │   │   │   ├── LICENSE
    │   │   │   └── registry/
    │   │   │       └── client/
    │   │   │           └── auth/
    │   │   │               └── challenge/
    │   │   │                   ├── addr.go
    │   │   │                   └── authchallenge.go
    │   │   ├── docker/
    │   │   │   ├── AUTHORS
    │   │   │   ├── LICENSE
    │   │   │   ├── NOTICE
    │   │   │   ├── api/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── common.go
    │   │   │   │   ├── swagger-gen.yaml
    │   │   │   │   ├── swagger.yaml
    │   │   │   │   └── types/
    │   │   │   │       ├── blkiodev/
    │   │   │   │       │   └── blkio.go
    │   │   │   │       ├── checkpoint/
    │   │   │   │       │   ├── list.go
    │   │   │   │       │   └── options.go
    │   │   │   │       ├── client.go
    │   │   │   │       ├── configs.go
    │   │   │   │       ├── container/
    │   │   │   │       │   ├── change_type.go
    │   │   │   │       │   ├── change_types.go
    │   │   │   │       │   ├── config.go
    │   │   │   │       │   ├── container_top.go
    │   │   │   │       │   ├── container_update.go
    │   │   │   │       │   ├── create_response.go
    │   │   │   │       │   ├── errors.go
    │   │   │   │       │   ├── filesystem_change.go
    │   │   │   │       │   ├── hostconfig.go
    │   │   │   │       │   ├── hostconfig_unix.go
    │   │   │   │       │   ├── hostconfig_windows.go
    │   │   │   │       │   ├── options.go
    │   │   │   │       │   ├── wait_exit_error.go
    │   │   │   │       │   ├── wait_response.go
    │   │   │   │       │   └── waitcondition.go
    │   │   │   │       ├── error_response.go
    │   │   │   │       ├── error_response_ext.go
    │   │   │   │       ├── events/
    │   │   │   │       │   └── events.go
    │   │   │   │       ├── filters/
    │   │   │   │       │   ├── errors.go
    │   │   │   │       │   └── parse.go
    │   │   │   │       ├── graph_driver_data.go
    │   │   │   │       ├── id_response.go
    │   │   │   │       ├── image/
    │   │   │   │       │   ├── delete_response.go
    │   │   │   │       │   ├── image.go
    │   │   │   │       │   ├── image_history.go
    │   │   │   │       │   ├── opts.go
    │   │   │   │       │   └── summary.go
    │   │   │   │       ├── mount/
    │   │   │   │       │   └── mount.go
    │   │   │   │       ├── network/
    │   │   │   │       │   ├── endpoint.go
    │   │   │   │       │   ├── ipam.go
    │   │   │   │       │   └── network.go
    │   │   │   │       ├── plugin.go
    │   │   │   │       ├── plugin_device.go
    │   │   │   │       ├── plugin_env.go
    │   │   │   │       ├── plugin_interface_type.go
    │   │   │   │       ├── plugin_mount.go
    │   │   │   │       ├── plugin_responses.go
    │   │   │   │       ├── port.go
    │   │   │   │       ├── registry/
    │   │   │   │       │   ├── authconfig.go
    │   │   │   │       │   ├── authenticate.go
    │   │   │   │       │   └── registry.go
    │   │   │   │       ├── stats.go
    │   │   │   │       ├── strslice/
    │   │   │   │       │   └── strslice.go
    │   │   │   │       ├── swarm/
    │   │   │   │       │   ├── common.go
    │   │   │   │       │   ├── config.go
    │   │   │   │       │   ├── container.go
    │   │   │   │       │   ├── network.go
    │   │   │   │       │   ├── node.go
    │   │   │   │       │   ├── runtime/
    │   │   │   │       │   │   ├── gen.go
    │   │   │   │       │   │   ├── plugin.pb.go
    │   │   │   │       │   │   └── plugin.proto
    │   │   │   │       │   ├── runtime.go
    │   │   │   │       │   ├── secret.go
    │   │   │   │       │   ├── service.go
    │   │   │   │       │   ├── service_create_response.go
    │   │   │   │       │   ├── service_update_response.go
    │   │   │   │       │   ├── swarm.go
    │   │   │   │       │   └── task.go
    │   │   │   │       ├── system/
    │   │   │   │       │   ├── info.go
    │   │   │   │       │   ├── runtime.go
    │   │   │   │       │   └── security_opts.go
    │   │   │   │       ├── time/
    │   │   │   │       │   └── timestamp.go
    │   │   │   │       ├── types.go
    │   │   │   │       ├── types_deprecated.go
    │   │   │   │       ├── versions/
    │   │   │   │       │   ├── README.md
    │   │   │   │       │   └── compare.go
    │   │   │   │       └── volume/
    │   │   │   │           ├── cluster_volume.go
    │   │   │   │           ├── create_options.go
    │   │   │   │           ├── list_response.go
    │   │   │   │           ├── options.go
    │   │   │   │           ├── volume.go
    │   │   │   │           └── volume_update.go
    │   │   │   ├── client/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── build_cancel.go
    │   │   │   │   ├── build_prune.go
    │   │   │   │   ├── checkpoint_create.go
    │   │   │   │   ├── checkpoint_delete.go
    │   │   │   │   ├── checkpoint_list.go
    │   │   │   │   ├── client.go
    │   │   │   │   ├── client_deprecated.go
    │   │   │   │   ├── client_unix.go
    │   │   │   │   ├── client_windows.go
    │   │   │   │   ├── config_create.go
    │   │   │   │   ├── config_inspect.go
    │   │   │   │   ├── config_list.go
    │   │   │   │   ├── config_remove.go
    │   │   │   │   ├── config_update.go
    │   │   │   │   ├── container_attach.go
    │   │   │   │   ├── container_commit.go
    │   │   │   │   ├── container_copy.go
    │   │   │   │   ├── container_create.go
    │   │   │   │   ├── container_diff.go
    │   │   │   │   ├── container_exec.go
    │   │   │   │   ├── container_export.go
    │   │   │   │   ├── container_inspect.go
    │   │   │   │   ├── container_kill.go
    │   │   │   │   ├── container_list.go
    │   │   │   │   ├── container_logs.go
    │   │   │   │   ├── container_pause.go
    │   │   │   │   ├── container_prune.go
    │   │   │   │   ├── container_remove.go
    │   │   │   │   ├── container_rename.go
    │   │   │   │   ├── container_resize.go
    │   │   │   │   ├── container_restart.go
    │   │   │   │   ├── container_start.go
    │   │   │   │   ├── container_stats.go
    │   │   │   │   ├── container_stop.go
    │   │   │   │   ├── container_top.go
    │   │   │   │   ├── container_unpause.go
    │   │   │   │   ├── container_update.go
    │   │   │   │   ├── container_wait.go
    │   │   │   │   ├── disk_usage.go
    │   │   │   │   ├── distribution_inspect.go
    │   │   │   │   ├── envvars.go
    │   │   │   │   ├── errors.go
    │   │   │   │   ├── events.go
    │   │   │   │   ├── hijack.go
    │   │   │   │   ├── image_build.go
    │   │   │   │   ├── image_create.go
    │   │   │   │   ├── image_history.go
    │   │   │   │   ├── image_import.go
    │   │   │   │   ├── image_inspect.go
    │   │   │   │   ├── image_list.go
    │   │   │   │   ├── image_load.go
    │   │   │   │   ├── image_prune.go
    │   │   │   │   ├── image_pull.go
    │   │   │   │   ├── image_push.go
    │   │   │   │   ├── image_remove.go
    │   │   │   │   ├── image_save.go
    │   │   │   │   ├── image_search.go
    │   │   │   │   ├── image_tag.go
    │   │   │   │   ├── info.go
    │   │   │   │   ├── interface.go
    │   │   │   │   ├── interface_experimental.go
    │   │   │   │   ├── interface_stable.go
    │   │   │   │   ├── login.go
    │   │   │   │   ├── network_connect.go
    │   │   │   │   ├── network_create.go
    │   │   │   │   ├── network_disconnect.go
    │   │   │   │   ├── network_inspect.go
    │   │   │   │   ├── network_list.go
    │   │   │   │   ├── network_prune.go
    │   │   │   │   ├── network_remove.go
    │   │   │   │   ├── node_inspect.go
    │   │   │   │   ├── node_list.go
    │   │   │   │   ├── node_remove.go
    │   │   │   │   ├── node_update.go
    │   │   │   │   ├── options.go
    │   │   │   │   ├── ping.go
    │   │   │   │   ├── plugin_create.go
    │   │   │   │   ├── plugin_disable.go
    │   │   │   │   ├── plugin_enable.go
    │   │   │   │   ├── plugin_inspect.go
    │   │   │   │   ├── plugin_install.go
    │   │   │   │   ├── plugin_list.go
    │   │   │   │   ├── plugin_push.go
    │   │   │   │   ├── plugin_remove.go
    │   │   │   │   ├── plugin_set.go
    │   │   │   │   ├── plugin_upgrade.go
    │   │   │   │   ├── request.go
    │   │   │   │   ├── secret_create.go
    │   │   │   │   ├── secret_inspect.go
    │   │   │   │   ├── secret_list.go
    │   │   │   │   ├── secret_remove.go
    │   │   │   │   ├── secret_update.go
    │   │   │   │   ├── service_create.go
    │   │   │   │   ├── service_inspect.go
    │   │   │   │   ├── service_list.go
    │   │   │   │   ├── service_logs.go
    │   │   │   │   ├── service_remove.go
    │   │   │   │   ├── service_update.go
    │   │   │   │   ├── swarm_get_unlock_key.go
    │   │   │   │   ├── swarm_init.go
    │   │   │   │   ├── swarm_inspect.go
    │   │   │   │   ├── swarm_join.go
    │   │   │   │   ├── swarm_leave.go
    │   │   │   │   ├── swarm_unlock.go
    │   │   │   │   ├── swarm_update.go
    │   │   │   │   ├── task_inspect.go
    │   │   │   │   ├── task_list.go
    │   │   │   │   ├── task_logs.go
    │   │   │   │   ├── utils.go
    │   │   │   │   ├── version.go
    │   │   │   │   ├── volume_create.go
    │   │   │   │   ├── volume_inspect.go
    │   │   │   │   ├── volume_list.go
    │   │   │   │   ├── volume_prune.go
    │   │   │   │   ├── volume_remove.go
    │   │   │   │   └── volume_update.go
    │   │   │   ├── errdefs/
    │   │   │   │   ├── defs.go
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── helpers.go
    │   │   │   │   ├── http_helpers.go
    │   │   │   │   └── is.go
    │   │   │   ├── image/
    │   │   │   │   └── spec/
    │   │   │   │       └── specs-go/
    │   │   │   │           └── v1/
    │   │   │   │               └── image.go
    │   │   │   ├── internal/
    │   │   │   │   └── multierror/
    │   │   │   │       └── multierror.go
    │   │   │   └── pkg/
    │   │   │       ├── archive/
    │   │   │       │   ├── archive.go
    │   │   │       │   ├── archive_linux.go
    │   │   │       │   ├── archive_other.go
    │   │   │       │   ├── archive_unix.go
    │   │   │       │   ├── archive_windows.go
    │   │   │       │   ├── changes.go
    │   │   │       │   ├── changes_linux.go
    │   │   │       │   ├── changes_other.go
    │   │   │       │   ├── changes_unix.go
    │   │   │       │   ├── changes_windows.go
    │   │   │       │   ├── copy.go
    │   │   │       │   ├── copy_unix.go
    │   │   │       │   ├── copy_windows.go
    │   │   │       │   ├── diff.go
    │   │   │       │   ├── diff_unix.go
    │   │   │       │   ├── diff_windows.go
    │   │   │       │   ├── path.go
    │   │   │       │   ├── path_unix.go
    │   │   │       │   ├── path_windows.go
    │   │   │       │   ├── time_linux.go
    │   │   │       │   ├── time_unsupported.go
    │   │   │       │   ├── whiteouts.go
    │   │   │       │   └── wrap.go
    │   │   │       ├── homedir/
    │   │   │       │   ├── homedir.go
    │   │   │       │   ├── homedir_linux.go
    │   │   │       │   ├── homedir_others.go
    │   │   │       │   ├── homedir_unix.go
    │   │   │       │   └── homedir_windows.go
    │   │   │       ├── idtools/
    │   │   │       │   ├── idtools.go
    │   │   │       │   ├── idtools_unix.go
    │   │   │       │   ├── idtools_windows.go
    │   │   │       │   ├── usergroupadd_linux.go
    │   │   │       │   ├── usergroupadd_unsupported.go
    │   │   │       │   └── utils_unix.go
    │   │   │       ├── ioutils/
    │   │   │       │   ├── buffer.go
    │   │   │       │   ├── bytespipe.go
    │   │   │       │   ├── fswriters.go
    │   │   │       │   ├── readers.go
    │   │   │       │   ├── writeflusher.go
    │   │   │       │   └── writers.go
    │   │   │       ├── jsonmessage/
    │   │   │       │   └── jsonmessage.go
    │   │   │       ├── longpath/
    │   │   │       │   └── longpath.go
    │   │   │       ├── pools/
    │   │   │       │   └── pools.go
    │   │   │       ├── stdcopy/
    │   │   │       │   └── stdcopy.go
    │   │   │       └── system/
    │   │   │           ├── args_windows.go
    │   │   │           ├── chtimes.go
    │   │   │           ├── chtimes_nowindows.go
    │   │   │           ├── chtimes_windows.go
    │   │   │           ├── errors.go
    │   │   │           ├── filesys.go
    │   │   │           ├── filesys_unix.go
    │   │   │           ├── filesys_windows.go
    │   │   │           ├── image_os_deprecated.go
    │   │   │           ├── init_windows.go
    │   │   │           ├── lstat_unix.go
    │   │   │           ├── lstat_windows.go
    │   │   │           ├── mknod.go
    │   │   │           ├── mknod_freebsd.go
    │   │   │           ├── mknod_unix.go
    │   │   │           ├── stat_bsd.go
    │   │   │           ├── stat_darwin.go
    │   │   │           ├── stat_linux.go
    │   │   │           ├── stat_openbsd.go
    │   │   │           ├── stat_unix.go
    │   │   │           ├── stat_windows.go
    │   │   │           ├── utimes_unix.go
    │   │   │           ├── utimes_unsupported.go
    │   │   │           ├── xattrs.go
    │   │   │           ├── xattrs_linux.go
    │   │   │           └── xattrs_unsupported.go
    │   │   ├── docker-credential-helpers/
    │   │   │   ├── LICENSE
    │   │   │   ├── client/
    │   │   │   │   ├── client.go
    │   │   │   │   └── command.go
    │   │   │   └── credentials/
    │   │   │       ├── credentials.go
    │   │   │       ├── error.go
    │   │   │       ├── helper.go
    │   │   │       └── version.go
    │   │   ├── go-connections/
    │   │   │   ├── LICENSE
    │   │   │   ├── nat/
    │   │   │   │   ├── nat.go
    │   │   │   │   ├── parse.go
    │   │   │   │   └── sort.go
    │   │   │   ├── sockets/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── inmem_socket.go
    │   │   │   │   ├── proxy.go
    │   │   │   │   ├── sockets.go
    │   │   │   │   ├── sockets_unix.go
    │   │   │   │   ├── sockets_windows.go
    │   │   │   │   ├── tcp_socket.go
    │   │   │   │   └── unix_socket.go
    │   │   │   └── tlsconfig/
    │   │   │       ├── certpool_go17.go
    │   │   │       ├── certpool_other.go
    │   │   │       ├── config.go
    │   │   │       ├── config_client_ciphers.go
    │   │   │       └── config_legacy_client_ciphers.go
    │   │   └── go-units/
    │   │       ├── CONTRIBUTING.md
    │   │       ├── LICENSE
    │   │       ├── MAINTAINERS
    │   │       ├── README.md
    │   │       ├── circle.yml
    │   │       ├── duration.go
    │   │       ├── size.go
    │   │       └── ulimit.go
    │   ├── dsnet/
    │   │   └── compress/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE.md
    │   │       ├── README.md
    │   │       ├── api.go
    │   │       ├── bzip2/
    │   │       │   ├── bwt.go
    │   │       │   ├── common.go
    │   │       │   ├── fuzz_off.go
    │   │       │   ├── fuzz_on.go
    │   │       │   ├── internal/
    │   │       │   │   └── sais/
    │   │       │   │       ├── common.go
    │   │       │   │       ├── sais_byte.go
    │   │       │   │       └── sais_int.go
    │   │       │   ├── mtf_rle2.go
    │   │       │   ├── prefix.go
    │   │       │   ├── reader.go
    │   │       │   ├── rle1.go
    │   │       │   └── writer.go
    │   │       ├── internal/
    │   │       │   ├── common.go
    │   │       │   ├── debug.go
    │   │       │   ├── errors/
    │   │       │   │   └── errors.go
    │   │       │   ├── gofuzz.go
    │   │       │   ├── prefix/
    │   │       │   │   ├── debug.go
    │   │       │   │   ├── decoder.go
    │   │       │   │   ├── encoder.go
    │   │       │   │   ├── prefix.go
    │   │       │   │   ├── range.go
    │   │       │   │   ├── reader.go
    │   │       │   │   ├── wrap.go
    │   │       │   │   └── writer.go
    │   │       │   └── release.go
    │   │       ├── zbench.sh
    │   │       ├── zfuzz.sh
    │   │       ├── zprof.sh
    │   │       └── ztest.sh
    │   ├── dustin/
    │   │   └── go-humanize/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.markdown
    │   │       ├── big.go
    │   │       ├── bigbytes.go
    │   │       ├── bytes.go
    │   │       ├── comma.go
    │   │       ├── commaf.go
    │   │       ├── ftoa.go
    │   │       ├── humanize.go
    │   │       ├── number.go
    │   │       ├── ordinals.go
    │   │       ├── si.go
    │   │       └── times.go
    │   ├── emicklei/
    │   │   └── go-restful/
    │   │       └── v3/
    │   │           ├── .gitignore
    │   │           ├── .goconvey
    │   │           ├── .travis.yml
    │   │           ├── CHANGES.md
    │   │           ├── LICENSE
    │   │           ├── Makefile
    │   │           ├── README.md
    │   │           ├── SECURITY.md
    │   │           ├── Srcfile
    │   │           ├── bench_test.sh
    │   │           ├── compress.go
    │   │           ├── compressor_cache.go
    │   │           ├── compressor_pools.go
    │   │           ├── compressors.go
    │   │           ├── constants.go
    │   │           ├── container.go
    │   │           ├── cors_filter.go
    │   │           ├── coverage.sh
    │   │           ├── curly.go
    │   │           ├── curly_route.go
    │   │           ├── custom_verb.go
    │   │           ├── doc.go
    │   │           ├── entity_accessors.go
    │   │           ├── extensions.go
    │   │           ├── filter.go
    │   │           ├── filter_adapter.go
    │   │           ├── json.go
    │   │           ├── jsoniter.go
    │   │           ├── jsr311.go
    │   │           ├── log/
    │   │           │   └── log.go
    │   │           ├── logger.go
    │   │           ├── mime.go
    │   │           ├── options_filter.go
    │   │           ├── parameter.go
    │   │           ├── path_expression.go
    │   │           ├── path_processor.go
    │   │           ├── request.go
    │   │           ├── response.go
    │   │           ├── route.go
    │   │           ├── route_builder.go
    │   │           ├── route_reader.go
    │   │           ├── router.go
    │   │           ├── service_error.go
    │   │           ├── web_service.go
    │   │           └── web_service_container.go
    │   ├── evanphx/
    │   │   └── json-patch/
    │   │       ├── .gitignore
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── errors.go
    │   │       ├── merge.go
    │   │       └── patch.go
    │   ├── fatih/
    │   │   └── color/
    │   │       ├── LICENSE.md
    │   │       ├── README.md
    │   │       ├── color.go
    │   │       └── doc.go
    │   ├── felixge/
    │   │   └── httpsnoop/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE.txt
    │   │       ├── Makefile
    │   │       ├── README.md
    │   │       ├── capture_metrics.go
    │   │       ├── docs.go
    │   │       ├── wrap_generated_gteq_1.8.go
    │   │       └── wrap_generated_lt_1.8.go
    │   ├── fsouza/
    │   │   └── go-dockerclient/
    │   │       ├── .gitattributes
    │   │       ├── .gitignore
    │   │       ├── .golangci.yaml
    │   │       ├── DOCKER-LICENSE
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── README.md
    │   │       ├── auth.go
    │   │       ├── change.go
    │   │       ├── client.go
    │   │       ├── client_unix.go
    │   │       ├── client_windows.go
    │   │       ├── container.go
    │   │       ├── container_archive.go
    │   │       ├── container_attach.go
    │   │       ├── container_changes.go
    │   │       ├── container_commit.go
    │   │       ├── container_copy.go
    │   │       ├── container_create.go
    │   │       ├── container_export.go
    │   │       ├── container_inspect.go
    │   │       ├── container_kill.go
    │   │       ├── container_list.go
    │   │       ├── container_logs.go
    │   │       ├── container_pause.go
    │   │       ├── container_prune.go
    │   │       ├── container_remove.go
    │   │       ├── container_rename.go
    │   │       ├── container_resize.go
    │   │       ├── container_restart.go
    │   │       ├── container_start.go
    │   │       ├── container_stats.go
    │   │       ├── container_stop.go
    │   │       ├── container_top.go
    │   │       ├── container_unpause.go
    │   │       ├── container_update.go
    │   │       ├── container_wait.go
    │   │       ├── distribution.go
    │   │       ├── env.go
    │   │       ├── event.go
    │   │       ├── exec.go
    │   │       ├── image.go
    │   │       ├── misc.go
    │   │       ├── network.go
    │   │       ├── plugin.go
    │   │       ├── registry_auth.go
    │   │       ├── signal.go
    │   │       ├── swarm.go
    │   │       ├── swarm_configs.go
    │   │       ├── swarm_node.go
    │   │       ├── swarm_secrets.go
    │   │       ├── swarm_service.go
    │   │       ├── swarm_task.go
    │   │       ├── system.go
    │   │       ├── tar.go
    │   │       ├── tls.go
    │   │       └── volume.go
    │   ├── getkin/
    │   │   └── kin-openapi/
    │   │       ├── LICENSE
    │   │       ├── openapi2/
    │   │       │   ├── doc.go
    │   │       │   ├── header.go
    │   │       │   ├── helpers.go
    │   │       │   ├── marsh.go
    │   │       │   ├── openapi2.go
    │   │       │   ├── operation.go
    │   │       │   ├── parameter.go
    │   │       │   ├── path_item.go
    │   │       │   ├── ref.go
    │   │       │   ├── refs.go
    │   │       │   ├── response.go
    │   │       │   ├── schema.go
    │   │       │   └── security_scheme.go
    │   │       ├── openapi2conv/
    │   │       │   ├── doc.go
    │   │       │   └── openapi2_conv.go
    │   │       └── openapi3/
    │   │           ├── callback.go
    │   │           ├── components.go
    │   │           ├── contact.go
    │   │           ├── content.go
    │   │           ├── discriminator.go
    │   │           ├── doc.go
    │   │           ├── encoding.go
    │   │           ├── errors.go
    │   │           ├── example.go
    │   │           ├── example_validation.go
    │   │           ├── extension.go
    │   │           ├── external_docs.go
    │   │           ├── header.go
    │   │           ├── helpers.go
    │   │           ├── info.go
    │   │           ├── internalize_refs.go
    │   │           ├── license.go
    │   │           ├── link.go
    │   │           ├── loader.go
    │   │           ├── loader_uri_reader.go
    │   │           ├── maplike.go
    │   │           ├── marsh.go
    │   │           ├── media_type.go
    │   │           ├── openapi3.go
    │   │           ├── operation.go
    │   │           ├── origin.go
    │   │           ├── parameter.go
    │   │           ├── path_item.go
    │   │           ├── paths.go
    │   │           ├── ref.go
    │   │           ├── refs.go
    │   │           ├── refs.tmpl
    │   │           ├── refs_test.tmpl
    │   │           ├── request_body.go
    │   │           ├── response.go
    │   │           ├── schema.go
    │   │           ├── schema_formats.go
    │   │           ├── schema_pattern.go
    │   │           ├── schema_validation_settings.go
    │   │           ├── security_requirements.go
    │   │           ├── security_scheme.go
    │   │           ├── serialization_method.go
    │   │           ├── server.go
    │   │           ├── stringmap.go
    │   │           ├── tag.go
    │   │           ├── validation_options.go
    │   │           ├── visited.go
    │   │           └── xml.go
    │   ├── ghodss/
    │   │   └── yaml/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── fields.go
    │   │       └── yaml.go
    │   ├── go-errors/
    │   │   └── errors/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE.MIT
    │   │       ├── README.md
    │   │       ├── error.go
    │   │       ├── error_1_13.go
    │   │       ├── error_backward.go
    │   │       ├── parse_panic.go
    │   │       └── stackframe.go
    │   ├── go-logr/
    │   │   ├── logr/
    │   │   │   ├── .golangci.yaml
    │   │   │   ├── CHANGELOG.md
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── discard.go
    │   │   │   ├── funcr/
    │   │   │   │   └── funcr.go
    │   │   │   └── logr.go
    │   │   └── stdr/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── stdr.go
    │   ├── go-openapi/
    │   │   ├── jsonpointer/
    │   │   │   ├── .editorconfig
    │   │   │   ├── .gitignore
    │   │   │   ├── .golangci.yml
    │   │   │   ├── CODE_OF_CONDUCT.md
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   └── pointer.go
    │   │   └── jsonreference/
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── CODE_OF_CONDUCT.md
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── internal/
    │   │       │   └── normalize_url.go
    │   │       └── reference.go
    │   ├── gobwas/
    │   │   └── glob/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── bench.sh
    │   │       ├── compiler/
    │   │       │   └── compiler.go
    │   │       ├── glob.go
    │   │       ├── match/
    │   │       │   ├── any.go
    │   │       │   ├── any_of.go
    │   │       │   ├── btree.go
    │   │       │   ├── contains.go
    │   │       │   ├── every_of.go
    │   │       │   ├── list.go
    │   │       │   ├── match.go
    │   │       │   ├── max.go
    │   │       │   ├── min.go
    │   │       │   ├── nothing.go
    │   │       │   ├── prefix.go
    │   │       │   ├── prefix_any.go
    │   │       │   ├── prefix_suffix.go
    │   │       │   ├── range.go
    │   │       │   ├── row.go
    │   │       │   ├── segments.go
    │   │       │   ├── single.go
    │   │       │   ├── suffix.go
    │   │       │   ├── suffix_any.go
    │   │       │   ├── super.go
    │   │       │   └── text.go
    │   │       ├── readme.md
    │   │       ├── syntax/
    │   │       │   ├── ast/
    │   │       │   │   ├── ast.go
    │   │       │   │   └── parser.go
    │   │       │   ├── lexer/
    │   │       │   │   ├── lexer.go
    │   │       │   │   └── token.go
    │   │       │   └── syntax.go
    │   │       └── util/
    │   │           ├── runes/
    │   │           │   └── runes.go
    │   │           └── strings/
    │   │               └── strings.go
    │   ├── gocolly/
    │   │   └── colly/
    │   │       └── v2/
    │   │           ├── .codecov.yml
    │   │           ├── .travis.yml
    │   │           ├── CHANGELOG.md
    │   │           ├── CONTRIBUTING.md
    │   │           ├── LICENSE.txt
    │   │           ├── README.md
    │   │           ├── VERSION
    │   │           ├── colly.go
    │   │           ├── context.go
    │   │           ├── debug/
    │   │           │   ├── debug.go
    │   │           │   ├── logdebugger.go
    │   │           │   └── webdebugger.go
    │   │           ├── htmlelement.go
    │   │           ├── http_backend.go
    │   │           ├── http_trace.go
    │   │           ├── request.go
    │   │           ├── response.go
    │   │           ├── storage/
    │   │           │   └── storage.go
    │   │           ├── unmarshal.go
    │   │           └── xmlelement.go
    │   ├── gogo/
    │   │   └── protobuf/
    │   │       ├── AUTHORS
    │   │       ├── CONTRIBUTORS
    │   │       ├── LICENSE
    │   │       ├── proto/
    │   │       │   ├── Makefile
    │   │       │   ├── clone.go
    │   │       │   ├── custom_gogo.go
    │   │       │   ├── decode.go
    │   │       │   ├── deprecated.go
    │   │       │   ├── discard.go
    │   │       │   ├── duration.go
    │   │       │   ├── duration_gogo.go
    │   │       │   ├── encode.go
    │   │       │   ├── encode_gogo.go
    │   │       │   ├── equal.go
    │   │       │   ├── extensions.go
    │   │       │   ├── extensions_gogo.go
    │   │       │   ├── lib.go
    │   │       │   ├── lib_gogo.go
    │   │       │   ├── message_set.go
    │   │       │   ├── pointer_reflect.go
    │   │       │   ├── pointer_reflect_gogo.go
    │   │       │   ├── pointer_unsafe.go
    │   │       │   ├── pointer_unsafe_gogo.go
    │   │       │   ├── properties.go
    │   │       │   ├── properties_gogo.go
    │   │       │   ├── skip_gogo.go
    │   │       │   ├── table_marshal.go
    │   │       │   ├── table_marshal_gogo.go
    │   │       │   ├── table_merge.go
    │   │       │   ├── table_unmarshal.go
    │   │       │   ├── table_unmarshal_gogo.go
    │   │       │   ├── text.go
    │   │       │   ├── text_gogo.go
    │   │       │   ├── text_parser.go
    │   │       │   ├── timestamp.go
    │   │       │   ├── timestamp_gogo.go
    │   │       │   ├── wrappers.go
    │   │       │   └── wrappers_gogo.go
    │   │       └── sortkeys/
    │   │           └── sortkeys.go
    │   ├── golang/
    │   │   ├── groupcache/
    │   │   │   ├── LICENSE
    │   │   │   └── lru/
    │   │   │       └── lru.go
    │   │   └── protobuf/
    │   │       ├── AUTHORS
    │   │       ├── CONTRIBUTORS
    │   │       ├── LICENSE
    │   │       ├── proto/
    │   │       │   ├── buffer.go
    │   │       │   ├── defaults.go
    │   │       │   ├── deprecated.go
    │   │       │   ├── discard.go
    │   │       │   ├── extensions.go
    │   │       │   ├── properties.go
    │   │       │   ├── proto.go
    │   │       │   ├── registry.go
    │   │       │   ├── text_decode.go
    │   │       │   ├── text_encode.go
    │   │       │   ├── wire.go
    │   │       │   └── wrappers.go
    │   │       └── ptypes/
    │   │           ├── any/
    │   │           │   └── any.pb.go
    │   │           ├── any.go
    │   │           ├── doc.go
    │   │           ├── duration/
    │   │           │   └── duration.pb.go
    │   │           ├── duration.go
    │   │           ├── timestamp/
    │   │           │   └── timestamp.pb.go
    │   │           └── timestamp.go
    │   ├── google/
    │   │   ├── btree/
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   └── btree.go
    │   │   ├── gnostic/
    │   │   │   ├── LICENSE
    │   │   │   ├── compiler/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── context.go
    │   │   │   │   ├── error.go
    │   │   │   │   ├── extensions.go
    │   │   │   │   ├── helpers.go
    │   │   │   │   ├── main.go
    │   │   │   │   └── reader.go
    │   │   │   ├── extensions/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── extension.pb.go
    │   │   │   │   ├── extension.proto
    │   │   │   │   └── extensions.go
    │   │   │   ├── jsonschema/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── base.go
    │   │   │   │   ├── display.go
    │   │   │   │   ├── models.go
    │   │   │   │   ├── operations.go
    │   │   │   │   ├── reader.go
    │   │   │   │   ├── schema.json
    │   │   │   │   └── writer.go
    │   │   │   ├── openapiv2/
    │   │   │   │   ├── OpenAPIv2.go
    │   │   │   │   ├── OpenAPIv2.pb.go
    │   │   │   │   ├── OpenAPIv2.proto
    │   │   │   │   ├── README.md
    │   │   │   │   ├── document.go
    │   │   │   │   └── openapi-2.0.json
    │   │   │   └── openapiv3/
    │   │   │       ├── OpenAPIv3.go
    │   │   │       ├── OpenAPIv3.pb.go
    │   │   │       ├── OpenAPIv3.proto
    │   │   │       ├── README.md
    │   │   │       ├── document.go
    │   │   │       ├── openapi-3.0.json
    │   │   │       └── openapi-3.1.json
    │   │   ├── go-cmp/
    │   │   │   ├── LICENSE
    │   │   │   └── cmp/
    │   │   │       ├── compare.go
    │   │   │       ├── export.go
    │   │   │       ├── internal/
    │   │   │       │   ├── diff/
    │   │   │       │   │   ├── debug_disable.go
    │   │   │       │   │   ├── debug_enable.go
    │   │   │       │   │   └── diff.go
    │   │   │       │   ├── flags/
    │   │   │       │   │   └── flags.go
    │   │   │       │   ├── function/
    │   │   │       │   │   └── func.go
    │   │   │       │   └── value/
    │   │   │       │       ├── name.go
    │   │   │       │       ├── pointer.go
    │   │   │       │       └── sort.go
    │   │   │       ├── options.go
    │   │   │       ├── path.go
    │   │   │       ├── report.go
    │   │   │       ├── report_compare.go
    │   │   │       ├── report_references.go
    │   │   │       ├── report_reflect.go
    │   │   │       ├── report_slices.go
    │   │   │       ├── report_text.go
    │   │   │       └── report_value.go
    │   │   ├── go-containerregistry/
    │   │   │   ├── LICENSE
    │   │   │   ├── internal/
    │   │   │   │   ├── and/
    │   │   │   │   │   └── and_closer.go
    │   │   │   │   ├── compression/
    │   │   │   │   │   └── compression.go
    │   │   │   │   ├── estargz/
    │   │   │   │   │   └── estargz.go
    │   │   │   │   ├── gzip/
    │   │   │   │   │   └── zip.go
    │   │   │   │   ├── httptest/
    │   │   │   │   │   └── httptest.go
    │   │   │   │   ├── redact/
    │   │   │   │   │   └── redact.go
    │   │   │   │   ├── retry/
    │   │   │   │   │   ├── retry.go
    │   │   │   │   │   └── wait/
    │   │   │   │   │       └── kubernetes_apimachinery_wait.go
    │   │   │   │   ├── verify/
    │   │   │   │   │   └── verify.go
    │   │   │   │   ├── windows/
    │   │   │   │   │   └── windows.go
    │   │   │   │   └── zstd/
    │   │   │   │       └── zstd.go
    │   │   │   └── pkg/
    │   │   │       ├── authn/
    │   │   │       │   ├── README.md
    │   │   │       │   ├── anon.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── authn.go
    │   │   │       │   ├── basic.go
    │   │   │       │   ├── bearer.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── keychain.go
    │   │   │       │   └── multikeychain.go
    │   │   │       ├── compression/
    │   │   │       │   └── compression.go
    │   │   │       ├── crane/
    │   │   │       │   ├── append.go
    │   │   │       │   ├── catalog.go
    │   │   │       │   ├── config.go
    │   │   │       │   ├── copy.go
    │   │   │       │   ├── delete.go
    │   │   │       │   ├── digest.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── export.go
    │   │   │       │   ├── filemap.go
    │   │   │       │   ├── get.go
    │   │   │       │   ├── list.go
    │   │   │       │   ├── manifest.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── pull.go
    │   │   │       │   ├── push.go
    │   │   │       │   └── tag.go
    │   │   │       ├── legacy/
    │   │   │       │   ├── config.go
    │   │   │       │   ├── doc.go
    │   │   │       │   └── tarball/
    │   │   │       │       ├── README.md
    │   │   │       │       ├── doc.go
    │   │   │       │       └── write.go
    │   │   │       ├── logs/
    │   │   │       │   └── logs.go
    │   │   │       ├── name/
    │   │   │       │   ├── README.md
    │   │   │       │   ├── check.go
    │   │   │       │   ├── digest.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── errors.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── ref.go
    │   │   │       │   ├── registry.go
    │   │   │       │   ├── repository.go
    │   │   │       │   └── tag.go
    │   │   │       ├── registry/
    │   │   │       │   ├── README.md
    │   │   │       │   ├── blobs.go
    │   │   │       │   ├── blobs_disk.go
    │   │   │       │   ├── error.go
    │   │   │       │   ├── manifest.go
    │   │   │       │   ├── registry.go
    │   │   │       │   └── tls.go
    │   │   │       └── v1/
    │   │   │           ├── config.go
    │   │   │           ├── daemon/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── options.go
    │   │   │           │   └── write.go
    │   │   │           ├── doc.go
    │   │   │           ├── empty/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── image.go
    │   │   │           │   └── index.go
    │   │   │           ├── hash.go
    │   │   │           ├── image.go
    │   │   │           ├── index.go
    │   │   │           ├── layer.go
    │   │   │           ├── layout/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── blob.go
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── gc.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── index.go
    │   │   │           │   ├── layoutpath.go
    │   │   │           │   ├── options.go
    │   │   │           │   ├── read.go
    │   │   │           │   └── write.go
    │   │   │           ├── manifest.go
    │   │   │           ├── match/
    │   │   │           │   └── match.go
    │   │   │           ├── mutate/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── index.go
    │   │   │           │   ├── mutate.go
    │   │   │           │   └── rebase.go
    │   │   │           ├── partial/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── compressed.go
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── index.go
    │   │   │           │   ├── uncompressed.go
    │   │   │           │   └── with.go
    │   │   │           ├── platform.go
    │   │   │           ├── progress.go
    │   │   │           ├── remote/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── catalog.go
    │   │   │           │   ├── check.go
    │   │   │           │   ├── delete.go
    │   │   │           │   ├── descriptor.go
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── fetcher.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── index.go
    │   │   │           │   ├── layer.go
    │   │   │           │   ├── list.go
    │   │   │           │   ├── mount.go
    │   │   │           │   ├── multi_write.go
    │   │   │           │   ├── options.go
    │   │   │           │   ├── progress.go
    │   │   │           │   ├── puller.go
    │   │   │           │   ├── pusher.go
    │   │   │           │   ├── referrers.go
    │   │   │           │   ├── schema1.go
    │   │   │           │   ├── transport/
    │   │   │           │   │   ├── README.md
    │   │   │           │   │   ├── basic.go
    │   │   │           │   │   ├── bearer.go
    │   │   │           │   │   ├── doc.go
    │   │   │           │   │   ├── error.go
    │   │   │           │   │   ├── logger.go
    │   │   │           │   │   ├── ping.go
    │   │   │           │   │   ├── retry.go
    │   │   │           │   │   ├── schemer.go
    │   │   │           │   │   ├── scope.go
    │   │   │           │   │   ├── transport.go
    │   │   │           │   │   └── useragent.go
    │   │   │           │   └── write.go
    │   │   │           ├── stream/
    │   │   │           │   ├── README.md
    │   │   │           │   └── layer.go
    │   │   │           ├── tarball/
    │   │   │           │   ├── README.md
    │   │   │           │   ├── doc.go
    │   │   │           │   ├── image.go
    │   │   │           │   ├── layer.go
    │   │   │           │   └── write.go
    │   │   │           ├── types/
    │   │   │           │   └── types.go
    │   │   │           └── zz_deepcopy_generated.go
    │   │   ├── gofuzz/
    │   │   │   ├── .travis.yml
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── bytesource/
    │   │   │   │   └── bytesource.go
    │   │   │   ├── doc.go
    │   │   │   └── fuzz.go
    │   │   ├── shlex/
    │   │   │   ├── COPYING
    │   │   │   ├── README
    │   │   │   └── shlex.go
    │   │   └── uuid/
    │   │       ├── .travis.yml
    │   │       ├── CONTRIBUTING.md
    │   │       ├── CONTRIBUTORS
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── dce.go
    │   │       ├── doc.go
    │   │       ├── hash.go
    │   │       ├── marshal.go
    │   │       ├── node.go
    │   │       ├── node_js.go
    │   │       ├── node_net.go
    │   │       ├── null.go
    │   │       ├── sql.go
    │   │       ├── time.go
    │   │       ├── util.go
    │   │       ├── uuid.go
    │   │       ├── version1.go
    │   │       └── version4.go
    │   ├── gorilla/
    │   │   └── websocket/
    │   │       ├── .gitignore
    │   │       ├── AUTHORS
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── client.go
    │   │       ├── client_clone.go
    │   │       ├── client_clone_legacy.go
    │   │       ├── compression.go
    │   │       ├── conn.go
    │   │       ├── conn_write.go
    │   │       ├── conn_write_legacy.go
    │   │       ├── doc.go
    │   │       ├── join.go
    │   │       ├── json.go
    │   │       ├── mask.go
    │   │       ├── mask_safe.go
    │   │       ├── prepared.go
    │   │       ├── proxy.go
    │   │       ├── server.go
    │   │       ├── trace.go
    │   │       ├── trace_17.go
    │   │       ├── util.go
    │   │       └── x_net_proxy.go
    │   ├── gregjones/
    │   │   └── httpcache/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE.txt
    │   │       ├── README.md
    │   │       └── httpcache.go
    │   ├── imdario/
    │   │   └── mergo/
    │   │       ├── .deepsource.toml
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── CODE_OF_CONDUCT.md
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── doc.go
    │   │       ├── map.go
    │   │       ├── merge.go
    │   │       └── mergo.go
    │   ├── inconshreveable/
    │   │   └── mousetrap/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── trap_others.go
    │   │       └── trap_windows.go
    │   ├── jedib0t/
    │   │   └── go-pretty/
    │   │       └── v6/
    │   │           ├── LICENSE
    │   │           ├── table/
    │   │           │   ├── README.md
    │   │           │   ├── config.go
    │   │           │   ├── render.go
    │   │           │   ├── render_csv.go
    │   │           │   ├── render_hint.go
    │   │           │   ├── render_html.go
    │   │           │   ├── render_init.go
    │   │           │   ├── render_markdown.go
    │   │           │   ├── render_tsv.go
    │   │           │   ├── sort.go
    │   │           │   ├── style.go
    │   │           │   ├── table.go
    │   │           │   ├── util.go
    │   │           │   └── writer.go
    │   │           └── text/
    │   │               ├── README.md
    │   │               ├── align.go
    │   │               ├── ansi.go
    │   │               ├── ansi_unix.go
    │   │               ├── ansi_windows.go
    │   │               ├── color.go
    │   │               ├── color_html.go
    │   │               ├── cursor.go
    │   │               ├── direction.go
    │   │               ├── escape.go
    │   │               ├── filter.go
    │   │               ├── format.go
    │   │               ├── hyperlink.go
    │   │               ├── string.go
    │   │               ├── transformer.go
    │   │               ├── valign.go
    │   │               └── wrap.go
    │   ├── josharian/
    │   │   └── intern/
    │   │       ├── README.md
    │   │       ├── intern.go
    │   │       └── license.md
    │   ├── kennygrant/
    │   │   └── sanitize/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── sanitize.go
    │   ├── klauspost/
    │   │   ├── compress/
    │   │   │   ├── .gitattributes
    │   │   │   ├── .gitignore
    │   │   │   ├── .goreleaser.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── SECURITY.md
    │   │   │   ├── compressible.go
    │   │   │   ├── flate/
    │   │   │   │   ├── deflate.go
    │   │   │   │   ├── dict_decoder.go
    │   │   │   │   ├── fast_encoder.go
    │   │   │   │   ├── huffman_bit_writer.go
    │   │   │   │   ├── huffman_code.go
    │   │   │   │   ├── huffman_sortByFreq.go
    │   │   │   │   ├── huffman_sortByLiteral.go
    │   │   │   │   ├── inflate.go
    │   │   │   │   ├── inflate_gen.go
    │   │   │   │   ├── level1.go
    │   │   │   │   ├── level2.go
    │   │   │   │   ├── level3.go
    │   │   │   │   ├── level4.go
    │   │   │   │   ├── level5.go
    │   │   │   │   ├── level6.go
    │   │   │   │   ├── matchlen_amd64.go
    │   │   │   │   ├── matchlen_amd64.s
    │   │   │   │   ├── matchlen_generic.go
    │   │   │   │   ├── regmask_amd64.go
    │   │   │   │   ├── regmask_other.go
    │   │   │   │   ├── stateless.go
    │   │   │   │   └── token.go
    │   │   │   ├── fse/
    │   │   │   │   ├── README.md
    │   │   │   │   ├── bitreader.go
    │   │   │   │   ├── bitwriter.go
    │   │   │   │   ├── bytereader.go
    │   │   │   │   ├── compress.go
    │   │   │   │   ├── decompress.go
    │   │   │   │   └── fse.go
    │   │   │   ├── gen.sh
    │   │   │   ├── huff0/
    │   │   │   │   ├── .gitignore
    │   │   │   │   ├── README.md
    │   │   │   │   ├── bitreader.go
    │   │   │   │   ├── bitwriter.go
    │   │   │   │   ├── bytereader.go
    │   │   │   │   ├── compress.go
    │   │   │   │   ├── decompress.go
    │   │   │   │   ├── decompress_amd64.go
    │   │   │   │   ├── decompress_amd64.s
    │   │   │   │   ├── decompress_generic.go
    │   │   │   │   └── huff0.go
    │   │   │   ├── internal/
    │   │   │   │   ├── cpuinfo/
    │   │   │   │   │   ├── cpuinfo.go
    │   │   │   │   │   ├── cpuinfo_amd64.go
    │   │   │   │   │   └── cpuinfo_amd64.s
    │   │   │   │   └── snapref/
    │   │   │   │       ├── LICENSE
    │   │   │   │       ├── decode.go
    │   │   │   │       ├── decode_other.go
    │   │   │   │       ├── encode.go
    │   │   │   │       ├── encode_other.go
    │   │   │   │       └── snappy.go
    │   │   │   ├── s2sx.mod
    │   │   │   ├── s2sx.sum
    │   │   │   └── zstd/
    │   │   │       ├── README.md
    │   │   │       ├── bitreader.go
    │   │   │       ├── bitwriter.go
    │   │   │       ├── blockdec.go
    │   │   │       ├── blockenc.go
    │   │   │       ├── blocktype_string.go
    │   │   │       ├── bytebuf.go
    │   │   │       ├── bytereader.go
    │   │   │       ├── decodeheader.go
    │   │   │       ├── decoder.go
    │   │   │       ├── decoder_options.go
    │   │   │       ├── dict.go
    │   │   │       ├── enc_base.go
    │   │   │       ├── enc_best.go
    │   │   │       ├── enc_better.go
    │   │   │       ├── enc_dfast.go
    │   │   │       ├── enc_fast.go
    │   │   │       ├── encoder.go
    │   │   │       ├── encoder_options.go
    │   │   │       ├── framedec.go
    │   │   │       ├── frameenc.go
    │   │   │       ├── fse_decoder.go
    │   │   │       ├── fse_decoder_amd64.go
    │   │   │       ├── fse_decoder_amd64.s
    │   │   │       ├── fse_decoder_generic.go
    │   │   │       ├── fse_encoder.go
    │   │   │       ├── fse_predefined.go
    │   │   │       ├── hash.go
    │   │   │       ├── history.go
    │   │   │       ├── internal/
    │   │   │       │   └── xxhash/
    │   │   │       │       ├── LICENSE.txt
    │   │   │       │       ├── README.md
    │   │   │       │       ├── xxhash.go
    │   │   │       │       ├── xxhash_amd64.s
    │   │   │       │       ├── xxhash_arm64.s
    │   │   │       │       ├── xxhash_asm.go
    │   │   │       │       ├── xxhash_other.go
    │   │   │       │       └── xxhash_safe.go
    │   │   │       ├── matchlen_amd64.go
    │   │   │       ├── matchlen_amd64.s
    │   │   │       ├── matchlen_generic.go
    │   │   │       ├── seqdec.go
    │   │   │       ├── seqdec_amd64.go
    │   │   │       ├── seqdec_amd64.s
    │   │   │       ├── seqdec_generic.go
    │   │   │       ├── seqenc.go
    │   │   │       ├── snappy.go
    │   │   │       ├── zip.go
    │   │   │       └── zstd.go
    │   │   └── pgzip/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── GO_LICENSE
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── gunzip.go
    │   │       └── gzip.go
    │   ├── liggitt/
    │   │   └── tabwriter/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── tabwriter.go
    │   ├── mailru/
    │   │   └── easyjson/
    │   │       ├── LICENSE
    │   │       ├── buffer/
    │   │       │   └── pool.go
    │   │       ├── jlexer/
    │   │       │   ├── bytestostr.go
    │   │       │   ├── bytestostr_nounsafe.go
    │   │       │   ├── error.go
    │   │       │   └── lexer.go
    │   │       └── jwriter/
    │   │           └── writer.go
    │   ├── mattn/
    │   │   ├── go-colorable/
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── colorable_appengine.go
    │   │   │   ├── colorable_others.go
    │   │   │   ├── colorable_windows.go
    │   │   │   ├── go.test.sh
    │   │   │   └── noncolorable.go
    │   │   ├── go-isatty/
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── doc.go
    │   │   │   ├── go.test.sh
    │   │   │   ├── isatty_bsd.go
    │   │   │   ├── isatty_others.go
    │   │   │   ├── isatty_plan9.go
    │   │   │   ├── isatty_solaris.go
    │   │   │   ├── isatty_tcgets.go
    │   │   │   └── isatty_windows.go
    │   │   ├── go-runewidth/
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── go.test.sh
    │   │   │   ├── runewidth.go
    │   │   │   ├── runewidth_appengine.go
    │   │   │   ├── runewidth_js.go
    │   │   │   ├── runewidth_posix.go
    │   │   │   ├── runewidth_table.go
    │   │   │   └── runewidth_windows.go
    │   │   ├── go-shellwords/
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── go.test.sh
    │   │   │   ├── shellwords.go
    │   │   │   ├── util_posix.go
    │   │   │   └── util_windows.go
    │   │   └── go-tty/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── tty.go
    │   │       ├── tty_bsd.go
    │   │       ├── tty_linux.go
    │   │       ├── tty_plan9.go
    │   │       ├── tty_sys5.go
    │   │       ├── tty_unix.go
    │   │       └── tty_windows.go
    │   ├── mitchellh/
    │   │   ├── go-homedir/
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   └── homedir.go
    │   │   └── mapstructure/
    │   │       ├── CHANGELOG.md
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── decode_hooks.go
    │   │       ├── error.go
    │   │       └── mapstructure.go
    │   ├── moby/
    │   │   ├── patternmatcher/
    │   │   │   ├── LICENSE
    │   │   │   ├── NOTICE
    │   │   │   └── patternmatcher.go
    │   │   ├── spdystream/
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE
    │   │   │   ├── MAINTAINERS
    │   │   │   ├── NOTICE
    │   │   │   ├── README.md
    │   │   │   ├── connection.go
    │   │   │   ├── handlers.go
    │   │   │   ├── priority.go
    │   │   │   ├── spdy/
    │   │   │   │   ├── dictionary.go
    │   │   │   │   ├── read.go
    │   │   │   │   ├── types.go
    │   │   │   │   └── write.go
    │   │   │   ├── stream.go
    │   │   │   └── utils.go
    │   │   └── sys/
    │   │       ├── sequential/
    │   │       │   ├── LICENSE
    │   │       │   ├── doc.go
    │   │       │   ├── sequential_unix.go
    │   │       │   └── sequential_windows.go
    │   │       └── user/
    │   │           ├── LICENSE
    │   │           ├── lookup_unix.go
    │   │           ├── user.go
    │   │           └── user_fuzzer.go
    │   ├── modern-go/
    │   │   └── concurrent/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── executor.go
    │   │       ├── go_above_19.go
    │   │       ├── go_below_19.go
    │   │       ├── log.go
    │   │       ├── test.sh
    │   │       └── unbounded_executor.go
    │   ├── mohae/
    │   │   └── deepcopy/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── deepcopy.go
    │   ├── monochromegane/
    │   │   └── go-gitignore/
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── depth_holder.go
    │   │       ├── full_scan_patterns.go
    │   │       ├── gitignore.go
    │   │       ├── index_scan_patterns.go
    │   │       ├── initial_holder.go
    │   │       ├── match.go
    │   │       ├── pattern.go
    │   │       ├── patterns.go
    │   │       └── util.go
    │   ├── morikuni/
    │   │   └── aec/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── aec.go
    │   │       ├── ansi.go
    │   │       ├── builder.go
    │   │       └── sgr.go
    │   ├── munnerz/
    │   │   └── goautoneg/
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── README.txt
    │   │       └── autoneg.go
    │   ├── oasdiff/
    │   │   ├── yaml/
    │   │   │   ├── .gitignore
    │   │   │   ├── .golangci.toml
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── fields.go
    │   │   │   └── yaml.go
    │   │   └── yaml3/
    │   │       ├── LICENSE
    │   │       ├── NOTICE
    │   │       ├── README.md
    │   │       ├── apic.go
    │   │       ├── decode.go
    │   │       ├── emitterc.go
    │   │       ├── encode.go
    │   │       ├── origin.go
    │   │       ├── parserc.go
    │   │       ├── readerc.go
    │   │       ├── resolve.go
    │   │       ├── scannerc.go
    │   │       ├── sorter.go
    │   │       ├── writerc.go
    │   │       ├── yaml.go
    │   │       ├── yamlh.go
    │   │       └── yamlprivateh.go
    │   ├── opencontainers/
    │   │   ├── go-digest/
    │   │   │   ├── .mailmap
    │   │   │   ├── .pullapprove.yml
    │   │   │   ├── .travis.yml
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE
    │   │   │   ├── LICENSE.docs
    │   │   │   ├── MAINTAINERS
    │   │   │   ├── README.md
    │   │   │   ├── algorithm.go
    │   │   │   ├── digest.go
    │   │   │   ├── digester.go
    │   │   │   ├── doc.go
    │   │   │   └── verifiers.go
    │   │   └── image-spec/
    │   │       ├── LICENSE
    │   │       └── specs-go/
    │   │           ├── v1/
    │   │           │   ├── annotations.go
    │   │           │   ├── config.go
    │   │           │   ├── descriptor.go
    │   │           │   ├── index.go
    │   │           │   ├── layout.go
    │   │           │   ├── manifest.go
    │   │           │   └── mediatype.go
    │   │           ├── version.go
    │   │           └── versioned.go
    │   ├── perimeterx/
    │   │   └── marshmallow/
    │   │       ├── .gitignore
    │   │       ├── CHANGELOG.md
    │   │       ├── CODE_OF_CONDUCT.md
    │   │       ├── CONTRIBUTING.md
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── cache.go
    │   │       ├── doc.go
    │   │       ├── errors.go
    │   │       ├── options.go
    │   │       ├── reflection.go
    │   │       ├── unmarshal.go
    │   │       └── unmarshal_from_json_map.go
    │   ├── peterbourgon/
    │   │   └── diskv/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── compression.go
    │   │       ├── diskv.go
    │   │       └── index.go
    │   ├── pkg/
    │   │   ├── errors/
    │   │   │   ├── .gitignore
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── Makefile
    │   │   │   ├── README.md
    │   │   │   ├── appveyor.yml
    │   │   │   ├── errors.go
    │   │   │   ├── go113.go
    │   │   │   └── stack.go
    │   │   └── term/
    │   │       ├── LICENSE
    │   │       └── termios/
    │   │           ├── doc.go
    │   │           ├── ioctl.go
    │   │           ├── ioctl_darwin.go
    │   │           ├── ioctl_solaris.go
    │   │           ├── pty.go
    │   │           ├── pty_bsd.go
    │   │           ├── pty_darwin.go
    │   │           ├── pty_freebsd.go
    │   │           ├── pty_linux.go
    │   │           ├── pty_netbsd.go
    │   │           ├── pty_solaris.go
    │   │           ├── termios.go
    │   │           ├── termios_bsd.go
    │   │           ├── termios_const.go
    │   │           ├── termios_const_solaris.go
    │   │           ├── termios_linux.go
    │   │           ├── termios_solaris.go
    │   │           └── termios_windows.go
    │   ├── pmezard/
    │   │   └── go-difflib/
    │   │       ├── LICENSE
    │   │       └── difflib/
    │   │           └── difflib.go
    │   ├── rivo/
    │   │   └── uniseg/
    │   │       ├── LICENSE.txt
    │   │       ├── README.md
    │   │       ├── doc.go
    │   │       ├── grapheme.go
    │   │       └── properties.go
    │   ├── russross/
    │   │   └── blackfriday/
    │   │       └── v2/
    │   │           ├── .gitignore
    │   │           ├── .travis.yml
    │   │           ├── LICENSE.txt
    │   │           ├── README.md
    │   │           ├── block.go
    │   │           ├── doc.go
    │   │           ├── entities.go
    │   │           ├── esc.go
    │   │           ├── html.go
    │   │           ├── inline.go
    │   │           ├── markdown.go
    │   │           ├── node.go
    │   │           └── smartypants.go
    │   ├── saintfish/
    │   │   └── chardet/
    │   │       ├── 2022.go
    │   │       ├── AUTHORS
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── detector.go
    │   │       ├── icu-license.html
    │   │       ├── multi_byte.go
    │   │       ├── recognizer.go
    │   │       ├── single_byte.go
    │   │       ├── unicode.go
    │   │       └── utf8.go
    │   ├── slimtoolkit/
    │   │   ├── go-update/
    │   │   │   ├── .gitignore
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── apply.go
    │   │   │   ├── doc.go
    │   │   │   ├── hide_noop.go
    │   │   │   ├── hide_windows.go
    │   │   │   ├── internal/
    │   │   │   │   ├── binarydist/
    │   │   │   │   │   ├── License
    │   │   │   │   │   ├── Readme.md
    │   │   │   │   │   ├── bzip2.go
    │   │   │   │   │   ├── diff.go
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── encoding.go
    │   │   │   │   │   ├── patch.go
    │   │   │   │   │   └── seek.go
    │   │   │   │   └── osext/
    │   │   │   │       ├── LICENSE
    │   │   │   │       ├── README.md
    │   │   │   │       ├── osext.go
    │   │   │   │       ├── osext_plan9.go
    │   │   │   │       ├── osext_procfs.go
    │   │   │   │       ├── osext_sysctl.go
    │   │   │   │       └── osext_windows.go
    │   │   │   ├── patcher.go
    │   │   │   └── verifier.go
    │   │   ├── uilive/
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE
    │   │   │   ├── Makefile
    │   │   │   ├── README.md
    │   │   │   ├── doc.go
    │   │   │   ├── terminal_size.go
    │   │   │   ├── writer.go
    │   │   │   ├── writer_posix.go
    │   │   │   └── writer_windows.go
    │   │   └── uiprogress/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── README.md
    │   │       ├── bar.go
    │   │       ├── doc.go
    │   │       ├── progress.go
    │   │       └── util/
    │   │           └── strutil/
    │   │               └── strutil.go
    │   ├── spf13/
    │   │   ├── cobra/
    │   │   │   ├── .gitignore
    │   │   │   ├── .golangci.yml
    │   │   │   ├── .mailmap
    │   │   │   ├── CONDUCT.md
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE.txt
    │   │   │   ├── MAINTAINERS
    │   │   │   ├── Makefile
    │   │   │   ├── README.md
    │   │   │   ├── active_help.go
    │   │   │   ├── active_help.md
    │   │   │   ├── args.go
    │   │   │   ├── bash_completions.go
    │   │   │   ├── bash_completions.md
    │   │   │   ├── bash_completionsV2.go
    │   │   │   ├── cobra.go
    │   │   │   ├── command.go
    │   │   │   ├── command_notwin.go
    │   │   │   ├── command_win.go
    │   │   │   ├── completions.go
    │   │   │   ├── fish_completions.go
    │   │   │   ├── fish_completions.md
    │   │   │   ├── flag_groups.go
    │   │   │   ├── powershell_completions.go
    │   │   │   ├── powershell_completions.md
    │   │   │   ├── projects_using_cobra.md
    │   │   │   ├── shell_completions.go
    │   │   │   ├── shell_completions.md
    │   │   │   ├── user_guide.md
    │   │   │   ├── zsh_completions.go
    │   │   │   └── zsh_completions.md
    │   │   └── pflag/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── bool.go
    │   │       ├── bool_slice.go
    │   │       ├── bytes.go
    │   │       ├── count.go
    │   │       ├── duration.go
    │   │       ├── duration_slice.go
    │   │       ├── flag.go
    │   │       ├── float32.go
    │   │       ├── float32_slice.go
    │   │       ├── float64.go
    │   │       ├── float64_slice.go
    │   │       ├── golangflag.go
    │   │       ├── int.go
    │   │       ├── int16.go
    │   │       ├── int32.go
    │   │       ├── int32_slice.go
    │   │       ├── int64.go
    │   │       ├── int64_slice.go
    │   │       ├── int8.go
    │   │       ├── int_slice.go
    │   │       ├── ip.go
    │   │       ├── ip_slice.go
    │   │       ├── ipmask.go
    │   │       ├── ipnet.go
    │   │       ├── string.go
    │   │       ├── string_array.go
    │   │       ├── string_slice.go
    │   │       ├── string_to_int.go
    │   │       ├── string_to_int64.go
    │   │       ├── string_to_string.go
    │   │       ├── uint.go
    │   │       ├── uint16.go
    │   │       ├── uint32.go
    │   │       ├── uint64.go
    │   │       ├── uint8.go
    │   │       └── uint_slice.go
    │   ├── stretchr/
    │   │   └── testify/
    │   │       ├── LICENSE
    │   │       ├── assert/
    │   │       │   ├── assertion_compare.go
    │   │       │   ├── assertion_format.go
    │   │       │   ├── assertion_format.go.tmpl
    │   │       │   ├── assertion_forward.go
    │   │       │   ├── assertion_forward.go.tmpl
    │   │       │   ├── assertion_order.go
    │   │       │   ├── assertions.go
    │   │       │   ├── doc.go
    │   │       │   ├── errors.go
    │   │       │   ├── forward_assertions.go
    │   │       │   └── http_assertions.go
    │   │       └── require/
    │   │           ├── doc.go
    │   │           ├── forward_requirements.go
    │   │           ├── require.go
    │   │           ├── require.go.tmpl
    │   │           ├── require_forward.go
    │   │           ├── require_forward.go.tmpl
    │   │           └── requirements.go
    │   ├── syndtr/
    │   │   └── gocapability/
    │   │       ├── LICENSE
    │   │       └── capability/
    │   │           ├── capability.go
    │   │           ├── capability_linux.go
    │   │           ├── capability_noop.go
    │   │           ├── enum.go
    │   │           ├── enum_gen.go
    │   │           └── syscall_linux.go
    │   ├── temoto/
    │   │   └── robotstxt/
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── .travis.yml
    │   │       ├── LICENSE
    │   │       ├── README.rst
    │   │       ├── codecov.yml
    │   │       ├── fuzz.go
    │   │       ├── parser.go
    │   │       ├── robotstxt.go
    │   │       └── scanner.go
    │   ├── ulikunitz/
    │   │   └── xz/
    │   │       ├── .gitignore
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── TODO.md
    │   │       ├── bits.go
    │   │       ├── crc.go
    │   │       ├── format.go
    │   │       ├── fox-check-none.xz
    │   │       ├── fox.xz
    │   │       ├── internal/
    │   │       │   ├── hash/
    │   │       │   │   ├── cyclic_poly.go
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── rabin_karp.go
    │   │       │   │   └── roller.go
    │   │       │   └── xlog/
    │   │       │       └── xlog.go
    │   │       ├── lzma/
    │   │       │   ├── bintree.go
    │   │       │   ├── bitops.go
    │   │       │   ├── breader.go
    │   │       │   ├── buffer.go
    │   │       │   ├── bytewriter.go
    │   │       │   ├── decoder.go
    │   │       │   ├── decoderdict.go
    │   │       │   ├── directcodec.go
    │   │       │   ├── distcodec.go
    │   │       │   ├── encoder.go
    │   │       │   ├── encoderdict.go
    │   │       │   ├── fox.lzma
    │   │       │   ├── hashtable.go
    │   │       │   ├── header.go
    │   │       │   ├── header2.go
    │   │       │   ├── lengthcodec.go
    │   │       │   ├── literalcodec.go
    │   │       │   ├── matchalgorithm.go
    │   │       │   ├── operation.go
    │   │       │   ├── prob.go
    │   │       │   ├── properties.go
    │   │       │   ├── rangecodec.go
    │   │       │   ├── reader.go
    │   │       │   ├── reader2.go
    │   │       │   ├── state.go
    │   │       │   ├── treecodecs.go
    │   │       │   ├── writer.go
    │   │       │   └── writer2.go
    │   │       ├── lzmafilter.go
    │   │       ├── make-docs
    │   │       ├── none-check.go
    │   │       ├── reader.go
    │   │       └── writer.go
    │   ├── ulyssessouza/
    │   │   └── godotenv/
    │   │       ├── .gitignore
    │   │       ├── LICENCE
    │   │       ├── README.md
    │   │       ├── godotenv.go
    │   │       └── renovate.json
    │   ├── vbatts/
    │   │   └── tar-split/
    │   │       ├── LICENSE
    │   │       └── archive/
    │   │           └── tar/
    │   │               ├── common.go
    │   │               ├── format.go
    │   │               ├── reader.go
    │   │               ├── stat_actime1.go
    │   │               ├── stat_actime2.go
    │   │               ├── stat_unix.go
    │   │               ├── strconv.go
    │   │               └── writer.go
    │   ├── xlab/
    │   │   └── treeprint/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── helpers.go
    │   │       ├── struct.go
    │   │       └── treeprint.go
    │   └── xrash/
    │       └── smetrics/
    │           ├── .travis.yml
    │           ├── LICENSE
    │           ├── README.md
    │           ├── doc.go
    │           ├── hamming.go
    │           ├── jaro-winkler.go
    │           ├── jaro.go
    │           ├── soundex.go
    │           ├── ukkonen.go
    │           └── wagner-fischer.go
    ├── go.opentelemetry.io/
    │   ├── contrib/
    │   │   └── instrumentation/
    │   │       └── net/
    │   │           └── http/
    │   │               └── otelhttp/
    │   │                   ├── LICENSE
    │   │                   ├── client.go
    │   │                   ├── common.go
    │   │                   ├── config.go
    │   │                   ├── doc.go
    │   │                   ├── handler.go
    │   │                   ├── internal/
    │   │                   │   └── semconvutil/
    │   │                   │       ├── gen.go
    │   │                   │       ├── httpconv.go
    │   │                   │       └── netconv.go
    │   │                   ├── labeler.go
    │   │                   ├── transport.go
    │   │                   ├── version.go
    │   │                   └── wrap.go
    │   └── otel/
    │       ├── .codespellignore
    │       ├── .codespellrc
    │       ├── .gitattributes
    │       ├── .gitignore
    │       ├── .gitmodules
    │       ├── .golangci.yml
    │       ├── .lycheeignore
    │       ├── .markdownlint.yaml
    │       ├── CHANGELOG.md
    │       ├── CODEOWNERS
    │       ├── CONTRIBUTING.md
    │       ├── LICENSE
    │       ├── Makefile
    │       ├── README.md
    │       ├── RELEASING.md
    │       ├── VERSIONING.md
    │       ├── attribute/
    │       │   ├── doc.go
    │       │   ├── encoder.go
    │       │   ├── filter.go
    │       │   ├── iterator.go
    │       │   ├── key.go
    │       │   ├── kv.go
    │       │   ├── set.go
    │       │   ├── type_string.go
    │       │   └── value.go
    │       ├── baggage/
    │       │   ├── baggage.go
    │       │   ├── context.go
    │       │   └── doc.go
    │       ├── codes/
    │       │   ├── codes.go
    │       │   └── doc.go
    │       ├── doc.go
    │       ├── error_handler.go
    │       ├── get_main_pkgs.sh
    │       ├── handler.go
    │       ├── internal/
    │       │   ├── attribute/
    │       │   │   └── attribute.go
    │       │   ├── baggage/
    │       │   │   ├── baggage.go
    │       │   │   └── context.go
    │       │   ├── gen.go
    │       │   ├── global/
    │       │   │   ├── handler.go
    │       │   │   ├── instruments.go
    │       │   │   ├── internal_logging.go
    │       │   │   ├── meter.go
    │       │   │   ├── propagator.go
    │       │   │   ├── state.go
    │       │   │   └── trace.go
    │       │   └── rawhelpers.go
    │       ├── internal_logging.go
    │       ├── metric/
    │       │   ├── LICENSE
    │       │   ├── asyncfloat64.go
    │       │   ├── asyncint64.go
    │       │   ├── config.go
    │       │   ├── doc.go
    │       │   ├── embedded/
    │       │   │   └── embedded.go
    │       │   ├── instrument.go
    │       │   ├── meter.go
    │       │   ├── syncfloat64.go
    │       │   └── syncint64.go
    │       ├── metric.go
    │       ├── propagation/
    │       │   ├── baggage.go
    │       │   ├── doc.go
    │       │   ├── propagation.go
    │       │   └── trace_context.go
    │       ├── propagation.go
    │       ├── requirements.txt
    │       ├── semconv/
    │       │   └── v1.17.0/
    │       │       ├── doc.go
    │       │       ├── event.go
    │       │       ├── exception.go
    │       │       ├── http.go
    │       │       ├── resource.go
    │       │       ├── schema.go
    │       │       └── trace.go
    │       ├── trace/
    │       │   ├── LICENSE
    │       │   ├── config.go
    │       │   ├── context.go
    │       │   ├── doc.go
    │       │   ├── nonrecording.go
    │       │   ├── noop.go
    │       │   ├── trace.go
    │       │   └── tracestate.go
    │       ├── trace.go
    │       ├── verify_examples.sh
    │       ├── version.go
    │       └── versions.yaml
    ├── go.starlark.net/
    │   ├── LICENSE
    │   ├── internal/
    │   │   ├── compile/
    │   │   │   ├── compile.go
    │   │   │   └── serial.go
    │   │   └── spell/
    │   │       └── spell.go
    │   ├── resolve/
    │   │   ├── binding.go
    │   │   └── resolve.go
    │   ├── starlark/
    │   │   ├── debug.go
    │   │   ├── empty.s
    │   │   ├── eval.go
    │   │   ├── hashtable.go
    │   │   ├── int.go
    │   │   ├── interp.go
    │   │   ├── library.go
    │   │   ├── profile.go
    │   │   ├── unpack.go
    │   │   └── value.go
    │   ├── starlarkstruct/
    │   │   ├── module.go
    │   │   └── struct.go
    │   └── syntax/
    │       ├── grammar.txt
    │       ├── parse.go
    │       ├── quote.go
    │       ├── scan.go
    │       ├── syntax.go
    │       └── walk.go
    ├── golang.org/
    │   └── x/
    │       ├── crypto/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   └── acme/
    │       │       ├── acme.go
    │       │       ├── autocert/
    │       │       │   ├── autocert.go
    │       │       │   ├── cache.go
    │       │       │   ├── listener.go
    │       │       │   └── renewal.go
    │       │       ├── http.go
    │       │       ├── jws.go
    │       │       ├── rfc8555.go
    │       │       └── types.go
    │       ├── mod/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   └── semver/
    │       │       └── semver.go
    │       ├── net/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   ├── context/
    │       │   │   └── context.go
    │       │   ├── html/
    │       │   │   ├── atom/
    │       │   │   │   ├── atom.go
    │       │   │   │   └── table.go
    │       │   │   ├── charset/
    │       │   │   │   └── charset.go
    │       │   │   ├── const.go
    │       │   │   ├── doc.go
    │       │   │   ├── doctype.go
    │       │   │   ├── entity.go
    │       │   │   ├── escape.go
    │       │   │   ├── foreign.go
    │       │   │   ├── iter.go
    │       │   │   ├── node.go
    │       │   │   ├── parse.go
    │       │   │   ├── render.go
    │       │   │   └── token.go
    │       │   ├── http/
    │       │   │   └── httpguts/
    │       │   │       ├── guts.go
    │       │   │       └── httplex.go
    │       │   ├── http2/
    │       │   │   ├── .gitignore
    │       │   │   ├── ascii.go
    │       │   │   ├── ciphers.go
    │       │   │   ├── client_conn_pool.go
    │       │   │   ├── config.go
    │       │   │   ├── config_go125.go
    │       │   │   ├── config_go126.go
    │       │   │   ├── databuffer.go
    │       │   │   ├── errors.go
    │       │   │   ├── flow.go
    │       │   │   ├── frame.go
    │       │   │   ├── gotrack.go
    │       │   │   ├── hpack/
    │       │   │   │   ├── encode.go
    │       │   │   │   ├── hpack.go
    │       │   │   │   ├── huffman.go
    │       │   │   │   ├── static_table.go
    │       │   │   │   └── tables.go
    │       │   │   ├── http2.go
    │       │   │   ├── pipe.go
    │       │   │   ├── server.go
    │       │   │   ├── transport.go
    │       │   │   ├── unencrypted.go
    │       │   │   ├── write.go
    │       │   │   ├── writesched.go
    │       │   │   ├── writesched_priority_rfc7540.go
    │       │   │   ├── writesched_priority_rfc9218.go
    │       │   │   ├── writesched_random.go
    │       │   │   └── writesched_roundrobin.go
    │       │   ├── idna/
    │       │   │   ├── go118.go
    │       │   │   ├── idna10.0.0.go
    │       │   │   ├── idna9.0.0.go
    │       │   │   ├── pre_go118.go
    │       │   │   ├── punycode.go
    │       │   │   ├── tables10.0.0.go
    │       │   │   ├── tables11.0.0.go
    │       │   │   ├── tables12.0.0.go
    │       │   │   ├── tables13.0.0.go
    │       │   │   ├── tables15.0.0.go
    │       │   │   ├── tables9.0.0.go
    │       │   │   ├── trie.go
    │       │   │   ├── trie12.0.0.go
    │       │   │   ├── trie13.0.0.go
    │       │   │   └── trieval.go
    │       │   ├── internal/
    │       │   │   ├── httpcommon/
    │       │   │   │   ├── ascii.go
    │       │   │   │   ├── headermap.go
    │       │   │   │   └── request.go
    │       │   │   └── socks/
    │       │   │       ├── client.go
    │       │   │       └── socks.go
    │       │   └── proxy/
    │       │       ├── dial.go
    │       │       ├── direct.go
    │       │       ├── per_host.go
    │       │       ├── proxy.go
    │       │       └── socks5.go
    │       ├── oauth2/
    │       │   ├── .travis.yml
    │       │   ├── CONTRIBUTING.md
    │       │   ├── LICENSE
    │       │   ├── README.md
    │       │   ├── internal/
    │       │   │   ├── client_appengine.go
    │       │   │   ├── doc.go
    │       │   │   ├── oauth2.go
    │       │   │   ├── token.go
    │       │   │   └── transport.go
    │       │   ├── oauth2.go
    │       │   ├── token.go
    │       │   └── transport.go
    │       ├── sync/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   └── errgroup/
    │       │       └── errgroup.go
    │       ├── sys/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   ├── execabs/
    │       │   │   ├── execabs.go
    │       │   │   ├── execabs_go118.go
    │       │   │   └── execabs_go119.go
    │       │   ├── plan9/
    │       │   │   ├── asm.s
    │       │   │   ├── asm_plan9_386.s
    │       │   │   ├── asm_plan9_amd64.s
    │       │   │   ├── asm_plan9_arm.s
    │       │   │   ├── const_plan9.go
    │       │   │   ├── dir_plan9.go
    │       │   │   ├── env_plan9.go
    │       │   │   ├── errors_plan9.go
    │       │   │   ├── mkall.sh
    │       │   │   ├── mkerrors.sh
    │       │   │   ├── mksysnum_plan9.sh
    │       │   │   ├── pwd_plan9.go
    │       │   │   ├── race.go
    │       │   │   ├── race0.go
    │       │   │   ├── str.go
    │       │   │   ├── syscall.go
    │       │   │   ├── syscall_plan9.go
    │       │   │   ├── zsyscall_plan9_386.go
    │       │   │   ├── zsyscall_plan9_amd64.go
    │       │   │   ├── zsyscall_plan9_arm.go
    │       │   │   └── zsysnum_plan9.go
    │       │   ├── unix/
    │       │   │   ├── .gitignore
    │       │   │   ├── README.md
    │       │   │   ├── affinity_linux.go
    │       │   │   ├── aliases.go
    │       │   │   ├── asm_aix_ppc64.s
    │       │   │   ├── asm_bsd_386.s
    │       │   │   ├── asm_bsd_amd64.s
    │       │   │   ├── asm_bsd_arm.s
    │       │   │   ├── asm_bsd_arm64.s
    │       │   │   ├── asm_bsd_ppc64.s
    │       │   │   ├── asm_bsd_riscv64.s
    │       │   │   ├── asm_linux_386.s
    │       │   │   ├── asm_linux_amd64.s
    │       │   │   ├── asm_linux_arm.s
    │       │   │   ├── asm_linux_arm64.s
    │       │   │   ├── asm_linux_loong64.s
    │       │   │   ├── asm_linux_mips64x.s
    │       │   │   ├── asm_linux_mipsx.s
    │       │   │   ├── asm_linux_ppc64x.s
    │       │   │   ├── asm_linux_riscv64.s
    │       │   │   ├── asm_linux_s390x.s
    │       │   │   ├── asm_openbsd_mips64.s
    │       │   │   ├── asm_solaris_amd64.s
    │       │   │   ├── asm_zos_s390x.s
    │       │   │   ├── auxv.go
    │       │   │   ├── auxv_unsupported.go
    │       │   │   ├── bluetooth_linux.go
    │       │   │   ├── bpxsvc_zos.go
    │       │   │   ├── bpxsvc_zos.s
    │       │   │   ├── cap_freebsd.go
    │       │   │   ├── constants.go
    │       │   │   ├── dev_aix_ppc.go
    │       │   │   ├── dev_aix_ppc64.go
    │       │   │   ├── dev_darwin.go
    │       │   │   ├── dev_dragonfly.go
    │       │   │   ├── dev_freebsd.go
    │       │   │   ├── dev_linux.go
    │       │   │   ├── dev_netbsd.go
    │       │   │   ├── dev_openbsd.go
    │       │   │   ├── dev_zos.go
    │       │   │   ├── dirent.go
    │       │   │   ├── endian_big.go
    │       │   │   ├── endian_little.go
    │       │   │   ├── env_unix.go
    │       │   │   ├── fcntl.go
    │       │   │   ├── fcntl_darwin.go
    │       │   │   ├── fcntl_linux_32bit.go
    │       │   │   ├── fdset.go
    │       │   │   ├── gccgo.go
    │       │   │   ├── gccgo_c.c
    │       │   │   ├── gccgo_linux_amd64.go
    │       │   │   ├── ifreq_linux.go
    │       │   │   ├── ioctl_linux.go
    │       │   │   ├── ioctl_signed.go
    │       │   │   ├── ioctl_unsigned.go
    │       │   │   ├── ioctl_zos.go
    │       │   │   ├── mkall.sh
    │       │   │   ├── mkerrors.sh
    │       │   │   ├── mmap_nomremap.go
    │       │   │   ├── mremap.go
    │       │   │   ├── pagesize_unix.go
    │       │   │   ├── pledge_openbsd.go
    │       │   │   ├── ptrace_darwin.go
    │       │   │   ├── ptrace_ios.go
    │       │   │   ├── race.go
    │       │   │   ├── race0.go
    │       │   │   ├── readdirent_getdents.go
    │       │   │   ├── readdirent_getdirentries.go
    │       │   │   ├── sockcmsg_dragonfly.go
    │       │   │   ├── sockcmsg_linux.go
    │       │   │   ├── sockcmsg_unix.go
    │       │   │   ├── sockcmsg_unix_other.go
    │       │   │   ├── sockcmsg_zos.go
    │       │   │   ├── symaddr_zos_s390x.s
    │       │   │   ├── syscall.go
    │       │   │   ├── syscall_aix.go
    │       │   │   ├── syscall_aix_ppc.go
    │       │   │   ├── syscall_aix_ppc64.go
    │       │   │   ├── syscall_bsd.go
    │       │   │   ├── syscall_darwin.go
    │       │   │   ├── syscall_darwin_amd64.go
    │       │   │   ├── syscall_darwin_arm64.go
    │       │   │   ├── syscall_darwin_libSystem.go
    │       │   │   ├── syscall_dragonfly.go
    │       │   │   ├── syscall_dragonfly_amd64.go
    │       │   │   ├── syscall_freebsd.go
    │       │   │   ├── syscall_freebsd_386.go
    │       │   │   ├── syscall_freebsd_amd64.go
    │       │   │   ├── syscall_freebsd_arm.go
    │       │   │   ├── syscall_freebsd_arm64.go
    │       │   │   ├── syscall_freebsd_riscv64.go
    │       │   │   ├── syscall_hurd.go
    │       │   │   ├── syscall_hurd_386.go
    │       │   │   ├── syscall_illumos.go
    │       │   │   ├── syscall_linux.go
    │       │   │   ├── syscall_linux_386.go
    │       │   │   ├── syscall_linux_alarm.go
    │       │   │   ├── syscall_linux_amd64.go
    │       │   │   ├── syscall_linux_amd64_gc.go
    │       │   │   ├── syscall_linux_arm.go
    │       │   │   ├── syscall_linux_arm64.go
    │       │   │   ├── syscall_linux_gc.go
    │       │   │   ├── syscall_linux_gc_386.go
    │       │   │   ├── syscall_linux_gc_arm.go
    │       │   │   ├── syscall_linux_gccgo_386.go
    │       │   │   ├── syscall_linux_gccgo_arm.go
    │       │   │   ├── syscall_linux_loong64.go
    │       │   │   ├── syscall_linux_mips64x.go
    │       │   │   ├── syscall_linux_mipsx.go
    │       │   │   ├── syscall_linux_ppc.go
    │       │   │   ├── syscall_linux_ppc64x.go
    │       │   │   ├── syscall_linux_riscv64.go
    │       │   │   ├── syscall_linux_s390x.go
    │       │   │   ├── syscall_linux_sparc64.go
    │       │   │   ├── syscall_netbsd.go
    │       │   │   ├── syscall_netbsd_386.go
    │       │   │   ├── syscall_netbsd_amd64.go
    │       │   │   ├── syscall_netbsd_arm.go
    │       │   │   ├── syscall_netbsd_arm64.go
    │       │   │   ├── syscall_openbsd.go
    │       │   │   ├── syscall_openbsd_386.go
    │       │   │   ├── syscall_openbsd_amd64.go
    │       │   │   ├── syscall_openbsd_arm.go
    │       │   │   ├── syscall_openbsd_arm64.go
    │       │   │   ├── syscall_openbsd_libc.go
    │       │   │   ├── syscall_openbsd_mips64.go
    │       │   │   ├── syscall_openbsd_ppc64.go
    │       │   │   ├── syscall_openbsd_riscv64.go
    │       │   │   ├── syscall_solaris.go
    │       │   │   ├── syscall_solaris_amd64.go
    │       │   │   ├── syscall_unix.go
    │       │   │   ├── syscall_unix_gc.go
    │       │   │   ├── syscall_unix_gc_ppc64x.go
    │       │   │   ├── syscall_zos_s390x.go
    │       │   │   ├── sysvshm_linux.go
    │       │   │   ├── sysvshm_unix.go
    │       │   │   ├── sysvshm_unix_other.go
    │       │   │   ├── timestruct.go
    │       │   │   ├── unveil_openbsd.go
    │       │   │   ├── vgetrandom_linux.go
    │       │   │   ├── vgetrandom_unsupported.go
    │       │   │   ├── xattr_bsd.go
    │       │   │   ├── zerrors_aix_ppc.go
    │       │   │   ├── zerrors_aix_ppc64.go
    │       │   │   ├── zerrors_darwin_amd64.go
    │       │   │   ├── zerrors_darwin_arm64.go
    │       │   │   ├── zerrors_dragonfly_amd64.go
    │       │   │   ├── zerrors_freebsd_386.go
    │       │   │   ├── zerrors_freebsd_amd64.go
    │       │   │   ├── zerrors_freebsd_arm.go
    │       │   │   ├── zerrors_freebsd_arm64.go
    │       │   │   ├── zerrors_freebsd_riscv64.go
    │       │   │   ├── zerrors_linux.go
    │       │   │   ├── zerrors_linux_386.go
    │       │   │   ├── zerrors_linux_amd64.go
    │       │   │   ├── zerrors_linux_arm.go
    │       │   │   ├── zerrors_linux_arm64.go
    │       │   │   ├── zerrors_linux_loong64.go
    │       │   │   ├── zerrors_linux_mips.go
    │       │   │   ├── zerrors_linux_mips64.go
    │       │   │   ├── zerrors_linux_mips64le.go
    │       │   │   ├── zerrors_linux_mipsle.go
    │       │   │   ├── zerrors_linux_ppc.go
    │       │   │   ├── zerrors_linux_ppc64.go
    │       │   │   ├── zerrors_linux_ppc64le.go
    │       │   │   ├── zerrors_linux_riscv64.go
    │       │   │   ├── zerrors_linux_s390x.go
    │       │   │   ├── zerrors_linux_sparc64.go
    │       │   │   ├── zerrors_netbsd_386.go
    │       │   │   ├── zerrors_netbsd_amd64.go
    │       │   │   ├── zerrors_netbsd_arm.go
    │       │   │   ├── zerrors_netbsd_arm64.go
    │       │   │   ├── zerrors_openbsd_386.go
    │       │   │   ├── zerrors_openbsd_amd64.go
    │       │   │   ├── zerrors_openbsd_arm.go
    │       │   │   ├── zerrors_openbsd_arm64.go
    │       │   │   ├── zerrors_openbsd_mips64.go
    │       │   │   ├── zerrors_openbsd_ppc64.go
    │       │   │   ├── zerrors_openbsd_riscv64.go
    │       │   │   ├── zerrors_solaris_amd64.go
    │       │   │   ├── zerrors_zos_s390x.go
    │       │   │   ├── zptrace_armnn_linux.go
    │       │   │   ├── zptrace_linux_arm64.go
    │       │   │   ├── zptrace_mipsnn_linux.go
    │       │   │   ├── zptrace_mipsnnle_linux.go
    │       │   │   ├── zptrace_x86_linux.go
    │       │   │   ├── zsymaddr_zos_s390x.s
    │       │   │   ├── zsyscall_aix_ppc.go
    │       │   │   ├── zsyscall_aix_ppc64.go
    │       │   │   ├── zsyscall_aix_ppc64_gc.go
    │       │   │   ├── zsyscall_aix_ppc64_gccgo.go
    │       │   │   ├── zsyscall_darwin_amd64.go
    │       │   │   ├── zsyscall_darwin_amd64.s
    │       │   │   ├── zsyscall_darwin_arm64.go
    │       │   │   ├── zsyscall_darwin_arm64.s
    │       │   │   ├── zsyscall_dragonfly_amd64.go
    │       │   │   ├── zsyscall_freebsd_386.go
    │       │   │   ├── zsyscall_freebsd_amd64.go
    │       │   │   ├── zsyscall_freebsd_arm.go
    │       │   │   ├── zsyscall_freebsd_arm64.go
    │       │   │   ├── zsyscall_freebsd_riscv64.go
    │       │   │   ├── zsyscall_illumos_amd64.go
    │       │   │   ├── zsyscall_linux.go
    │       │   │   ├── zsyscall_linux_386.go
    │       │   │   ├── zsyscall_linux_amd64.go
    │       │   │   ├── zsyscall_linux_arm.go
    │       │   │   ├── zsyscall_linux_arm64.go
    │       │   │   ├── zsyscall_linux_loong64.go
    │       │   │   ├── zsyscall_linux_mips.go
    │       │   │   ├── zsyscall_linux_mips64.go
    │       │   │   ├── zsyscall_linux_mips64le.go
    │       │   │   ├── zsyscall_linux_mipsle.go
    │       │   │   ├── zsyscall_linux_ppc.go
    │       │   │   ├── zsyscall_linux_ppc64.go
    │       │   │   ├── zsyscall_linux_ppc64le.go
    │       │   │   ├── zsyscall_linux_riscv64.go
    │       │   │   ├── zsyscall_linux_s390x.go
    │       │   │   ├── zsyscall_linux_sparc64.go
    │       │   │   ├── zsyscall_netbsd_386.go
    │       │   │   ├── zsyscall_netbsd_amd64.go
    │       │   │   ├── zsyscall_netbsd_arm.go
    │       │   │   ├── zsyscall_netbsd_arm64.go
    │       │   │   ├── zsyscall_openbsd_386.go
    │       │   │   ├── zsyscall_openbsd_386.s
    │       │   │   ├── zsyscall_openbsd_amd64.go
    │       │   │   ├── zsyscall_openbsd_amd64.s
    │       │   │   ├── zsyscall_openbsd_arm.go
    │       │   │   ├── zsyscall_openbsd_arm.s
    │       │   │   ├── zsyscall_openbsd_arm64.go
    │       │   │   ├── zsyscall_openbsd_arm64.s
    │       │   │   ├── zsyscall_openbsd_mips64.go
    │       │   │   ├── zsyscall_openbsd_mips64.s
    │       │   │   ├── zsyscall_openbsd_ppc64.go
    │       │   │   ├── zsyscall_openbsd_ppc64.s
    │       │   │   ├── zsyscall_openbsd_riscv64.go
    │       │   │   ├── zsyscall_openbsd_riscv64.s
    │       │   │   ├── zsyscall_solaris_amd64.go
    │       │   │   ├── zsyscall_zos_s390x.go
    │       │   │   ├── zsysctl_openbsd_386.go
    │       │   │   ├── zsysctl_openbsd_amd64.go
    │       │   │   ├── zsysctl_openbsd_arm.go
    │       │   │   ├── zsysctl_openbsd_arm64.go
    │       │   │   ├── zsysctl_openbsd_mips64.go
    │       │   │   ├── zsysctl_openbsd_ppc64.go
    │       │   │   ├── zsysctl_openbsd_riscv64.go
    │       │   │   ├── zsysnum_darwin_amd64.go
    │       │   │   ├── zsysnum_darwin_arm64.go
    │       │   │   ├── zsysnum_dragonfly_amd64.go
    │       │   │   ├── zsysnum_freebsd_386.go
    │       │   │   ├── zsysnum_freebsd_amd64.go
    │       │   │   ├── zsysnum_freebsd_arm.go
    │       │   │   ├── zsysnum_freebsd_arm64.go
    │       │   │   ├── zsysnum_freebsd_riscv64.go
    │       │   │   ├── zsysnum_linux_386.go
    │       │   │   ├── zsysnum_linux_amd64.go
    │       │   │   ├── zsysnum_linux_arm.go
    │       │   │   ├── zsysnum_linux_arm64.go
    │       │   │   ├── zsysnum_linux_loong64.go
    │       │   │   ├── zsysnum_linux_mips.go
    │       │   │   ├── zsysnum_linux_mips64.go
    │       │   │   ├── zsysnum_linux_mips64le.go
    │       │   │   ├── zsysnum_linux_mipsle.go
    │       │   │   ├── zsysnum_linux_ppc.go
    │       │   │   ├── zsysnum_linux_ppc64.go
    │       │   │   ├── zsysnum_linux_ppc64le.go
    │       │   │   ├── zsysnum_linux_riscv64.go
    │       │   │   ├── zsysnum_linux_s390x.go
    │       │   │   ├── zsysnum_linux_sparc64.go
    │       │   │   ├── zsysnum_netbsd_386.go
    │       │   │   ├── zsysnum_netbsd_amd64.go
    │       │   │   ├── zsysnum_netbsd_arm.go
    │       │   │   ├── zsysnum_netbsd_arm64.go
    │       │   │   ├── zsysnum_openbsd_386.go
    │       │   │   ├── zsysnum_openbsd_amd64.go
    │       │   │   ├── zsysnum_openbsd_arm.go
    │       │   │   ├── zsysnum_openbsd_arm64.go
    │       │   │   ├── zsysnum_openbsd_mips64.go
    │       │   │   ├── zsysnum_openbsd_ppc64.go
    │       │   │   ├── zsysnum_openbsd_riscv64.go
    │       │   │   ├── zsysnum_zos_s390x.go
    │       │   │   ├── ztypes_aix_ppc.go
    │       │   │   ├── ztypes_aix_ppc64.go
    │       │   │   ├── ztypes_darwin_amd64.go
    │       │   │   ├── ztypes_darwin_arm64.go
    │       │   │   ├── ztypes_dragonfly_amd64.go
    │       │   │   ├── ztypes_freebsd_386.go
    │       │   │   ├── ztypes_freebsd_amd64.go
    │       │   │   ├── ztypes_freebsd_arm.go
    │       │   │   ├── ztypes_freebsd_arm64.go
    │       │   │   ├── ztypes_freebsd_riscv64.go
    │       │   │   ├── ztypes_linux.go
    │       │   │   ├── ztypes_linux_386.go
    │       │   │   ├── ztypes_linux_amd64.go
    │       │   │   ├── ztypes_linux_arm.go
    │       │   │   ├── ztypes_linux_arm64.go
    │       │   │   ├── ztypes_linux_loong64.go
    │       │   │   ├── ztypes_linux_mips.go
    │       │   │   ├── ztypes_linux_mips64.go
    │       │   │   ├── ztypes_linux_mips64le.go
    │       │   │   ├── ztypes_linux_mipsle.go
    │       │   │   ├── ztypes_linux_ppc.go
    │       │   │   ├── ztypes_linux_ppc64.go
    │       │   │   ├── ztypes_linux_ppc64le.go
    │       │   │   ├── ztypes_linux_riscv64.go
    │       │   │   ├── ztypes_linux_s390x.go
    │       │   │   ├── ztypes_linux_sparc64.go
    │       │   │   ├── ztypes_netbsd_386.go
    │       │   │   ├── ztypes_netbsd_amd64.go
    │       │   │   ├── ztypes_netbsd_arm.go
    │       │   │   ├── ztypes_netbsd_arm64.go
    │       │   │   ├── ztypes_openbsd_386.go
    │       │   │   ├── ztypes_openbsd_amd64.go
    │       │   │   ├── ztypes_openbsd_arm.go
    │       │   │   ├── ztypes_openbsd_arm64.go
    │       │   │   ├── ztypes_openbsd_mips64.go
    │       │   │   ├── ztypes_openbsd_ppc64.go
    │       │   │   ├── ztypes_openbsd_riscv64.go
    │       │   │   ├── ztypes_solaris_amd64.go
    │       │   │   └── ztypes_zos_s390x.go
    │       │   └── windows/
    │       │       ├── aliases.go
    │       │       ├── dll_windows.go
    │       │       ├── env_windows.go
    │       │       ├── eventlog.go
    │       │       ├── exec_windows.go
    │       │       ├── memory_windows.go
    │       │       ├── mkerrors.bash
    │       │       ├── mkknownfolderids.bash
    │       │       ├── mksyscall.go
    │       │       ├── race.go
    │       │       ├── race0.go
    │       │       ├── security_windows.go
    │       │       ├── service.go
    │       │       ├── setupapi_windows.go
    │       │       ├── str.go
    │       │       ├── syscall.go
    │       │       ├── syscall_windows.go
    │       │       ├── types_windows.go
    │       │       ├── types_windows_386.go
    │       │       ├── types_windows_amd64.go
    │       │       ├── types_windows_arm.go
    │       │       ├── types_windows_arm64.go
    │       │       ├── zerrors_windows.go
    │       │       ├── zknownfolderids_windows.go
    │       │       └── zsyscall_windows.go
    │       ├── term/
    │       │   ├── CONTRIBUTING.md
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   ├── README.md
    │       │   ├── codereview.cfg
    │       │   ├── term.go
    │       │   ├── term_plan9.go
    │       │   ├── term_unix.go
    │       │   ├── term_unix_bsd.go
    │       │   ├── term_unix_other.go
    │       │   ├── term_unsupported.go
    │       │   ├── term_windows.go
    │       │   └── terminal.go
    │       ├── text/
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   ├── encoding/
    │       │   │   ├── charmap/
    │       │   │   │   ├── charmap.go
    │       │   │   │   └── tables.go
    │       │   │   ├── encoding.go
    │       │   │   ├── htmlindex/
    │       │   │   │   ├── htmlindex.go
    │       │   │   │   ├── map.go
    │       │   │   │   └── tables.go
    │       │   │   ├── internal/
    │       │   │   │   ├── identifier/
    │       │   │   │   │   ├── identifier.go
    │       │   │   │   │   └── mib.go
    │       │   │   │   └── internal.go
    │       │   │   ├── japanese/
    │       │   │   │   ├── all.go
    │       │   │   │   ├── eucjp.go
    │       │   │   │   ├── iso2022jp.go
    │       │   │   │   ├── shiftjis.go
    │       │   │   │   └── tables.go
    │       │   │   ├── korean/
    │       │   │   │   ├── euckr.go
    │       │   │   │   └── tables.go
    │       │   │   ├── simplifiedchinese/
    │       │   │   │   ├── all.go
    │       │   │   │   ├── gbk.go
    │       │   │   │   ├── hzgb2312.go
    │       │   │   │   └── tables.go
    │       │   │   ├── traditionalchinese/
    │       │   │   │   ├── big5.go
    │       │   │   │   └── tables.go
    │       │   │   └── unicode/
    │       │   │       ├── override.go
    │       │   │       └── unicode.go
    │       │   ├── internal/
    │       │   │   ├── language/
    │       │   │   │   ├── common.go
    │       │   │   │   ├── compact/
    │       │   │   │   │   ├── compact.go
    │       │   │   │   │   ├── language.go
    │       │   │   │   │   ├── parents.go
    │       │   │   │   │   ├── tables.go
    │       │   │   │   │   └── tags.go
    │       │   │   │   ├── compact.go
    │       │   │   │   ├── compose.go
    │       │   │   │   ├── coverage.go
    │       │   │   │   ├── language.go
    │       │   │   │   ├── lookup.go
    │       │   │   │   ├── match.go
    │       │   │   │   ├── parse.go
    │       │   │   │   ├── tables.go
    │       │   │   │   └── tags.go
    │       │   │   ├── tag/
    │       │   │   │   └── tag.go
    │       │   │   └── utf8internal/
    │       │   │       └── utf8internal.go
    │       │   ├── language/
    │       │   │   ├── coverage.go
    │       │   │   ├── doc.go
    │       │   │   ├── language.go
    │       │   │   ├── match.go
    │       │   │   ├── parse.go
    │       │   │   ├── tables.go
    │       │   │   └── tags.go
    │       │   ├── runes/
    │       │   │   ├── cond.go
    │       │   │   └── runes.go
    │       │   ├── secure/
    │       │   │   └── bidirule/
    │       │   │       ├── bidirule.go
    │       │   │       ├── bidirule10.0.0.go
    │       │   │       └── bidirule9.0.0.go
    │       │   ├── transform/
    │       │   │   └── transform.go
    │       │   └── unicode/
    │       │       ├── bidi/
    │       │       │   ├── bidi.go
    │       │       │   ├── bracket.go
    │       │       │   ├── core.go
    │       │       │   ├── prop.go
    │       │       │   ├── tables10.0.0.go
    │       │       │   ├── tables11.0.0.go
    │       │       │   ├── tables12.0.0.go
    │       │       │   ├── tables13.0.0.go
    │       │       │   ├── tables15.0.0.go
    │       │       │   ├── tables9.0.0.go
    │       │       │   └── trieval.go
    │       │       └── norm/
    │       │           ├── composition.go
    │       │           ├── forminfo.go
    │       │           ├── input.go
    │       │           ├── iter.go
    │       │           ├── normalize.go
    │       │           ├── readwriter.go
    │       │           ├── tables10.0.0.go
    │       │           ├── tables11.0.0.go
    │       │           ├── tables12.0.0.go
    │       │           ├── tables13.0.0.go
    │       │           ├── tables15.0.0.go
    │       │           ├── tables9.0.0.go
    │       │           ├── transform.go
    │       │           └── trie.go
    │       ├── time/
    │       │   ├── AUTHORS
    │       │   ├── CONTRIBUTORS
    │       │   ├── LICENSE
    │       │   ├── PATENTS
    │       │   └── rate/
    │       │       └── rate.go
    │       └── tools/
    │           ├── LICENSE
    │           ├── PATENTS
    │           ├── cmd/
    │           │   └── stringer/
    │           │       └── stringer.go
    │           ├── go/
    │           │   ├── ast/
    │           │   │   ├── edge/
    │           │   │   │   └── edge.go
    │           │   │   └── inspector/
    │           │   │       ├── cursor.go
    │           │   │       ├── inspector.go
    │           │   │       ├── iter.go
    │           │   │       ├── typeof.go
    │           │   │       └── walk.go
    │           │   ├── gcexportdata/
    │           │   │   ├── gcexportdata.go
    │           │   │   └── importer.go
    │           │   ├── packages/
    │           │   │   ├── doc.go
    │           │   │   ├── external.go
    │           │   │   ├── golist.go
    │           │   │   ├── golist_overlay.go
    │           │   │   ├── loadmode_string.go
    │           │   │   ├── packages.go
    │           │   │   └── visit.go
    │           │   └── types/
    │           │       ├── objectpath/
    │           │       │   └── objectpath.go
    │           │       └── typeutil/
    │           │           ├── callee.go
    │           │           ├── imports.go
    │           │           ├── map.go
    │           │           ├── methodsetcache.go
    │           │           └── ui.go
    │           └── internal/
    │               ├── aliases/
    │               │   ├── aliases.go
    │               │   └── aliases_go122.go
    │               ├── event/
    │               │   ├── core/
    │               │   │   ├── event.go
    │               │   │   ├── export.go
    │               │   │   └── fast.go
    │               │   ├── doc.go
    │               │   ├── event.go
    │               │   ├── keys/
    │               │   │   ├── keys.go
    │               │   │   ├── standard.go
    │               │   │   └── util.go
    │               │   └── label/
    │               │       └── label.go
    │               ├── gcimporter/
    │               │   ├── bimport.go
    │               │   ├── exportdata.go
    │               │   ├── gcimporter.go
    │               │   ├── iexport.go
    │               │   ├── iimport.go
    │               │   ├── predeclared.go
    │               │   ├── support.go
    │               │   └── ureader_yes.go
    │               ├── gocommand/
    │               │   ├── invoke.go
    │               │   ├── invoke_notunix.go
    │               │   ├── invoke_unix.go
    │               │   ├── vendor.go
    │               │   └── version.go
    │               ├── packagesinternal/
    │               │   └── packages.go
    │               ├── pkgbits/
    │               │   ├── codes.go
    │               │   ├── decoder.go
    │               │   ├── doc.go
    │               │   ├── encoder.go
    │               │   ├── flags.go
    │               │   ├── reloc.go
    │               │   ├── support.go
    │               │   ├── sync.go
    │               │   ├── syncmarker_string.go
    │               │   └── version.go
    │               ├── stdlib/
    │               │   ├── deps.go
    │               │   ├── import.go
    │               │   ├── manifest.go
    │               │   └── stdlib.go
    │               ├── typeparams/
    │               │   ├── common.go
    │               │   ├── coretype.go
    │               │   ├── free.go
    │               │   ├── normalize.go
    │               │   ├── termlist.go
    │               │   └── typeterm.go
    │               ├── typesinternal/
    │               │   ├── classify_call.go
    │               │   ├── element.go
    │               │   ├── errorcode.go
    │               │   ├── errorcode_string.go
    │               │   ├── fx.go
    │               │   ├── isnamed.go
    │               │   ├── qualifier.go
    │               │   ├── recv.go
    │               │   ├── toonew.go
    │               │   ├── types.go
    │               │   ├── varkind.go
    │               │   └── zerovalue.go
    │               └── versions/
    │                   ├── features.go
    │                   ├── gover.go
    │                   ├── types.go
    │                   └── versions.go
    ├── google.golang.org/
    │   ├── appengine/
    │   │   ├── LICENSE
    │   │   ├── internal/
    │   │   │   ├── api.go
    │   │   │   ├── api_classic.go
    │   │   │   ├── api_common.go
    │   │   │   ├── app_id.go
    │   │   │   ├── base/
    │   │   │   │   ├── api_base.pb.go
    │   │   │   │   └── api_base.proto
    │   │   │   ├── datastore/
    │   │   │   │   ├── datastore_v3.pb.go
    │   │   │   │   └── datastore_v3.proto
    │   │   │   ├── identity.go
    │   │   │   ├── identity_classic.go
    │   │   │   ├── identity_flex.go
    │   │   │   ├── identity_vm.go
    │   │   │   ├── internal.go
    │   │   │   ├── log/
    │   │   │   │   ├── log_service.pb.go
    │   │   │   │   └── log_service.proto
    │   │   │   ├── main.go
    │   │   │   ├── main_common.go
    │   │   │   ├── main_vm.go
    │   │   │   ├── metadata.go
    │   │   │   ├── net.go
    │   │   │   ├── regen.sh
    │   │   │   ├── remote_api/
    │   │   │   │   ├── remote_api.pb.go
    │   │   │   │   └── remote_api.proto
    │   │   │   ├── transaction.go
    │   │   │   └── urlfetch/
    │   │   │       ├── urlfetch_service.pb.go
    │   │   │       └── urlfetch_service.proto
    │   │   └── urlfetch/
    │   │       └── urlfetch.go
    │   └── protobuf/
    │       ├── LICENSE
    │       ├── PATENTS
    │       ├── encoding/
    │       │   ├── prototext/
    │       │   │   ├── decode.go
    │       │   │   ├── doc.go
    │       │   │   └── encode.go
    │       │   └── protowire/
    │       │       └── wire.go
    │       ├── internal/
    │       │   ├── descfmt/
    │       │   │   └── stringer.go
    │       │   ├── descopts/
    │       │   │   └── options.go
    │       │   ├── detrand/
    │       │   │   └── rand.go
    │       │   ├── editiondefaults/
    │       │   │   ├── defaults.go
    │       │   │   └── editions_defaults.binpb
    │       │   ├── encoding/
    │       │   │   ├── defval/
    │       │   │   │   └── default.go
    │       │   │   ├── messageset/
    │       │   │   │   └── messageset.go
    │       │   │   ├── tag/
    │       │   │   │   └── tag.go
    │       │   │   └── text/
    │       │   │       ├── decode.go
    │       │   │       ├── decode_number.go
    │       │   │       ├── decode_string.go
    │       │   │       ├── decode_token.go
    │       │   │       ├── doc.go
    │       │   │       └── encode.go
    │       │   ├── errors/
    │       │   │   ├── errors.go
    │       │   │   ├── is_go112.go
    │       │   │   └── is_go113.go
    │       │   ├── filedesc/
    │       │   │   ├── build.go
    │       │   │   ├── desc.go
    │       │   │   ├── desc_init.go
    │       │   │   ├── desc_lazy.go
    │       │   │   ├── desc_list.go
    │       │   │   ├── desc_list_gen.go
    │       │   │   ├── editions.go
    │       │   │   └── placeholder.go
    │       │   ├── filetype/
    │       │   │   └── build.go
    │       │   ├── flags/
    │       │   │   ├── flags.go
    │       │   │   ├── proto_legacy_disable.go
    │       │   │   └── proto_legacy_enable.go
    │       │   ├── genid/
    │       │   │   ├── any_gen.go
    │       │   │   ├── api_gen.go
    │       │   │   ├── descriptor_gen.go
    │       │   │   ├── doc.go
    │       │   │   ├── duration_gen.go
    │       │   │   ├── empty_gen.go
    │       │   │   ├── field_mask_gen.go
    │       │   │   ├── go_features_gen.go
    │       │   │   ├── goname.go
    │       │   │   ├── map_entry.go
    │       │   │   ├── source_context_gen.go
    │       │   │   ├── struct_gen.go
    │       │   │   ├── timestamp_gen.go
    │       │   │   ├── type_gen.go
    │       │   │   ├── wrappers.go
    │       │   │   └── wrappers_gen.go
    │       │   ├── impl/
    │       │   │   ├── api_export.go
    │       │   │   ├── checkinit.go
    │       │   │   ├── codec_extension.go
    │       │   │   ├── codec_field.go
    │       │   │   ├── codec_gen.go
    │       │   │   ├── codec_map.go
    │       │   │   ├── codec_map_go111.go
    │       │   │   ├── codec_map_go112.go
    │       │   │   ├── codec_message.go
    │       │   │   ├── codec_messageset.go
    │       │   │   ├── codec_reflect.go
    │       │   │   ├── codec_tables.go
    │       │   │   ├── codec_unsafe.go
    │       │   │   ├── convert.go
    │       │   │   ├── convert_list.go
    │       │   │   ├── convert_map.go
    │       │   │   ├── decode.go
    │       │   │   ├── encode.go
    │       │   │   ├── enum.go
    │       │   │   ├── extension.go
    │       │   │   ├── legacy_enum.go
    │       │   │   ├── legacy_export.go
    │       │   │   ├── legacy_extension.go
    │       │   │   ├── legacy_file.go
    │       │   │   ├── legacy_message.go
    │       │   │   ├── merge.go
    │       │   │   ├── merge_gen.go
    │       │   │   ├── message.go
    │       │   │   ├── message_reflect.go
    │       │   │   ├── message_reflect_field.go
    │       │   │   ├── message_reflect_gen.go
    │       │   │   ├── pointer_reflect.go
    │       │   │   ├── pointer_unsafe.go
    │       │   │   ├── validate.go
    │       │   │   └── weak.go
    │       │   ├── order/
    │       │   │   ├── order.go
    │       │   │   └── range.go
    │       │   ├── pragma/
    │       │   │   └── pragma.go
    │       │   ├── set/
    │       │   │   └── ints.go
    │       │   ├── strs/
    │       │   │   ├── strings.go
    │       │   │   ├── strings_pure.go
    │       │   │   ├── strings_unsafe_go120.go
    │       │   │   └── strings_unsafe_go121.go
    │       │   └── version/
    │       │       └── version.go
    │       ├── proto/
    │       │   ├── checkinit.go
    │       │   ├── decode.go
    │       │   ├── decode_gen.go
    │       │   ├── doc.go
    │       │   ├── encode.go
    │       │   ├── encode_gen.go
    │       │   ├── equal.go
    │       │   ├── extension.go
    │       │   ├── merge.go
    │       │   ├── messageset.go
    │       │   ├── proto.go
    │       │   ├── proto_methods.go
    │       │   ├── proto_reflect.go
    │       │   ├── reset.go
    │       │   ├── size.go
    │       │   ├── size_gen.go
    │       │   └── wrappers.go
    │       ├── reflect/
    │       │   ├── protodesc/
    │       │   │   ├── desc.go
    │       │   │   ├── desc_init.go
    │       │   │   ├── desc_resolve.go
    │       │   │   ├── desc_validate.go
    │       │   │   ├── editions.go
    │       │   │   └── proto.go
    │       │   ├── protoreflect/
    │       │   │   ├── methods.go
    │       │   │   ├── proto.go
    │       │   │   ├── source.go
    │       │   │   ├── source_gen.go
    │       │   │   ├── type.go
    │       │   │   ├── value.go
    │       │   │   ├── value_equal.go
    │       │   │   ├── value_pure.go
    │       │   │   ├── value_union.go
    │       │   │   ├── value_unsafe_go120.go
    │       │   │   └── value_unsafe_go121.go
    │       │   └── protoregistry/
    │       │       └── registry.go
    │       ├── runtime/
    │       │   ├── protoiface/
    │       │   │   ├── legacy.go
    │       │   │   └── methods.go
    │       │   └── protoimpl/
    │       │       ├── impl.go
    │       │       └── version.go
    │       └── types/
    │           ├── descriptorpb/
    │           │   └── descriptor.pb.go
    │           ├── gofeaturespb/
    │           │   ├── go_features.pb.go
    │           │   └── go_features.proto
    │           └── known/
    │               ├── anypb/
    │               │   └── any.pb.go
    │               ├── durationpb/
    │               │   └── duration.pb.go
    │               └── timestamppb/
    │                   └── timestamp.pb.go
    ├── gopkg.in/
    │   ├── inf.v0/
    │   │   ├── LICENSE
    │   │   ├── dec.go
    │   │   └── rounder.go
    │   ├── yaml.v2/
    │   │   ├── .travis.yml
    │   │   ├── LICENSE
    │   │   ├── LICENSE.libyaml
    │   │   ├── NOTICE
    │   │   ├── README.md
    │   │   ├── apic.go
    │   │   ├── decode.go
    │   │   ├── emitterc.go
    │   │   ├── encode.go
    │   │   ├── parserc.go
    │   │   ├── readerc.go
    │   │   ├── resolve.go
    │   │   ├── scannerc.go
    │   │   ├── sorter.go
    │   │   ├── writerc.go
    │   │   ├── yaml.go
    │   │   ├── yamlh.go
    │   │   └── yamlprivateh.go
    │   └── yaml.v3/
    │       ├── LICENSE
    │       ├── NOTICE
    │       ├── README.md
    │       ├── apic.go
    │       ├── decode.go
    │       ├── emitterc.go
    │       ├── encode.go
    │       ├── parserc.go
    │       ├── readerc.go
    │       ├── resolve.go
    │       ├── scannerc.go
    │       ├── sorter.go
    │       ├── writerc.go
    │       ├── yaml.go
    │       ├── yamlh.go
    │       └── yamlprivateh.go
    ├── k8s.io/
    │   ├── api/
    │   │   ├── LICENSE
    │   │   ├── admissionregistration/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── apidiscovery/
    │   │   │   └── v2beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── apiserverinternal/
    │   │   │   └── v1alpha1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       └── zz_generated.deepcopy.go
    │   │   ├── apps/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1beta1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v1beta2/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── authentication/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── authorization/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── autoscaling/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v2/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v2beta1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v2beta2/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── batch/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── certificates/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── coordination/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── core/
    │   │   │   └── v1/
    │   │   │       ├── annotation_key_constants.go
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── lifecycle.go
    │   │   │       ├── objectreference.go
    │   │   │       ├── register.go
    │   │   │       ├── resource.go
    │   │   │       ├── taint.go
    │   │   │       ├── toleration.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── well_known_labels.go
    │   │   │       ├── well_known_taints.go
    │   │   │       └── zz_generated.deepcopy.go
    │   │   ├── discovery/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── well_known_labels.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── well_known_labels.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── events/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── extensions/
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── flowcontrol/
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   ├── v1beta1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   ├── v1beta2/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v1beta3/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── networking/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── well_known_annotations.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   ├── well_known_labels.go
    │   │   │   │   ├── zz_generated.deepcopy.go
    │   │   │   │   └── zz_generated.prerelease-lifecycle.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── well_known_annotations.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── node/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── policy/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── rbac/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   ├── resource/
    │   │   │   └── v1alpha2/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       └── zz_generated.deepcopy.go
    │   │   ├── scheduling/
    │   │   │   ├── v1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── v1alpha1/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── register.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_swagger_doc_generated.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   └── v1beta1/
    │   │   │       ├── doc.go
    │   │   │       ├── generated.pb.go
    │   │   │       ├── generated.proto
    │   │   │       ├── register.go
    │   │   │       ├── types.go
    │   │   │       ├── types_swagger_doc_generated.go
    │   │   │       ├── zz_generated.deepcopy.go
    │   │   │       └── zz_generated.prerelease-lifecycle.go
    │   │   └── storage/
    │   │       ├── v1/
    │   │       │   ├── doc.go
    │   │       │   ├── generated.pb.go
    │   │       │   ├── generated.proto
    │   │       │   ├── register.go
    │   │       │   ├── types.go
    │   │       │   ├── types_swagger_doc_generated.go
    │   │       │   └── zz_generated.deepcopy.go
    │   │       ├── v1alpha1/
    │   │       │   ├── doc.go
    │   │       │   ├── generated.pb.go
    │   │       │   ├── generated.proto
    │   │       │   ├── register.go
    │   │       │   ├── types.go
    │   │       │   ├── types_swagger_doc_generated.go
    │   │       │   ├── zz_generated.deepcopy.go
    │   │       │   └── zz_generated.prerelease-lifecycle.go
    │   │       └── v1beta1/
    │   │           ├── doc.go
    │   │           ├── generated.pb.go
    │   │           ├── generated.proto
    │   │           ├── register.go
    │   │           ├── types.go
    │   │           ├── types_swagger_doc_generated.go
    │   │           ├── zz_generated.deepcopy.go
    │   │           └── zz_generated.prerelease-lifecycle.go
    │   ├── apimachinery/
    │   │   ├── LICENSE
    │   │   ├── pkg/
    │   │   │   ├── api/
    │   │   │   │   ├── equality/
    │   │   │   │   │   └── semantic.go
    │   │   │   │   ├── errors/
    │   │   │   │   │   ├── OWNERS
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   └── errors.go
    │   │   │   │   ├── meta/
    │   │   │   │   │   ├── OWNERS
    │   │   │   │   │   ├── conditions.go
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── errors.go
    │   │   │   │   │   ├── firsthit_restmapper.go
    │   │   │   │   │   ├── help.go
    │   │   │   │   │   ├── interfaces.go
    │   │   │   │   │   ├── lazy.go
    │   │   │   │   │   ├── meta.go
    │   │   │   │   │   ├── multirestmapper.go
    │   │   │   │   │   ├── priority.go
    │   │   │   │   │   └── restmapper.go
    │   │   │   │   ├── resource/
    │   │   │   │   │   ├── OWNERS
    │   │   │   │   │   ├── amount.go
    │   │   │   │   │   ├── generated.pb.go
    │   │   │   │   │   ├── generated.proto
    │   │   │   │   │   ├── math.go
    │   │   │   │   │   ├── quantity.go
    │   │   │   │   │   ├── quantity_proto.go
    │   │   │   │   │   ├── scale_int.go
    │   │   │   │   │   ├── suffix.go
    │   │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   │   └── validation/
    │   │   │   │       ├── doc.go
    │   │   │   │       ├── generic.go
    │   │   │   │       └── objectmeta.go
    │   │   │   ├── apis/
    │   │   │   │   └── meta/
    │   │   │   │       └── v1/
    │   │   │   │           ├── OWNERS
    │   │   │   │           ├── controller_ref.go
    │   │   │   │           ├── conversion.go
    │   │   │   │           ├── deepcopy.go
    │   │   │   │           ├── doc.go
    │   │   │   │           ├── duration.go
    │   │   │   │           ├── generated.pb.go
    │   │   │   │           ├── generated.proto
    │   │   │   │           ├── group_version.go
    │   │   │   │           ├── helpers.go
    │   │   │   │           ├── labels.go
    │   │   │   │           ├── meta.go
    │   │   │   │           ├── micro_time.go
    │   │   │   │           ├── micro_time_fuzz.go
    │   │   │   │           ├── micro_time_proto.go
    │   │   │   │           ├── register.go
    │   │   │   │           ├── time.go
    │   │   │   │           ├── time_fuzz.go
    │   │   │   │           ├── time_proto.go
    │   │   │   │           ├── types.go
    │   │   │   │           ├── types_swagger_doc_generated.go
    │   │   │   │           ├── unstructured/
    │   │   │   │           │   ├── helpers.go
    │   │   │   │           │   ├── unstructured.go
    │   │   │   │           │   ├── unstructured_list.go
    │   │   │   │           │   ├── unstructuredscheme/
    │   │   │   │           │   │   └── scheme.go
    │   │   │   │           │   └── zz_generated.deepcopy.go
    │   │   │   │           ├── validation/
    │   │   │   │           │   └── validation.go
    │   │   │   │           ├── watch.go
    │   │   │   │           ├── zz_generated.conversion.go
    │   │   │   │           ├── zz_generated.deepcopy.go
    │   │   │   │           └── zz_generated.defaults.go
    │   │   │   ├── conversion/
    │   │   │   │   ├── converter.go
    │   │   │   │   ├── deep_equal.go
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── helper.go
    │   │   │   │   └── queryparams/
    │   │   │   │       ├── convert.go
    │   │   │   │       └── doc.go
    │   │   │   ├── fields/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── fields.go
    │   │   │   │   ├── requirements.go
    │   │   │   │   └── selector.go
    │   │   │   ├── labels/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── labels.go
    │   │   │   │   ├── selector.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── runtime/
    │   │   │   │   ├── allocator.go
    │   │   │   │   ├── codec.go
    │   │   │   │   ├── codec_check.go
    │   │   │   │   ├── conversion.go
    │   │   │   │   ├── converter.go
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── embedded.go
    │   │   │   │   ├── error.go
    │   │   │   │   ├── extension.go
    │   │   │   │   ├── generated.pb.go
    │   │   │   │   ├── generated.proto
    │   │   │   │   ├── helper.go
    │   │   │   │   ├── interfaces.go
    │   │   │   │   ├── mapper.go
    │   │   │   │   ├── negotiate.go
    │   │   │   │   ├── register.go
    │   │   │   │   ├── schema/
    │   │   │   │   │   ├── generated.pb.go
    │   │   │   │   │   ├── generated.proto
    │   │   │   │   │   ├── group_version.go
    │   │   │   │   │   └── interfaces.go
    │   │   │   │   ├── scheme.go
    │   │   │   │   ├── scheme_builder.go
    │   │   │   │   ├── serializer/
    │   │   │   │   │   ├── codec_factory.go
    │   │   │   │   │   ├── json/
    │   │   │   │   │   │   ├── json.go
    │   │   │   │   │   │   └── meta.go
    │   │   │   │   │   ├── negotiated_codec.go
    │   │   │   │   │   ├── protobuf/
    │   │   │   │   │   │   ├── doc.go
    │   │   │   │   │   │   └── protobuf.go
    │   │   │   │   │   ├── recognizer/
    │   │   │   │   │   │   └── recognizer.go
    │   │   │   │   │   ├── streaming/
    │   │   │   │   │   │   └── streaming.go
    │   │   │   │   │   └── versioning/
    │   │   │   │   │       └── versioning.go
    │   │   │   │   ├── swagger_doc_generator.go
    │   │   │   │   ├── types.go
    │   │   │   │   ├── types_proto.go
    │   │   │   │   └── zz_generated.deepcopy.go
    │   │   │   ├── selection/
    │   │   │   │   └── operator.go
    │   │   │   ├── types/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── namespacedname.go
    │   │   │   │   ├── nodename.go
    │   │   │   │   ├── patch.go
    │   │   │   │   └── uid.go
    │   │   │   ├── util/
    │   │   │   │   ├── duration/
    │   │   │   │   │   └── duration.go
    │   │   │   │   ├── errors/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   └── errors.go
    │   │   │   │   ├── framer/
    │   │   │   │   │   └── framer.go
    │   │   │   │   ├── httpstream/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── httpstream.go
    │   │   │   │   │   └── spdy/
    │   │   │   │   │       ├── connection.go
    │   │   │   │   │       ├── roundtripper.go
    │   │   │   │   │       └── upgrade.go
    │   │   │   │   ├── intstr/
    │   │   │   │   │   ├── generated.pb.go
    │   │   │   │   │   ├── generated.proto
    │   │   │   │   │   ├── instr_fuzz.go
    │   │   │   │   │   └── intstr.go
    │   │   │   │   ├── json/
    │   │   │   │   │   └── json.go
    │   │   │   │   ├── managedfields/
    │   │   │   │   │   ├── endpoints.yaml
    │   │   │   │   │   ├── extract.go
    │   │   │   │   │   ├── fieldmanager.go
    │   │   │   │   │   ├── gvkparser.go
    │   │   │   │   │   ├── internal/
    │   │   │   │   │   │   ├── atmostevery.go
    │   │   │   │   │   │   ├── buildmanagerinfo.go
    │   │   │   │   │   │   ├── capmanagers.go
    │   │   │   │   │   │   ├── conflict.go
    │   │   │   │   │   │   ├── fieldmanager.go
    │   │   │   │   │   │   ├── fields.go
    │   │   │   │   │   │   ├── lastapplied.go
    │   │   │   │   │   │   ├── lastappliedmanager.go
    │   │   │   │   │   │   ├── lastappliedupdater.go
    │   │   │   │   │   │   ├── managedfields.go
    │   │   │   │   │   │   ├── managedfieldsupdater.go
    │   │   │   │   │   │   ├── manager.go
    │   │   │   │   │   │   ├── pathelement.go
    │   │   │   │   │   │   ├── skipnonapplied.go
    │   │   │   │   │   │   ├── stripmeta.go
    │   │   │   │   │   │   ├── structuredmerge.go
    │   │   │   │   │   │   ├── typeconverter.go
    │   │   │   │   │   │   └── versionconverter.go
    │   │   │   │   │   ├── node.yaml
    │   │   │   │   │   ├── pod.yaml
    │   │   │   │   │   ├── scalehandler.go
    │   │   │   │   │   └── typeconverter.go
    │   │   │   │   ├── naming/
    │   │   │   │   │   └── from_stack.go
    │   │   │   │   ├── net/
    │   │   │   │   │   ├── http.go
    │   │   │   │   │   ├── interface.go
    │   │   │   │   │   ├── port_range.go
    │   │   │   │   │   ├── port_split.go
    │   │   │   │   │   └── util.go
    │   │   │   │   ├── remotecommand/
    │   │   │   │   │   └── constants.go
    │   │   │   │   ├── runtime/
    │   │   │   │   │   └── runtime.go
    │   │   │   │   ├── sets/
    │   │   │   │   │   ├── byte.go
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── empty.go
    │   │   │   │   │   ├── int.go
    │   │   │   │   │   ├── int32.go
    │   │   │   │   │   ├── int64.go
    │   │   │   │   │   ├── ordered.go
    │   │   │   │   │   ├── set.go
    │   │   │   │   │   └── string.go
    │   │   │   │   ├── validation/
    │   │   │   │   │   ├── field/
    │   │   │   │   │   │   ├── errors.go
    │   │   │   │   │   │   └── path.go
    │   │   │   │   │   └── validation.go
    │   │   │   │   ├── wait/
    │   │   │   │   │   ├── backoff.go
    │   │   │   │   │   ├── delay.go
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── error.go
    │   │   │   │   │   ├── loop.go
    │   │   │   │   │   ├── poll.go
    │   │   │   │   │   ├── timer.go
    │   │   │   │   │   └── wait.go
    │   │   │   │   └── yaml/
    │   │   │   │       └── decoder.go
    │   │   │   ├── version/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── helpers.go
    │   │   │   │   └── types.go
    │   │   │   └── watch/
    │   │   │       ├── doc.go
    │   │   │       ├── filter.go
    │   │   │       ├── mux.go
    │   │   │       ├── streamwatcher.go
    │   │   │       ├── watch.go
    │   │   │       └── zz_generated.deepcopy.go
    │   │   └── third_party/
    │   │       └── forked/
    │   │           └── golang/
    │   │               ├── LICENSE
    │   │               ├── PATENTS
    │   │               ├── netutil/
    │   │               │   └── addr.go
    │   │               └── reflect/
    │   │                   └── deep_equal.go
    │   ├── cli-runtime/
    │   │   ├── LICENSE
    │   │   └── pkg/
    │   │       ├── genericclioptions/
    │   │       │   ├── builder_flags.go
    │   │       │   ├── builder_flags_fake.go
    │   │       │   ├── client_config.go
    │   │       │   ├── command_headers.go
    │   │       │   ├── config_flags.go
    │   │       │   ├── config_flags_fake.go
    │   │       │   ├── doc.go
    │   │       │   ├── filename_flags.go
    │   │       │   ├── io_options.go
    │   │       │   ├── json_yaml_flags.go
    │   │       │   ├── jsonpath_flags.go
    │   │       │   ├── kube_template_flags.go
    │   │       │   ├── name_flags.go
    │   │       │   ├── print_flags.go
    │   │       │   ├── record_flags.go
    │   │       │   └── template_flags.go
    │   │       ├── printers/
    │   │       │   ├── discard.go
    │   │       │   ├── doc.go
    │   │       │   ├── interface.go
    │   │       │   ├── json.go
    │   │       │   ├── jsonpath.go
    │   │       │   ├── managedfields.go
    │   │       │   ├── name.go
    │   │       │   ├── sourcechecker.go
    │   │       │   ├── tableprinter.go
    │   │       │   ├── tabwriter.go
    │   │       │   ├── template.go
    │   │       │   ├── terminal.go
    │   │       │   ├── typesetter.go
    │   │       │   ├── warningprinter.go
    │   │       │   └── yaml.go
    │   │       └── resource/
    │   │           ├── builder.go
    │   │           ├── client.go
    │   │           ├── crd_finder.go
    │   │           ├── doc.go
    │   │           ├── fake.go
    │   │           ├── fallback_query_param_verifier.go
    │   │           ├── helper.go
    │   │           ├── interfaces.go
    │   │           ├── kustomizevisitor.go
    │   │           ├── mapper.go
    │   │           ├── metadata_decoder.go
    │   │           ├── query_param_verifier.go
    │   │           ├── query_param_verifier_v3.go
    │   │           ├── result.go
    │   │           ├── scheme.go
    │   │           ├── selector.go
    │   │           └── visitor.go
    │   ├── client-go/
    │   │   ├── LICENSE
    │   │   ├── applyconfigurations/
    │   │   │   ├── admissionregistration/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── matchcondition.go
    │   │   │   │   │   ├── mutatingwebhook.go
    │   │   │   │   │   ├── mutatingwebhookconfiguration.go
    │   │   │   │   │   ├── rule.go
    │   │   │   │   │   ├── rulewithoperations.go
    │   │   │   │   │   ├── servicereference.go
    │   │   │   │   │   ├── validatingwebhook.go
    │   │   │   │   │   ├── validatingwebhookconfiguration.go
    │   │   │   │   │   └── webhookclientconfig.go
    │   │   │   │   ├── v1alpha1/
    │   │   │   │   │   ├── auditannotation.go
    │   │   │   │   │   ├── expressionwarning.go
    │   │   │   │   │   ├── matchcondition.go
    │   │   │   │   │   ├── matchresources.go
    │   │   │   │   │   ├── namedrulewithoperations.go
    │   │   │   │   │   ├── paramkind.go
    │   │   │   │   │   ├── paramref.go
    │   │   │   │   │   ├── typechecking.go
    │   │   │   │   │   ├── validatingadmissionpolicy.go
    │   │   │   │   │   ├── validatingadmissionpolicybinding.go
    │   │   │   │   │   ├── validatingadmissionpolicybindingspec.go
    │   │   │   │   │   ├── validatingadmissionpolicyspec.go
    │   │   │   │   │   ├── validatingadmissionpolicystatus.go
    │   │   │   │   │   └── validation.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── matchcondition.go
    │   │   │   │       ├── mutatingwebhook.go
    │   │   │   │       ├── mutatingwebhookconfiguration.go
    │   │   │   │       ├── servicereference.go
    │   │   │   │       ├── validatingwebhook.go
    │   │   │   │       ├── validatingwebhookconfiguration.go
    │   │   │   │       └── webhookclientconfig.go
    │   │   │   ├── apiserverinternal/
    │   │   │   │   └── v1alpha1/
    │   │   │   │       ├── serverstorageversion.go
    │   │   │   │       ├── storageversion.go
    │   │   │   │       ├── storageversioncondition.go
    │   │   │   │       └── storageversionstatus.go
    │   │   │   ├── apps/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── controllerrevision.go
    │   │   │   │   │   ├── daemonset.go
    │   │   │   │   │   ├── daemonsetcondition.go
    │   │   │   │   │   ├── daemonsetspec.go
    │   │   │   │   │   ├── daemonsetstatus.go
    │   │   │   │   │   ├── daemonsetupdatestrategy.go
    │   │   │   │   │   ├── deployment.go
    │   │   │   │   │   ├── deploymentcondition.go
    │   │   │   │   │   ├── deploymentspec.go
    │   │   │   │   │   ├── deploymentstatus.go
    │   │   │   │   │   ├── deploymentstrategy.go
    │   │   │   │   │   ├── replicaset.go
    │   │   │   │   │   ├── replicasetcondition.go
    │   │   │   │   │   ├── replicasetspec.go
    │   │   │   │   │   ├── replicasetstatus.go
    │   │   │   │   │   ├── rollingupdatedaemonset.go
    │   │   │   │   │   ├── rollingupdatedeployment.go
    │   │   │   │   │   ├── rollingupdatestatefulsetstrategy.go
    │   │   │   │   │   ├── statefulset.go
    │   │   │   │   │   ├── statefulsetcondition.go
    │   │   │   │   │   ├── statefulsetordinals.go
    │   │   │   │   │   ├── statefulsetpersistentvolumeclaimretentionpolicy.go
    │   │   │   │   │   ├── statefulsetspec.go
    │   │   │   │   │   ├── statefulsetstatus.go
    │   │   │   │   │   └── statefulsetupdatestrategy.go
    │   │   │   │   ├── v1beta1/
    │   │   │   │   │   ├── controllerrevision.go
    │   │   │   │   │   ├── deployment.go
    │   │   │   │   │   ├── deploymentcondition.go
    │   │   │   │   │   ├── deploymentspec.go
    │   │   │   │   │   ├── deploymentstatus.go
    │   │   │   │   │   ├── deploymentstrategy.go
    │   │   │   │   │   ├── rollbackconfig.go
    │   │   │   │   │   ├── rollingupdatedeployment.go
    │   │   │   │   │   ├── rollingupdatestatefulsetstrategy.go
    │   │   │   │   │   ├── statefulset.go
    │   │   │   │   │   ├── statefulsetcondition.go
    │   │   │   │   │   ├── statefulsetordinals.go
    │   │   │   │   │   ├── statefulsetpersistentvolumeclaimretentionpolicy.go
    │   │   │   │   │   ├── statefulsetspec.go
    │   │   │   │   │   ├── statefulsetstatus.go
    │   │   │   │   │   └── statefulsetupdatestrategy.go
    │   │   │   │   └── v1beta2/
    │   │   │   │       ├── controllerrevision.go
    │   │   │   │       ├── daemonset.go
    │   │   │   │       ├── daemonsetcondition.go
    │   │   │   │       ├── daemonsetspec.go
    │   │   │   │       ├── daemonsetstatus.go
    │   │   │   │       ├── daemonsetupdatestrategy.go
    │   │   │   │       ├── deployment.go
    │   │   │   │       ├── deploymentcondition.go
    │   │   │   │       ├── deploymentspec.go
    │   │   │   │       ├── deploymentstatus.go
    │   │   │   │       ├── deploymentstrategy.go
    │   │   │   │       ├── replicaset.go
    │   │   │   │       ├── replicasetcondition.go
    │   │   │   │       ├── replicasetspec.go
    │   │   │   │       ├── replicasetstatus.go
    │   │   │   │       ├── rollingupdatedaemonset.go
    │   │   │   │       ├── rollingupdatedeployment.go
    │   │   │   │       ├── rollingupdatestatefulsetstrategy.go
    │   │   │   │       ├── scale.go
    │   │   │   │       ├── statefulset.go
    │   │   │   │       ├── statefulsetcondition.go
    │   │   │   │       ├── statefulsetordinals.go
    │   │   │   │       ├── statefulsetpersistentvolumeclaimretentionpolicy.go
    │   │   │   │       ├── statefulsetspec.go
    │   │   │   │       ├── statefulsetstatus.go
    │   │   │   │       └── statefulsetupdatestrategy.go
    │   │   │   ├── autoscaling/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── crossversionobjectreference.go
    │   │   │   │   │   ├── horizontalpodautoscaler.go
    │   │   │   │   │   ├── horizontalpodautoscalerspec.go
    │   │   │   │   │   ├── horizontalpodautoscalerstatus.go
    │   │   │   │   │   ├── scale.go
    │   │   │   │   │   ├── scalespec.go
    │   │   │   │   │   └── scalestatus.go
    │   │   │   │   ├── v2/
    │   │   │   │   │   ├── containerresourcemetricsource.go
    │   │   │   │   │   ├── containerresourcemetricstatus.go
    │   │   │   │   │   ├── crossversionobjectreference.go
    │   │   │   │   │   ├── externalmetricsource.go
    │   │   │   │   │   ├── externalmetricstatus.go
    │   │   │   │   │   ├── horizontalpodautoscaler.go
    │   │   │   │   │   ├── horizontalpodautoscalerbehavior.go
    │   │   │   │   │   ├── horizontalpodautoscalercondition.go
    │   │   │   │   │   ├── horizontalpodautoscalerspec.go
    │   │   │   │   │   ├── horizontalpodautoscalerstatus.go
    │   │   │   │   │   ├── hpascalingpolicy.go
    │   │   │   │   │   ├── hpascalingrules.go
    │   │   │   │   │   ├── metricidentifier.go
    │   │   │   │   │   ├── metricspec.go
    │   │   │   │   │   ├── metricstatus.go
    │   │   │   │   │   ├── metrictarget.go
    │   │   │   │   │   ├── metricvaluestatus.go
    │   │   │   │   │   ├── objectmetricsource.go
    │   │   │   │   │   ├── objectmetricstatus.go
    │   │   │   │   │   ├── podsmetricsource.go
    │   │   │   │   │   ├── podsmetricstatus.go
    │   │   │   │   │   ├── resourcemetricsource.go
    │   │   │   │   │   └── resourcemetricstatus.go
    │   │   │   │   ├── v2beta1/
    │   │   │   │   │   ├── containerresourcemetricsource.go
    │   │   │   │   │   ├── containerresourcemetricstatus.go
    │   │   │   │   │   ├── crossversionobjectreference.go
    │   │   │   │   │   ├── externalmetricsource.go
    │   │   │   │   │   ├── externalmetricstatus.go
    │   │   │   │   │   ├── horizontalpodautoscaler.go
    │   │   │   │   │   ├── horizontalpodautoscalercondition.go
    │   │   │   │   │   ├── horizontalpodautoscalerspec.go
    │   │   │   │   │   ├── horizontalpodautoscalerstatus.go
    │   │   │   │   │   ├── metricspec.go
    │   │   │   │   │   ├── metricstatus.go
    │   │   │   │   │   ├── objectmetricsource.go
    │   │   │   │   │   ├── objectmetricstatus.go
    │   │   │   │   │   ├── podsmetricsource.go
    │   │   │   │   │   ├── podsmetricstatus.go
    │   │   │   │   │   ├── resourcemetricsource.go
    │   │   │   │   │   └── resourcemetricstatus.go
    │   │   │   │   └── v2beta2/
    │   │   │   │       ├── containerresourcemetricsource.go
    │   │   │   │       ├── containerresourcemetricstatus.go
    │   │   │   │       ├── crossversionobjectreference.go
    │   │   │   │       ├── externalmetricsource.go
    │   │   │   │       ├── externalmetricstatus.go
    │   │   │   │       ├── horizontalpodautoscaler.go
    │   │   │   │       ├── horizontalpodautoscalerbehavior.go
    │   │   │   │       ├── horizontalpodautoscalercondition.go
    │   │   │   │       ├── horizontalpodautoscalerspec.go
    │   │   │   │       ├── horizontalpodautoscalerstatus.go
    │   │   │   │       ├── hpascalingpolicy.go
    │   │   │   │       ├── hpascalingrules.go
    │   │   │   │       ├── metricidentifier.go
    │   │   │   │       ├── metricspec.go
    │   │   │   │       ├── metricstatus.go
    │   │   │   │       ├── metrictarget.go
    │   │   │   │       ├── metricvaluestatus.go
    │   │   │   │       ├── objectmetricsource.go
    │   │   │   │       ├── objectmetricstatus.go
    │   │   │   │       ├── podsmetricsource.go
    │   │   │   │       ├── podsmetricstatus.go
    │   │   │   │       ├── resourcemetricsource.go
    │   │   │   │       └── resourcemetricstatus.go
    │   │   │   ├── batch/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── cronjob.go
    │   │   │   │   │   ├── cronjobspec.go
    │   │   │   │   │   ├── cronjobstatus.go
    │   │   │   │   │   ├── job.go
    │   │   │   │   │   ├── jobcondition.go
    │   │   │   │   │   ├── jobspec.go
    │   │   │   │   │   ├── jobstatus.go
    │   │   │   │   │   ├── jobtemplatespec.go
    │   │   │   │   │   ├── podfailurepolicy.go
    │   │   │   │   │   ├── podfailurepolicyonexitcodesrequirement.go
    │   │   │   │   │   ├── podfailurepolicyonpodconditionspattern.go
    │   │   │   │   │   ├── podfailurepolicyrule.go
    │   │   │   │   │   └── uncountedterminatedpods.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── cronjob.go
    │   │   │   │       ├── cronjobspec.go
    │   │   │   │       ├── cronjobstatus.go
    │   │   │   │       └── jobtemplatespec.go
    │   │   │   ├── certificates/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── certificatesigningrequest.go
    │   │   │   │   │   ├── certificatesigningrequestcondition.go
    │   │   │   │   │   ├── certificatesigningrequestspec.go
    │   │   │   │   │   └── certificatesigningrequeststatus.go
    │   │   │   │   ├── v1alpha1/
    │   │   │   │   │   ├── clustertrustbundle.go
    │   │   │   │   │   └── clustertrustbundlespec.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── certificatesigningrequest.go
    │   │   │   │       ├── certificatesigningrequestcondition.go
    │   │   │   │       ├── certificatesigningrequestspec.go
    │   │   │   │       └── certificatesigningrequeststatus.go
    │   │   │   ├── coordination/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── lease.go
    │   │   │   │   │   └── leasespec.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── lease.go
    │   │   │   │       └── leasespec.go
    │   │   │   ├── core/
    │   │   │   │   └── v1/
    │   │   │   │       ├── affinity.go
    │   │   │   │       ├── attachedvolume.go
    │   │   │   │       ├── awselasticblockstorevolumesource.go
    │   │   │   │       ├── azurediskvolumesource.go
    │   │   │   │       ├── azurefilepersistentvolumesource.go
    │   │   │   │       ├── azurefilevolumesource.go
    │   │   │   │       ├── capabilities.go
    │   │   │   │       ├── cephfspersistentvolumesource.go
    │   │   │   │       ├── cephfsvolumesource.go
    │   │   │   │       ├── cinderpersistentvolumesource.go
    │   │   │   │       ├── cindervolumesource.go
    │   │   │   │       ├── claimsource.go
    │   │   │   │       ├── clientipconfig.go
    │   │   │   │       ├── componentcondition.go
    │   │   │   │       ├── componentstatus.go
    │   │   │   │       ├── configmap.go
    │   │   │   │       ├── configmapenvsource.go
    │   │   │   │       ├── configmapkeyselector.go
    │   │   │   │       ├── configmapnodeconfigsource.go
    │   │   │   │       ├── configmapprojection.go
    │   │   │   │       ├── configmapvolumesource.go
    │   │   │   │       ├── container.go
    │   │   │   │       ├── containerimage.go
    │   │   │   │       ├── containerport.go
    │   │   │   │       ├── containerresizepolicy.go
    │   │   │   │       ├── containerstate.go
    │   │   │   │       ├── containerstaterunning.go
    │   │   │   │       ├── containerstateterminated.go
    │   │   │   │       ├── containerstatewaiting.go
    │   │   │   │       ├── containerstatus.go
    │   │   │   │       ├── csipersistentvolumesource.go
    │   │   │   │       ├── csivolumesource.go
    │   │   │   │       ├── daemonendpoint.go
    │   │   │   │       ├── downwardapiprojection.go
    │   │   │   │       ├── downwardapivolumefile.go
    │   │   │   │       ├── downwardapivolumesource.go
    │   │   │   │       ├── emptydirvolumesource.go
    │   │   │   │       ├── endpointaddress.go
    │   │   │   │       ├── endpointport.go
    │   │   │   │       ├── endpoints.go
    │   │   │   │       ├── endpointsubset.go
    │   │   │   │       ├── envfromsource.go
    │   │   │   │       ├── envvar.go
    │   │   │   │       ├── envvarsource.go
    │   │   │   │       ├── ephemeralcontainer.go
    │   │   │   │       ├── ephemeralcontainercommon.go
    │   │   │   │       ├── ephemeralvolumesource.go
    │   │   │   │       ├── event.go
    │   │   │   │       ├── eventseries.go
    │   │   │   │       ├── eventsource.go
    │   │   │   │       ├── execaction.go
    │   │   │   │       ├── fcvolumesource.go
    │   │   │   │       ├── flexpersistentvolumesource.go
    │   │   │   │       ├── flexvolumesource.go
    │   │   │   │       ├── flockervolumesource.go
    │   │   │   │       ├── gcepersistentdiskvolumesource.go
    │   │   │   │       ├── gitrepovolumesource.go
    │   │   │   │       ├── glusterfspersistentvolumesource.go
    │   │   │   │       ├── glusterfsvolumesource.go
    │   │   │   │       ├── grpcaction.go
    │   │   │   │       ├── hostalias.go
    │   │   │   │       ├── hostpathvolumesource.go
    │   │   │   │       ├── httpgetaction.go
    │   │   │   │       ├── httpheader.go
    │   │   │   │       ├── iscsipersistentvolumesource.go
    │   │   │   │       ├── iscsivolumesource.go
    │   │   │   │       ├── keytopath.go
    │   │   │   │       ├── lifecycle.go
    │   │   │   │       ├── lifecyclehandler.go
    │   │   │   │       ├── limitrange.go
    │   │   │   │       ├── limitrangeitem.go
    │   │   │   │       ├── limitrangespec.go
    │   │   │   │       ├── loadbalanceringress.go
    │   │   │   │       ├── loadbalancerstatus.go
    │   │   │   │       ├── localobjectreference.go
    │   │   │   │       ├── localvolumesource.go
    │   │   │   │       ├── namespace.go
    │   │   │   │       ├── namespacecondition.go
    │   │   │   │       ├── namespacespec.go
    │   │   │   │       ├── namespacestatus.go
    │   │   │   │       ├── nfsvolumesource.go
    │   │   │   │       ├── node.go
    │   │   │   │       ├── nodeaddress.go
    │   │   │   │       ├── nodeaffinity.go
    │   │   │   │       ├── nodecondition.go
    │   │   │   │       ├── nodeconfigsource.go
    │   │   │   │       ├── nodeconfigstatus.go
    │   │   │   │       ├── nodedaemonendpoints.go
    │   │   │   │       ├── nodeselector.go
    │   │   │   │       ├── nodeselectorrequirement.go
    │   │   │   │       ├── nodeselectorterm.go
    │   │   │   │       ├── nodespec.go
    │   │   │   │       ├── nodestatus.go
    │   │   │   │       ├── nodesysteminfo.go
    │   │   │   │       ├── objectfieldselector.go
    │   │   │   │       ├── objectreference.go
    │   │   │   │       ├── persistentvolume.go
    │   │   │   │       ├── persistentvolumeclaim.go
    │   │   │   │       ├── persistentvolumeclaimcondition.go
    │   │   │   │       ├── persistentvolumeclaimspec.go
    │   │   │   │       ├── persistentvolumeclaimstatus.go
    │   │   │   │       ├── persistentvolumeclaimtemplate.go
    │   │   │   │       ├── persistentvolumeclaimvolumesource.go
    │   │   │   │       ├── persistentvolumesource.go
    │   │   │   │       ├── persistentvolumespec.go
    │   │   │   │       ├── persistentvolumestatus.go
    │   │   │   │       ├── photonpersistentdiskvolumesource.go
    │   │   │   │       ├── pod.go
    │   │   │   │       ├── podaffinity.go
    │   │   │   │       ├── podaffinityterm.go
    │   │   │   │       ├── podantiaffinity.go
    │   │   │   │       ├── podcondition.go
    │   │   │   │       ├── poddnsconfig.go
    │   │   │   │       ├── poddnsconfigoption.go
    │   │   │   │       ├── podip.go
    │   │   │   │       ├── podos.go
    │   │   │   │       ├── podreadinessgate.go
    │   │   │   │       ├── podresourceclaim.go
    │   │   │   │       ├── podschedulinggate.go
    │   │   │   │       ├── podsecuritycontext.go
    │   │   │   │       ├── podspec.go
    │   │   │   │       ├── podstatus.go
    │   │   │   │       ├── podtemplate.go
    │   │   │   │       ├── podtemplatespec.go
    │   │   │   │       ├── portstatus.go
    │   │   │   │       ├── portworxvolumesource.go
    │   │   │   │       ├── preferredschedulingterm.go
    │   │   │   │       ├── probe.go
    │   │   │   │       ├── probehandler.go
    │   │   │   │       ├── projectedvolumesource.go
    │   │   │   │       ├── quobytevolumesource.go
    │   │   │   │       ├── rbdpersistentvolumesource.go
    │   │   │   │       ├── rbdvolumesource.go
    │   │   │   │       ├── replicationcontroller.go
    │   │   │   │       ├── replicationcontrollercondition.go
    │   │   │   │       ├── replicationcontrollerspec.go
    │   │   │   │       ├── replicationcontrollerstatus.go
    │   │   │   │       ├── resourceclaim.go
    │   │   │   │       ├── resourcefieldselector.go
    │   │   │   │       ├── resourcequota.go
    │   │   │   │       ├── resourcequotaspec.go
    │   │   │   │       ├── resourcequotastatus.go
    │   │   │   │       ├── resourcerequirements.go
    │   │   │   │       ├── scaleiopersistentvolumesource.go
    │   │   │   │       ├── scaleiovolumesource.go
    │   │   │   │       ├── scopedresourceselectorrequirement.go
    │   │   │   │       ├── scopeselector.go
    │   │   │   │       ├── seccompprofile.go
    │   │   │   │       ├── secret.go
    │   │   │   │       ├── secretenvsource.go
    │   │   │   │       ├── secretkeyselector.go
    │   │   │   │       ├── secretprojection.go
    │   │   │   │       ├── secretreference.go
    │   │   │   │       ├── secretvolumesource.go
    │   │   │   │       ├── securitycontext.go
    │   │   │   │       ├── selinuxoptions.go
    │   │   │   │       ├── service.go
    │   │   │   │       ├── serviceaccount.go
    │   │   │   │       ├── serviceaccounttokenprojection.go
    │   │   │   │       ├── serviceport.go
    │   │   │   │       ├── servicespec.go
    │   │   │   │       ├── servicestatus.go
    │   │   │   │       ├── sessionaffinityconfig.go
    │   │   │   │       ├── storageospersistentvolumesource.go
    │   │   │   │       ├── storageosvolumesource.go
    │   │   │   │       ├── sysctl.go
    │   │   │   │       ├── taint.go
    │   │   │   │       ├── tcpsocketaction.go
    │   │   │   │       ├── toleration.go
    │   │   │   │       ├── topologyselectorlabelrequirement.go
    │   │   │   │       ├── topologyselectorterm.go
    │   │   │   │       ├── topologyspreadconstraint.go
    │   │   │   │       ├── typedlocalobjectreference.go
    │   │   │   │       ├── typedobjectreference.go
    │   │   │   │       ├── volume.go
    │   │   │   │       ├── volumedevice.go
    │   │   │   │       ├── volumemount.go
    │   │   │   │       ├── volumenodeaffinity.go
    │   │   │   │       ├── volumeprojection.go
    │   │   │   │       ├── volumesource.go
    │   │   │   │       ├── vspherevirtualdiskvolumesource.go
    │   │   │   │       ├── weightedpodaffinityterm.go
    │   │   │   │       └── windowssecuritycontextoptions.go
    │   │   │   ├── discovery/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── endpoint.go
    │   │   │   │   │   ├── endpointconditions.go
    │   │   │   │   │   ├── endpointhints.go
    │   │   │   │   │   ├── endpointport.go
    │   │   │   │   │   ├── endpointslice.go
    │   │   │   │   │   └── forzone.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── endpoint.go
    │   │   │   │       ├── endpointconditions.go
    │   │   │   │       ├── endpointhints.go
    │   │   │   │       ├── endpointport.go
    │   │   │   │       ├── endpointslice.go
    │   │   │   │       └── forzone.go
    │   │   │   ├── events/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── event.go
    │   │   │   │   │   └── eventseries.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── event.go
    │   │   │   │       └── eventseries.go
    │   │   │   ├── extensions/
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── daemonset.go
    │   │   │   │       ├── daemonsetcondition.go
    │   │   │   │       ├── daemonsetspec.go
    │   │   │   │       ├── daemonsetstatus.go
    │   │   │   │       ├── daemonsetupdatestrategy.go
    │   │   │   │       ├── deployment.go
    │   │   │   │       ├── deploymentcondition.go
    │   │   │   │       ├── deploymentspec.go
    │   │   │   │       ├── deploymentstatus.go
    │   │   │   │       ├── deploymentstrategy.go
    │   │   │   │       ├── httpingresspath.go
    │   │   │   │       ├── httpingressrulevalue.go
    │   │   │   │       ├── ingress.go
    │   │   │   │       ├── ingressbackend.go
    │   │   │   │       ├── ingressloadbalanceringress.go
    │   │   │   │       ├── ingressloadbalancerstatus.go
    │   │   │   │       ├── ingressportstatus.go
    │   │   │   │       ├── ingressrule.go
    │   │   │   │       ├── ingressrulevalue.go
    │   │   │   │       ├── ingressspec.go
    │   │   │   │       ├── ingressstatus.go
    │   │   │   │       ├── ingresstls.go
    │   │   │   │       ├── ipblock.go
    │   │   │   │       ├── networkpolicy.go
    │   │   │   │       ├── networkpolicyegressrule.go
    │   │   │   │       ├── networkpolicyingressrule.go
    │   │   │   │       ├── networkpolicypeer.go
    │   │   │   │       ├── networkpolicyport.go
    │   │   │   │       ├── networkpolicyspec.go
    │   │   │   │       ├── networkpolicystatus.go
    │   │   │   │       ├── replicaset.go
    │   │   │   │       ├── replicasetcondition.go
    │   │   │   │       ├── replicasetspec.go
    │   │   │   │       ├── replicasetstatus.go
    │   │   │   │       ├── rollbackconfig.go
    │   │   │   │       ├── rollingupdatedaemonset.go
    │   │   │   │       ├── rollingupdatedeployment.go
    │   │   │   │       └── scale.go
    │   │   │   ├── flowcontrol/
    │   │   │   │   ├── v1alpha1/
    │   │   │   │   │   ├── flowdistinguishermethod.go
    │   │   │   │   │   ├── flowschema.go
    │   │   │   │   │   ├── flowschemacondition.go
    │   │   │   │   │   ├── flowschemaspec.go
    │   │   │   │   │   ├── flowschemastatus.go
    │   │   │   │   │   ├── groupsubject.go
    │   │   │   │   │   ├── limitedprioritylevelconfiguration.go
    │   │   │   │   │   ├── limitresponse.go
    │   │   │   │   │   ├── nonresourcepolicyrule.go
    │   │   │   │   │   ├── policyruleswithsubjects.go
    │   │   │   │   │   ├── prioritylevelconfiguration.go
    │   │   │   │   │   ├── prioritylevelconfigurationcondition.go
    │   │   │   │   │   ├── prioritylevelconfigurationreference.go
    │   │   │   │   │   ├── prioritylevelconfigurationspec.go
    │   │   │   │   │   ├── prioritylevelconfigurationstatus.go
    │   │   │   │   │   ├── queuingconfiguration.go
    │   │   │   │   │   ├── resourcepolicyrule.go
    │   │   │   │   │   ├── serviceaccountsubject.go
    │   │   │   │   │   ├── subject.go
    │   │   │   │   │   └── usersubject.go
    │   │   │   │   ├── v1beta1/
    │   │   │   │   │   ├── flowdistinguishermethod.go
    │   │   │   │   │   ├── flowschema.go
    │   │   │   │   │   ├── flowschemacondition.go
    │   │   │   │   │   ├── flowschemaspec.go
    │   │   │   │   │   ├── flowschemastatus.go
    │   │   │   │   │   ├── groupsubject.go
    │   │   │   │   │   ├── limitedprioritylevelconfiguration.go
    │   │   │   │   │   ├── limitresponse.go
    │   │   │   │   │   ├── nonresourcepolicyrule.go
    │   │   │   │   │   ├── policyruleswithsubjects.go
    │   │   │   │   │   ├── prioritylevelconfiguration.go
    │   │   │   │   │   ├── prioritylevelconfigurationcondition.go
    │   │   │   │   │   ├── prioritylevelconfigurationreference.go
    │   │   │   │   │   ├── prioritylevelconfigurationspec.go
    │   │   │   │   │   ├── prioritylevelconfigurationstatus.go
    │   │   │   │   │   ├── queuingconfiguration.go
    │   │   │   │   │   ├── resourcepolicyrule.go
    │   │   │   │   │   ├── serviceaccountsubject.go
    │   │   │   │   │   ├── subject.go
    │   │   │   │   │   └── usersubject.go
    │   │   │   │   ├── v1beta2/
    │   │   │   │   │   ├── flowdistinguishermethod.go
    │   │   │   │   │   ├── flowschema.go
    │   │   │   │   │   ├── flowschemacondition.go
    │   │   │   │   │   ├── flowschemaspec.go
    │   │   │   │   │   ├── flowschemastatus.go
    │   │   │   │   │   ├── groupsubject.go
    │   │   │   │   │   ├── limitedprioritylevelconfiguration.go
    │   │   │   │   │   ├── limitresponse.go
    │   │   │   │   │   ├── nonresourcepolicyrule.go
    │   │   │   │   │   ├── policyruleswithsubjects.go
    │   │   │   │   │   ├── prioritylevelconfiguration.go
    │   │   │   │   │   ├── prioritylevelconfigurationcondition.go
    │   │   │   │   │   ├── prioritylevelconfigurationreference.go
    │   │   │   │   │   ├── prioritylevelconfigurationspec.go
    │   │   │   │   │   ├── prioritylevelconfigurationstatus.go
    │   │   │   │   │   ├── queuingconfiguration.go
    │   │   │   │   │   ├── resourcepolicyrule.go
    │   │   │   │   │   ├── serviceaccountsubject.go
    │   │   │   │   │   ├── subject.go
    │   │   │   │   │   └── usersubject.go
    │   │   │   │   └── v1beta3/
    │   │   │   │       ├── flowdistinguishermethod.go
    │   │   │   │       ├── flowschema.go
    │   │   │   │       ├── flowschemacondition.go
    │   │   │   │       ├── flowschemaspec.go
    │   │   │   │       ├── flowschemastatus.go
    │   │   │   │       ├── groupsubject.go
    │   │   │   │       ├── limitedprioritylevelconfiguration.go
    │   │   │   │       ├── limitresponse.go
    │   │   │   │       ├── nonresourcepolicyrule.go
    │   │   │   │       ├── policyruleswithsubjects.go
    │   │   │   │       ├── prioritylevelconfiguration.go
    │   │   │   │       ├── prioritylevelconfigurationcondition.go
    │   │   │   │       ├── prioritylevelconfigurationreference.go
    │   │   │   │       ├── prioritylevelconfigurationspec.go
    │   │   │   │       ├── prioritylevelconfigurationstatus.go
    │   │   │   │       ├── queuingconfiguration.go
    │   │   │   │       ├── resourcepolicyrule.go
    │   │   │   │       ├── serviceaccountsubject.go
    │   │   │   │       ├── subject.go
    │   │   │   │       └── usersubject.go
    │   │   │   ├── internal/
    │   │   │   │   └── internal.go
    │   │   │   ├── meta/
    │   │   │   │   └── v1/
    │   │   │   │       ├── condition.go
    │   │   │   │       ├── deleteoptions.go
    │   │   │   │       ├── labelselector.go
    │   │   │   │       ├── labelselectorrequirement.go
    │   │   │   │       ├── managedfieldsentry.go
    │   │   │   │       ├── objectmeta.go
    │   │   │   │       ├── ownerreference.go
    │   │   │   │       ├── preconditions.go
    │   │   │   │       ├── typemeta.go
    │   │   │   │       └── unstructured.go
    │   │   │   ├── networking/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── httpingresspath.go
    │   │   │   │   │   ├── httpingressrulevalue.go
    │   │   │   │   │   ├── ingress.go
    │   │   │   │   │   ├── ingressbackend.go
    │   │   │   │   │   ├── ingressclass.go
    │   │   │   │   │   ├── ingressclassparametersreference.go
    │   │   │   │   │   ├── ingressclassspec.go
    │   │   │   │   │   ├── ingressloadbalanceringress.go
    │   │   │   │   │   ├── ingressloadbalancerstatus.go
    │   │   │   │   │   ├── ingressportstatus.go
    │   │   │   │   │   ├── ingressrule.go
    │   │   │   │   │   ├── ingressrulevalue.go
    │   │   │   │   │   ├── ingressservicebackend.go
    │   │   │   │   │   ├── ingressspec.go
    │   │   │   │   │   ├── ingressstatus.go
    │   │   │   │   │   ├── ingresstls.go
    │   │   │   │   │   ├── ipblock.go
    │   │   │   │   │   ├── networkpolicy.go
    │   │   │   │   │   ├── networkpolicyegressrule.go
    │   │   │   │   │   ├── networkpolicyingressrule.go
    │   │   │   │   │   ├── networkpolicypeer.go
    │   │   │   │   │   ├── networkpolicyport.go
    │   │   │   │   │   ├── networkpolicyspec.go
    │   │   │   │   │   ├── networkpolicystatus.go
    │   │   │   │   │   └── servicebackendport.go
    │   │   │   │   ├── v1alpha1/
    │   │   │   │   │   ├── clustercidr.go
    │   │   │   │   │   ├── clustercidrspec.go
    │   │   │   │   │   ├── ipaddress.go
    │   │   │   │   │   ├── ipaddressspec.go
    │   │   │   │   │   └── parentreference.go
    │   │   │   │   └── v1beta1/
    │   │   │   │       ├── httpingresspath.go
    │   │   │   │       ├── httpingressrulevalue.go
    │   │   │   │       ├── ingress.go
    │   │   │   │       ├── ingressbackend.go
    │   │   │   │       ├── ingressclass.go
    │   │   │   │       ├── ingressclassparametersreference.go
    │   │   │   │       ├── ingressclassspec.go
    │   │   │   │       ├── ingressloadbalanceringress.go
    │   │   │   │       ├── ingressloadbalancerstatus.go
    │   │   │   │       ├── ingressportstatus.go
    │   │   │   │       ├── ingressrule.go
    │   │   │   │       ├── ingressrulevalue.go
    │   │   │   │       ├── ingressspec.go
    │   │   │   │       ├── ingressstatus.go
    │   │   │   │       └── ingresstls.go
    │   │   │   ├── node/
    │   │   │   │   ├── v1/
    │   │   │   │   │   ├── overhead.go
    │   │   │   │   │   ├── runtimeclass.go
    │   │   │   │   │   └── scheduling.go
    │   │   │   │   ├── v1alpha1/
    │   │   │   
Download .txt
Showing preview only (2,345K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (26703 symbols across 1783 files)

FILE: cmd/slim-sensor/main.go
  function main (line 7) | func main() {

FILE: cmd/slim/main.go
  function main (line 9) | func main() {

FILE: pkg/acounter/acounter.go
  type Type (line 7) | type Type struct
    method Value (line 11) | func (self *Type) Value() uint64 {
    method Inc (line 15) | func (self *Type) Inc() uint64 {
    method Add (line 19) | func (self *Type) Add(val uint64) uint64 {

FILE: pkg/aflag/aflag.go
  constant None (line 8) | None uint32 = iota
  constant Off (line 9) | Off
  constant On (line 10) | On
  type Type (line 13) | type Type struct
    method Value (line 17) | func (self *Type) Value() uint32 {
    method On (line 21) | func (self *Type) On() {
    method Off (line 25) | func (self *Type) Off() {
    method Set (line 29) | func (self *Type) Set(val uint32) {
    method IsOn (line 33) | func (self *Type) IsOn() bool {
    method IsOff (line 37) | func (self *Type) IsOff() bool {
    method IsNone (line 41) | func (self *Type) IsNone() bool {
    method Is (line 45) | func (self *Type) Is(val uint32) bool {
    method Has (line 49) | func (self *Type) Has(val uint32) bool {

FILE: pkg/app/constants.go
  constant DefaultArtifactsDirPath (line 4) | DefaultArtifactsDirPath = "/opt/_slim/artifacts"
  constant ArtifactFilesDirName (line 5) | ArtifactFilesDirName    = "files"

FILE: pkg/app/execontext.go
  constant ofJSON (line 19) | ofJSON = "json"
  constant ofText (line 20) | ofText = "text"
  type ExecutionContext (line 23) | type ExecutionContext struct
    method Exit (line 28) | func (ref *ExecutionContext) Exit(exitCode int) {
    method AddCleanupHandler (line 33) | func (ref *ExecutionContext) AddCleanupHandler(handler func()) {
    method doCleanup (line 39) | func (ref *ExecutionContext) doCleanup() {
    method FailOn (line 53) | func (ref *ExecutionContext) FailOn(err error) {
    method Fail (line 71) | func (ref *ExecutionContext) Fail(reason string) {
    method exit (line 89) | func (ref *ExecutionContext) exit(exitCode int) {
  function NewExecutionContext (line 101) | func NewExecutionContext(
  type Output (line 112) | type Output struct
    method LogDump (line 134) | func (ref *Output) LogDump(logType string, data string, params ...OutV...
    method Prompt (line 176) | func (ref *Output) Prompt(data string) {
    method Error (line 204) | func (ref *Output) Error(errType string, data string) {
    method Message (line 233) | func (ref *Output) Message(data string) {
    method State (line 261) | func (ref *Output) State(state string, params ...OutVars) {
    method Info (line 332) | func (ref *Output) Info(infoType string, params ...OutVars) {
  function NewOutput (line 118) | func NewOutput(cmdName string, quiet bool, outputFormat string) *Output {
  function NoColor (line 128) | func NoColor() {
  type OutVars (line 132) | type OutVars
  function ShowCommunityInfo (line 375) | func ShowCommunityInfo(outputFormat string) {

FILE: pkg/app/master/app.go
  function Run (line 12) | func Run() {

FILE: pkg/app/master/builder/image_builder.go
  type BasicImageBuilder (line 26) | type BasicImageBuilder struct
    method Build (line 129) | func (b *BasicImageBuilder) Build() error {
    method Remove (line 134) | func (b *BasicImageBuilder) Remove() error {
  type ImageBuilder (line 34) | type ImageBuilder struct
    method Build (line 364) | func (b *ImageBuilder) Build() error {
    method GenerateDockerfile (line 406) | func (b *ImageBuilder) GenerateDockerfile() error {
  constant dsCmdPortInfo (line 53) | dsCmdPortInfo = "65501/tcp"
  constant dsEvtPortInfo (line 54) | dsEvtPortInfo = "65502/tcp"
  function NewBasicImageBuilder (line 58) | func NewBasicImageBuilder(client *docker.Client,
  function NewImageBuilder (line 139) | func NewImageBuilder(

FILE: pkg/app/master/cli.go
  constant AppName (line 42) | AppName  = "slim"
  constant AppUsage (line 43) | AppUsage = "inspect, optimize and debug your containers!"
  function registerCommands (line 46) | func registerCommands() {
  function newCLI (line 73) | func newCLI() *cli.App {

FILE: pkg/app/master/command/appbom/cli.go
  constant Name (line 11) | Name  = "appbom"
  constant Usage (line 12) | Usage = "Show application BOM"
  constant Alias (line 13) | Alias = "a"

FILE: pkg/app/master/command/appbom/handler.go
  constant appName (line 11) | appName = command.AppName
  function OnCommand (line 16) | func OnCommand(

FILE: pkg/app/master/command/appbom/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/appbom/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/build/cli.go
  constant Name (line 18) | Name  = "build"
  constant Usage (line 19) | Usage = "Analyzes, profiles and optimizes your container image auto-gene...
  constant Alias (line 20) | Alias = "b"

FILE: pkg/app/master/command/build/flags.go
  constant FlagImageBuildEngine (line 18) | FlagImageBuildEngine = "image-build-engine"
  constant FlagImageBuildArch (line 19) | FlagImageBuildArch   = "image-build-arch"
  constant FlagDeleteFatImage (line 21) | FlagDeleteFatImage = "delete-generated-fat-image"
  constant FlagShowBuildLogs (line 23) | FlagShowBuildLogs = "show-blogs"
  constant FlagPathPerms (line 25) | FlagPathPerms        = "path-perms"
  constant FlagPathPermsFile (line 26) | FlagPathPermsFile    = "path-perms-file"
  constant FlagPreservePath (line 27) | FlagPreservePath     = "preserve-path"
  constant FlagPreservePathFile (line 28) | FlagPreservePathFile = "preserve-path-file"
  constant FlagIncludePath (line 29) | FlagIncludePath      = "include-path"
  constant FlagIncludePathFile (line 30) | FlagIncludePathFile  = "include-path-file"
  constant FlagIncludeBin (line 31) | FlagIncludeBin       = "include-bin"
  constant FlagIncludeBinFile (line 32) | FlagIncludeBinFile   = "include-bin-file"
  constant FlagIncludeExe (line 33) | FlagIncludeExe       = "include-exe"
  constant FlagIncludeExeFile (line 34) | FlagIncludeExeFile   = "include-exe-file"
  constant FlagIncludeShell (line 35) | FlagIncludeShell     = "include-shell"
  constant FlagIncludeDirBins (line 37) | FlagIncludeDirBins      = "include-dir-bins"
  constant FlagIncludeDirBinsUsage (line 38) | FlagIncludeDirBinsUsage = "Keep binaries in the target directory (execut...
  constant FlagIncludeWorkdir (line 40) | FlagIncludeWorkdir      = "include-workdir"
  constant FlagIncludeWorkdirUsage (line 41) | FlagIncludeWorkdirUsage = "Keep files in working directory"
  constant FlagWorkdirExclude (line 44) | FlagWorkdirExclude      = "workdir-exclude"
  constant FlagWorkdirExcludeUsage (line 45) | FlagWorkdirExcludeUsage = "Exclude filter for artifacts when working dir...
  constant FlagIncludeAppImageAddCopyAll (line 47) | FlagIncludeAppImageAddCopyAll = "include-app-image-addcopy-all"
  constant FlagIncludeAppImageRun (line 48) | FlagIncludeAppImageRun        = "include-app-image-run"
  constant FlagIncludeAppImageAll (line 50) | FlagIncludeAppImageAll      = "include-app-image-all"
  constant FlagIncludeAppImageAllUsage (line 51) | FlagIncludeAppImageAllUsage = "Keep everything in the app part of the co...
  constant FlagAppImageStartInst (line 53) | FlagAppImageStartInst      = "app-image-start-instruction"
  constant FlagAppImageStartInstUsage (line 54) | FlagAppImageStartInstUsage = "Instruction (prefix) that indicates where ...
  constant FlagAppImageStartLayerCount (line 56) | FlagAppImageStartLayerCount = "app-image-start-layer-count"
  constant FlagAppImageStartInstGroup (line 58) | FlagAppImageStartInstGroup      = "app-image-start-instruction-group"
  constant FlagAppImageStartInstGroupUsage (line 59) | FlagAppImageStartInstGroupUsage = "Instruction group (reverse) index tha...
  constant FlagAppImageStartDetect (line 61) | FlagAppImageStartDetect = "app-image-start-detect"
  constant FlagAppImageDockerfile (line 63) | FlagAppImageDockerfile      = "app-image-dockerfile"
  constant FlagAppImageDockerfileUsage (line 64) | FlagAppImageDockerfileUsage = "Path to app image Dockerfile (used to det...
  constant FlagIncludePathsCreportFile (line 66) | FlagIncludePathsCreportFile      = "include-paths-creport-file"
  constant FlagIncludePathsCreportFileUsage (line 67) | FlagIncludePathsCreportFileUsage = "Keep files from the referenced creport"
  constant FlagIncludeOSLibsNet (line 69) | FlagIncludeOSLibsNet      = "include-oslibs-net"
  constant FlagIncludeOSLibsNetUsage (line 70) | FlagIncludeOSLibsNetUsage = "Keep the common networking OS libraries"
  constant FlagIncludeSSHClient (line 72) | FlagIncludeSSHClient           = "include-ssh-client"
  constant FlagIncludeSSHClientUsage (line 73) | FlagIncludeSSHClientUsage      = "Keep the common SSH client components ...
  constant FlagIncludeSSHClientAll (line 74) | FlagIncludeSSHClientAll        = "include-ssh-client-all"
  constant FlagIncludeSSHClientAllUsage (line 75) | FlagIncludeSSHClientAllUsage   = "Keep all SSH client components and con...
  constant FlagIncludeSSHClientBasic (line 76) | FlagIncludeSSHClientBasic      = "include-ssh-client-basic"
  constant FlagIncludeSSHClientBasicUsage (line 77) | FlagIncludeSSHClientBasicUsage = "Keep the basic SSH client components a...
  constant FlagIncludeZoneInfo (line 79) | FlagIncludeZoneInfo = "include-zoneinfo"
  constant FlagIncludeCertAll (line 81) | FlagIncludeCertAll     = "include-cert-all"
  constant FlagIncludeCertBundles (line 82) | FlagIncludeCertBundles = "include-cert-bundles-only"
  constant FlagIncludeCertDirs (line 83) | FlagIncludeCertDirs    = "include-cert-dirs"
  constant FlagIncludeCertPKAll (line 84) | FlagIncludeCertPKAll   = "include-cert-pk-all"
  constant FlagIncludeCertPKDirs (line 85) | FlagIncludeCertPKDirs  = "include-cert-pk-dirs"
  constant FlagIncludeNew (line 87) | FlagIncludeNew = "include-new"
  constant FlagKeepTmpArtifacts (line 91) | FlagKeepTmpArtifacts = "keep-tmp-artifacts"
  constant FlagIncludeAppNuxtDir (line 93) | FlagIncludeAppNuxtDir            = "include-app-nuxt-dir"
  constant FlagIncludeAppNuxtBuildDir (line 94) | FlagIncludeAppNuxtBuildDir       = "include-app-nuxt-build-dir"
  constant FlagIncludeAppNuxtDistDir (line 95) | FlagIncludeAppNuxtDistDir        = "include-app-nuxt-dist-dir"
  constant FlagIncludeAppNuxtStaticDir (line 96) | FlagIncludeAppNuxtStaticDir      = "include-app-nuxt-static-dir"
  constant FlagIncludeAppNuxtNodeModulesDir (line 97) | FlagIncludeAppNuxtNodeModulesDir = "include-app-nuxt-nodemodules-dir"
  constant FlagIncludeAppNextDir (line 99) | FlagIncludeAppNextDir            = "include-app-next-dir"
  constant FlagIncludeAppNextBuildDir (line 100) | FlagIncludeAppNextBuildDir       = "include-app-next-build-dir"
  constant FlagIncludeAppNextDistDir (line 101) | FlagIncludeAppNextDistDir        = "include-app-next-dist-dir"
  constant FlagIncludeAppNextStaticDir (line 102) | FlagIncludeAppNextStaticDir      = "include-app-next-static-dir"
  constant FlagIncludeAppNextNodeModulesDir (line 103) | FlagIncludeAppNextNodeModulesDir = "include-app-next-nodemodules-dir"
  constant FlagIncludeNodePackage (line 105) | FlagIncludeNodePackage = "include-node-package"
  constant FlagKeepPerms (line 107) | FlagKeepPerms = "keep-perms"
  constant FlagExcludePattern (line 111) | FlagExcludePattern      = "exclude-pattern"
  constant FlagExcludePatternUsage (line 112) | FlagExcludePatternUsage = "Exclude path pattern (Glob/Match in Go and **...
  constant FlagExcludeVarLockFiles (line 114) | FlagExcludeVarLockFiles      = "exclude-varlock-files"
  constant FlagExcludeVarLockFilesUsage (line 115) | FlagExcludeVarLockFilesUsage = "Exclude the files in the var and run loc...
  constant FlagExcludeMounts (line 119) | FlagExcludeMounts      = "exclude-mounts"
  constant FlagExcludeMountsUsage (line 120) | FlagExcludeMountsUsage = "Exclude mounted volumes from image"
  constant FlagNewEntrypoint (line 124) | FlagNewEntrypoint = "new-entrypoint"
  constant FlagNewCmd (line 125) | FlagNewCmd        = "new-cmd"
  constant FlagNewLabel (line 126) | FlagNewLabel      = "new-label"
  constant FlagNewVolume (line 127) | FlagNewVolume     = "new-volume"
  constant FlagNewExpose (line 128) | FlagNewExpose     = "new-expose"
  constant FlagNewWorkdir (line 129) | FlagNewWorkdir    = "new-workdir"
  constant FlagNewEnv (line 130) | FlagNewEnv        = "new-env"
  constant FlagRemoveVolume (line 131) | FlagRemoveVolume  = "remove-volume"
  constant FlagRemoveExpose (line 132) | FlagRemoveExpose  = "remove-expose"
  constant FlagRemoveEnv (line 133) | FlagRemoveEnv     = "remove-env"
  constant FlagRemoveLabel (line 134) | FlagRemoveLabel   = "remove-label"
  constant FlagTag (line 136) | FlagTag = "tag"
  constant FlagImageOverrides (line 138) | FlagImageOverrides = "image-overrides"
  constant FlagTagFat (line 141) | FlagTagFat              = "tag-fat"
  constant FlagBuildFromDockerfile (line 142) | FlagBuildFromDockerfile = "dockerfile"
  constant FlagDockerfileContext (line 143) | FlagDockerfileContext   = "dockerfile-context"
  constant FlagCBOAddHost (line 144) | FlagCBOAddHost          = "cbo-add-host"
  constant FlagCBOBuildArg (line 145) | FlagCBOBuildArg         = "cbo-build-arg"
  constant FlagCBOLabel (line 146) | FlagCBOLabel            = "cbo-label"
  constant FlagCBOTarget (line 147) | FlagCBOTarget           = "cbo-target"
  constant FlagCBONetwork (line 148) | FlagCBONetwork          = "cbo-network"
  constant FlagCBOCacheFrom (line 149) | FlagCBOCacheFrom        = "cbo-cache-from"
  constant FlagObfuscateMetadata (line 152) | FlagObfuscateMetadata = "obfuscate-metadata"
  constant FlagImageBuildEngineUsage (line 157) | FlagImageBuildEngineUsage = "Select image build engine: internal | docke...
  constant FlagImageBuildArchUsage (line 158) | FlagImageBuildArchUsage   = "Select output image build architecture"
  constant FlagDeleteFatImageUsage (line 160) | FlagDeleteFatImageUsage = "Delete generated fat image requires --dockerf...
  constant FlagShowBuildLogsUsage (line 162) | FlagShowBuildLogsUsage = "Show image build logs"
  constant FlagPathPermsUsage (line 164) | FlagPathPermsUsage        = "Set path permissions in optimized image"
  constant FlagPathPermsFileUsage (line 165) | FlagPathPermsFileUsage    = "File with path permissions to set"
  constant FlagPreservePathUsage (line 166) | FlagPreservePathUsage     = "Keep path from orignal image in its initial...
  constant FlagPreservePathFileUsage (line 167) | FlagPreservePathFileUsage = "File with paths to keep from original image...
  constant FlagIncludePathUsage (line 168) | FlagIncludePathUsage      = "Keep path from original image"
  constant FlagIncludePathFileUsage (line 169) | FlagIncludePathFileUsage  = "File with paths to keep from original image"
  constant FlagIncludeBinUsage (line 170) | FlagIncludeBinUsage       = "Keep binary from original image (executable...
  constant FlagIncludeExeUsage (line 171) | FlagIncludeExeUsage       = "Keep executable from original image (by exe...
  constant FlagIncludeShellUsage (line 172) | FlagIncludeShellUsage     = "Keep basic shell functionality"
  constant FlagIncludeZoneInfoUsage (line 174) | FlagIncludeZoneInfoUsage = "Keep the OS/libc zoneinfo data"
  constant FlagIncludeCertAllUsage (line 176) | FlagIncludeCertAllUsage     = "Keep all discovered cert files"
  constant FlagIncludeCertBundlesUsage (line 177) | FlagIncludeCertBundlesUsage = "Keep only cert bundles"
  constant FlagIncludeCertDirsUsage (line 178) | FlagIncludeCertDirsUsage    = "Keep known cert directories and all files...
  constant FlagIncludeCertPKAllUsage (line 179) | FlagIncludeCertPKAllUsage   = "Keep all discovered cert private keys"
  constant FlagIncludeCertPKDirsUsage (line 180) | FlagIncludeCertPKDirsUsage  = "Keep known cert private key directories a...
  constant FlagIncludeNewUsage (line 182) | FlagIncludeNewUsage = "Keep new files created by target during dynamic a...
  constant FlagKeepTmpArtifactsUsage (line 184) | FlagKeepTmpArtifactsUsage = "Keep temporary artifacts when command is done"
  constant FlagIncludeAppNuxtDirUsage (line 186) | FlagIncludeAppNuxtDirUsage            = "Keep the root Nuxt.js app direc...
  constant FlagIncludeAppNuxtBuildDirUsage (line 187) | FlagIncludeAppNuxtBuildDirUsage       = "Keep the build Nuxt.js app dire...
  constant FlagIncludeAppNuxtDistDirUsage (line 188) | FlagIncludeAppNuxtDistDirUsage        = "Keep the dist Nuxt.js app direc...
  constant FlagIncludeAppNuxtStaticDirUsage (line 189) | FlagIncludeAppNuxtStaticDirUsage      = "Keep the static asset directory...
  constant FlagIncludeAppNuxtNodeModulesDirUsage (line 190) | FlagIncludeAppNuxtNodeModulesDirUsage = "Keep the node modules directory...
  constant FlagIncludeAppNextDirUsage (line 192) | FlagIncludeAppNextDirUsage            = "Keep the root Next.js app direc...
  constant FlagIncludeAppNextBuildDirUsage (line 193) | FlagIncludeAppNextBuildDirUsage       = "Keep the build directory for Ne...
  constant FlagIncludeAppNextDistDirUsage (line 194) | FlagIncludeAppNextDistDirUsage        = "Keep the static SPA directory f...
  constant FlagIncludeAppNextStaticDirUsage (line 195) | FlagIncludeAppNextStaticDirUsage      = "Keep the static public asset di...
  constant FlagIncludeAppNextNodeModulesDirUsage (line 196) | FlagIncludeAppNextNodeModulesDirUsage = "Keep the node modules directory...
  constant FlagIncludeNodePackageUsage (line 198) | FlagIncludeNodePackageUsage = "Keep node.js package by name"
  constant FlagKeepPermsUsage (line 200) | FlagKeepPermsUsage = "Keep artifact permissions as-is"
  constant FlagNewEntrypointUsage (line 202) | FlagNewEntrypointUsage = "New ENTRYPOINT instruction for the optimized i...
  constant FlagNewCmdUsage (line 203) | FlagNewCmdUsage        = "New CMD instruction for the optimized image"
  constant FlagNewVolumeUsage (line 204) | FlagNewVolumeUsage     = "New VOLUME instructions for the optimized image"
  constant FlagNewLabelUsage (line 205) | FlagNewLabelUsage      = "New LABEL instructions for the optimized image"
  constant FlagNewExposeUsage (line 206) | FlagNewExposeUsage     = "New EXPOSE instructions for the optimized image"
  constant FlagNewWorkdirUsage (line 207) | FlagNewWorkdirUsage    = "New WORKDIR instruction for the optimized image"
  constant FlagNewEnvUsage (line 208) | FlagNewEnvUsage        = "New ENV instructions for the optimized image"
  constant FlagRemoveExposeUsage (line 209) | FlagRemoveExposeUsage  = "Remove EXPOSE instructions for the optimized i...
  constant FlagRemoveEnvUsage (line 210) | FlagRemoveEnvUsage     = "Remove ENV instructions for the optimized image"
  constant FlagRemoveLabelUsage (line 211) | FlagRemoveLabelUsage   = "Remove LABEL instructions for the optimized im...
  constant FlagRemoveVolumeUsage (line 212) | FlagRemoveVolumeUsage  = "Remove VOLUME instructions for the optimized i...
  constant FlagTagUsage (line 214) | FlagTagUsage = "Custom tags for the generated image"
  constant FlagImageOverridesUsage (line 216) | FlagImageOverridesUsage = "Save runtime overrides in generated image (va...
  constant FlagIncludeBinFileUsage (line 218) | FlagIncludeBinFileUsage = "File with shared binary file names to include...
  constant FlagIncludeExeFileUsage (line 219) | FlagIncludeExeFileUsage = "File with executable file names to include fr...
  constant FlagTagFatUsage (line 221) | FlagTagFatUsage              = "Custom tag for the fat image built from ...
  constant FlagBuildFromDockerfileUsage (line 222) | FlagBuildFromDockerfileUsage = "The source Dockerfile name to build the ...
  constant FlagDockerfileContextUsage (line 223) | FlagDockerfileContextUsage   = "The build context directory when buildin...
  constant FlagCBOAddHostUsage (line 224) | FlagCBOAddHostUsage          = "Add an extra host-to-IP mapping in /etc/...
  constant FlagCBOBuildArgUsage (line 225) | FlagCBOBuildArgUsage         = "Add a build-time variable"
  constant FlagCBOLabelUsage (line 226) | FlagCBOLabelUsage            = "Add a label when building from Dockerfiles"
  constant FlagCBOTargetUsage (line 227) | FlagCBOTargetUsage           = "Target stage to build for multi-stage Do...
  constant FlagCBONetworkUsage (line 228) | FlagCBONetworkUsage          = "Networking mode to use for the RUN instr...
  constant FlagCBOCacheFromUsage (line 229) | FlagCBOCacheFromUsage        = "Add an image to the build cache"
  constant FlagObfuscateMetadataUsage (line 231) | FlagObfuscateMetadataUsage = "Obfuscate the standard system and applicat...
  function cflag (line 644) | func cflag(name string) cli.Flag {
  function GetContainerBuildOptions (line 653) | func GetContainerBuildOptions(ctx *cli.Context) (*config.ContainerBuildO...
  function GetImageInstructions (line 733) | func GetImageInstructions(ctx *cli.Context) (*config.ImageNewInstruction...
  function GetAppNodejsInspectOptions (line 823) | func GetAppNodejsInspectOptions(ctx *cli.Context) config.AppNodejsInspec...
  function getAppNextInspectOptions (line 831) | func getAppNextInspectOptions(ctx *cli.Context) config.NodejsWebFramewor...
  function getAppNuxtInspectOptions (line 841) | func getAppNuxtInspectOptions(ctx *cli.Context) config.NodejsWebFramewor...
  function GetKubernetesOptions (line 851) | func GetKubernetesOptions(ctx *cli.Context) (config.KubernetesOptions, e...
  constant IBENone (line 873) | IBENone     = "none"
  constant IBEInternal (line 874) | IBEInternal = "internal"
  constant IBEDocker (line 875) | IBEDocker   = "docker"
  constant IBEBuildKit (line 876) | IBEBuildKit = "buildkit"
  function getImageBuildEngine (line 879) | func getImageBuildEngine(ctx *cli.Context) (string, error) {
  constant ArchEmpty (line 890) | ArchEmpty = ""
  constant ArchAmd64 (line 891) | ArchAmd64 = "amd64"
  constant ArchArm64 (line 892) | ArchArm64 = "arm64"
  function getImageBuildArch (line 895) | func getImageBuildArch(ctx *cli.Context) (string, error) {

FILE: pkg/app/master/command/build/handler.go
  constant appName (line 42) | appName = command.AppName
  constant composeProjectNamePat (line 43) | composeProjectNamePat = "dsbuild_%v_%v"
  constant ecbOther (line 47) | ecbOther = iota + 1
  constant ecbBadCustomImageTag (line 48) | ecbBadCustomImageTag
  constant ecbImageBuildError (line 49) | ecbImageBuildError
  constant ecbImageAlreadyOptimized (line 50) | ecbImageAlreadyOptimized
  constant ecbOnbuildBaseImage (line 51) | ecbOnbuildBaseImage
  constant ecbNoEntrypoint (line 52) | ecbNoEntrypoint
  constant ecbBadTargetComposeSvc (line 53) | ecbBadTargetComposeSvc
  constant ecbComposeSvcNoImage (line 54) | ecbComposeSvcNoImage
  constant ecbComposeSvcUnknownImage (line 55) | ecbComposeSvcUnknownImage
  constant ecbKubernetesNoWorkload (line 56) | ecbKubernetesNoWorkload
  constant ecbKubernetesNoWorkloadContainer (line 57) | ecbKubernetesNoWorkloadContainer
  constant ecbNotImplementedYet (line 58) | ecbNotImplementedYet
  function OnCommand (line 64) | func OnCommand(
  function monitorContainer (line 1262) | func monitorContainer(
  function finishCommand (line 1498) | func finishCommand(
  function hasContinueAfterMode (line 1711) | func hasContinueAfterMode(modeSet, mode string) bool {
  function NewLogWriter (line 1721) | func NewLogWriter(name string) *chanWriter {
  type chanWriter (line 1737) | type chanWriter struct
    method Write (line 1744) | func (w *chanWriter) Write(p []byte) (n int, err error) {

FILE: pkg/app/master/command/build/image.go
  function inspectFatImage (line 29) | func inspectFatImage(
  function buildFatImage (line 176) | func buildFatImage(
  function buildOutputImage (line 274) | func buildOutputImage(
  constant dsCmdPortInfo (line 490) | dsCmdPortInfo = "65501/tcp"
  constant dsEvtPortInfo (line 491) | dsEvtPortInfo = "65502/tcp"
  function UpdateBuildOptionsWithNewInstructions (line 494) | func UpdateBuildOptionsWithNewInstructions(
  function UpdateBuildOptionsWithOverrides (line 572) | func UpdateBuildOptionsWithOverrides(
  function UpdateBuildOptionsWithSrcImageInfo (line 619) | func UpdateBuildOptionsWithSrcImageInfo(
  function SourceToOutputImageLabels (line 660) | func SourceToOutputImageLabels(srcLabels map[string]string) map[string]s...

FILE: pkg/app/master/command/build/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/build/kubernetes.go
  type kubeHandler (line 29) | type kubeHandler struct
    method Handle (line 103) | func (h *kubeHandler) Handle(
    method findWorkloadOrFail (line 239) | func (h *kubeHandler) findWorkloadOrFail(target config.KubernetesTarge...
    method applyManifestsOrFail (line 290) | func (h *kubeHandler) applyManifestsOrFail(
    method monitorPod (line 306) | func (h *kubeHandler) monitorPod(
    method processCollectedDataOrFail (line 395) | func (h *kubeHandler) processCollectedDataOrFail(podInspector *pod.Ins...
  function newKubeHandler (line 42) | func newKubeHandler(
  type kubeHandleOptions (line 66) | type kubeHandleOptions struct
  function asJSON (line 419) | func asJSON(val interface{}) string {

FILE: pkg/app/master/command/build/prompt.go
  function CompleteImageBuildEngine (line 249) | func CompleteImageBuildEngine(ia *command.InteractiveApp, token string, ...
  function CompleteImageBuildArch (line 258) | func CompleteImageBuildArch(ia *command.InteractiveApp, token string, pa...

FILE: pkg/app/master/command/build/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/cliflags.go
  constant FlagCommandReport (line 15) | FlagCommandReport = "report"
  constant FlagCheckVersion (line 16) | FlagCheckVersion  = "check-version"
  constant FlagDebug (line 17) | FlagDebug         = "debug"
  constant FlagVerbose (line 18) | FlagVerbose       = "verbose"
  constant FlagQuietCLIMode (line 19) | FlagQuietCLIMode  = "quiet"
  constant FlagLogLevel (line 20) | FlagLogLevel      = "log-level"
  constant FlagLog (line 21) | FlagLog           = "log"
  constant FlagLogFormat (line 22) | FlagLogFormat     = "log-format"
  constant FlagAPIVersion (line 23) | FlagAPIVersion    = "crt-api-version"
  constant FlagUseTLS (line 24) | FlagUseTLS        = "tls"
  constant FlagVerifyTLS (line 25) | FlagVerifyTLS     = "tls-verify"
  constant FlagTLSCertPath (line 26) | FlagTLSCertPath   = "tls-cert-path"
  constant FlagHost (line 27) | FlagHost          = "host"
  constant FlagStatePath (line 28) | FlagStatePath     = "state-path"
  constant FlagInContainer (line 29) | FlagInContainer   = "in-container"
  constant FlagArchiveState (line 30) | FlagArchiveState  = "archive-state"
  constant FlagNoColor (line 31) | FlagNoColor       = "no-color"
  constant FlagOutputFormat (line 32) | FlagOutputFormat  = "output-format"
  constant OutputFormatJSON (line 36) | OutputFormatJSON = "json"
  constant OutputFormatText (line 37) | OutputFormatText = "text"
  constant FlagCommandReportUsage (line 42) | FlagCommandReportUsage = "command report location (enabled by default; s...
  constant FlagCheckVersionUsage (line 43) | FlagCheckVersionUsage  = "check if the current version is outdated"
  constant FlagDebugUsage (line 44) | FlagDebugUsage         = "enable debug logs"
  constant FlagVerboseUsage (line 45) | FlagVerboseUsage       = "enable info logs"
  constant FlagQuietCLIModeUsage (line 46) | FlagQuietCLIModeUsage  = "Quiet CLI execution mode"
  constant FlagLogLevelUsage (line 47) | FlagLogLevelUsage      = "set the logging level ('trace', 'debug', 'info...
  constant FlagLogUsage (line 48) | FlagLogUsage           = "log file to store logs"
  constant FlagLogFormatUsage (line 49) | FlagLogFormatUsage     = "set the format used by logs ('text' (default),...
  constant FlagOutputFormatUsage (line 50) | FlagOutputFormatUsage  = "set the output format to use ('text' (default)...
  constant FlagUseTLSUsage (line 51) | FlagUseTLSUsage        = "use TLS"
  constant FlagVerifyTLSUsage (line 52) | FlagVerifyTLSUsage     = "verify TLS"
  constant FlagTLSCertPathUsage (line 53) | FlagTLSCertPathUsage   = "path to TLS cert files"
  constant FlagAPIVersionUsage (line 54) | FlagAPIVersionUsage    = "Container runtime API version"
  constant FlagHostUsage (line 55) | FlagHostUsage          = "Docker host address or socket (prefix with 'tc...
  constant FlagStatePathUsage (line 56) | FlagStatePathUsage     = "app state base path"
  constant FlagInContainerUsage (line 57) | FlagInContainerUsage   = "app is running in a container"
  constant FlagArchiveStateUsage (line 58) | FlagArchiveStateUsage  = "archive app state to the selected Docker volum...
  constant FlagNoColorUsage (line 59) | FlagNoColorUsage       = "disable color output"
  constant FlagCommandParamsFile (line 64) | FlagCommandParamsFile = "command-params-file"
  constant FlagTarget (line 65) | FlagTarget            = "target"
  constant FlagPull (line 66) | FlagPull              = "pull"
  constant FlagDockerConfigPath (line 67) | FlagDockerConfigPath  = "docker-config-path"
  constant FlagRegistryAccount (line 68) | FlagRegistryAccount   = "registry-account"
  constant FlagRegistrySecret (line 69) | FlagRegistrySecret    = "registry-secret"
  constant FlagShowPullLogs (line 70) | FlagShowPullLogs      = "show-plogs"
  constant FlagComposeFile (line 73) | FlagComposeFile                    = "compose-file"
  constant FlagTargetComposeSvc (line 74) | FlagTargetComposeSvc               = "target-compose-svc"
  constant FlagTargetComposeSvcImage (line 75) | FlagTargetComposeSvcImage          = "target-compose-svc-image"
  constant FlagComposeSvcStartWait (line 76) | FlagComposeSvcStartWait            = "compose-svc-start-wait"
  constant FlagComposeSvcNoPorts (line 77) | FlagComposeSvcNoPorts              = "target-compose-svc-no-ports"
  constant FlagDepExcludeComposeSvcAll (line 78) | FlagDepExcludeComposeSvcAll        = "dep-exclude-compose-svc-all"
  constant FlagDepIncludeComposeSvc (line 79) | FlagDepIncludeComposeSvc           = "dep-include-compose-svc"
  constant FlagDepExcludeComposeSvc (line 80) | FlagDepExcludeComposeSvc           = "dep-exclude-compose-svc"
  constant FlagDepIncludeComposeSvcDeps (line 81) | FlagDepIncludeComposeSvcDeps       = "dep-include-compose-svc-deps"
  constant FlagDepIncludeTargetComposeSvcDeps (line 82) | FlagDepIncludeTargetComposeSvcDeps = "dep-include-target-compose-svc-deps"
  constant FlagComposeNet (line 83) | FlagComposeNet                     = "compose-net"
  constant FlagComposeEnvNoHost (line 84) | FlagComposeEnvNoHost               = "compose-env-nohost"
  constant FlagComposeEnvFile (line 85) | FlagComposeEnvFile                 = "compose-env-file"
  constant FlagComposeWorkdir (line 86) | FlagComposeWorkdir                 = "compose-workdir"
  constant FlagComposeProjectName (line 87) | FlagComposeProjectName             = "compose-project-name"
  constant FlagPrestartComposeSvc (line 88) | FlagPrestartComposeSvc             = "prestart-compose-svc"
  constant FlagPoststartComposeSvc (line 89) | FlagPoststartComposeSvc            = "poststart-compose-svc"
  constant FlagPrestartComposeWaitExit (line 90) | FlagPrestartComposeWaitExit        = "prestart-compose-wait-exit"
  constant FlagContainerProbeComposeSvc (line 91) | FlagContainerProbeComposeSvc       = "container-probe-compose-svc"
  constant FlagTargetKubeWorkload (line 94) | FlagTargetKubeWorkload          = "target-kube-workload"
  constant FlagTargetKubeWorkloadNamespace (line 95) | FlagTargetKubeWorkloadNamespace = "target-kube-workload-namespace"
  constant FlagTargetKubeWorkloadContainer (line 96) | FlagTargetKubeWorkloadContainer = "target-kube-workload-container"
  constant FlagTargetKubeWorkloadImage (line 97) | FlagTargetKubeWorkloadImage     = "target-kube-workload-image"
  constant FlagKubeManifestFile (line 98) | FlagKubeManifestFile            = "kube-manifest-file"
  constant FlagKubeKubeconfigFile (line 99) | FlagKubeKubeconfigFile          = "kube-kubeconfig-file"
  constant FlagRemoveFileArtifacts (line 105) | FlagRemoveFileArtifacts = "remove-file-artifacts"
  constant FlagCopyMetaArtifacts (line 106) | FlagCopyMetaArtifacts   = "copy-meta-artifacts"
  constant FlagHTTPProbe (line 108) | FlagHTTPProbe                 = "http-probe"
  constant FlagHTTPProbeOff (line 109) | FlagHTTPProbeOff              = "http-probe-off"
  constant FlagHTTPProbeCmd (line 110) | FlagHTTPProbeCmd              = "http-probe-cmd"
  constant FlagHTTPProbeCmdFile (line 111) | FlagHTTPProbeCmdFile          = "http-probe-cmd-file"
  constant FlagHTTPProbeStartWait (line 112) | FlagHTTPProbeStartWait        = "http-probe-start-wait"
  constant FlagHTTPProbeRetryCount (line 113) | FlagHTTPProbeRetryCount       = "http-probe-retry-count"
  constant FlagHTTPProbeRetryWait (line 114) | FlagHTTPProbeRetryWait        = "http-probe-retry-wait"
  constant FlagHTTPProbePorts (line 115) | FlagHTTPProbePorts            = "http-probe-ports"
  constant FlagHTTPProbeFull (line 116) | FlagHTTPProbeFull             = "http-probe-full"
  constant FlagHTTPProbeExitOnFailure (line 117) | FlagHTTPProbeExitOnFailure    = "http-probe-exit-on-failure"
  constant FlagHTTPProbeCrawl (line 118) | FlagHTTPProbeCrawl            = "http-probe-crawl"
  constant FlagHTTPCrawlMaxDepth (line 119) | FlagHTTPCrawlMaxDepth         = "http-crawl-max-depth"
  constant FlagHTTPCrawlMaxPageCount (line 120) | FlagHTTPCrawlMaxPageCount     = "http-crawl-max-page-count"
  constant FlagHTTPCrawlConcurrency (line 121) | FlagHTTPCrawlConcurrency      = "http-crawl-concurrency"
  constant FlagHTTPMaxConcurrentCrawlers (line 122) | FlagHTTPMaxConcurrentCrawlers = "http-max-concurrent-crawlers"
  constant FlagHTTPProbeAPISpec (line 123) | FlagHTTPProbeAPISpec          = "http-probe-apispec"
  constant FlagHTTPProbeAPISpecFile (line 124) | FlagHTTPProbeAPISpecFile      = "http-probe-apispec-file"
  constant FlagHTTPProbeProxyEndpoint (line 125) | FlagHTTPProbeProxyEndpoint    = "http-probe-proxy-endpoint"
  constant FlagHTTPProbeProxyPort (line 126) | FlagHTTPProbeProxyPort        = "http-probe-proxy-port"
  constant FlagHostExec (line 128) | FlagHostExec     = "host-exec"
  constant FlagHostExecFile (line 129) | FlagHostExecFile = "host-exec-file"
  constant FlagPublishPort (line 131) | FlagPublishPort         = "publish-port"
  constant FlagPublishExposedPorts (line 132) | FlagPublishExposedPorts = "publish-exposed-ports"
  constant FlagRunTargetAsUser (line 134) | FlagRunTargetAsUser   = "run-target-as-user"
  constant FlagShowContainerLogs (line 135) | FlagShowContainerLogs = "show-clogs"
  constant FlagEnableMondelLogs (line 136) | FlagEnableMondelLogs  = "enable-mondel"
  constant FlagUseLocalMounts (line 138) | FlagUseLocalMounts  = "use-local-mounts"
  constant FlagUseSensorVolume (line 139) | FlagUseSensorVolume = "use-sensor-volume"
  constant FlagContinueAfter (line 140) | FlagContinueAfter   = "continue-after"
  constant FlagRTAOnbuildBaseImage (line 143) | FlagRTAOnbuildBaseImage = "rta-onbuild-base-image"
  constant FlagRTASourcePT (line 144) | FlagRTASourcePT         = "rta-source-ptrace"
  constant FlagSensorIPCEndpoint (line 147) | FlagSensorIPCEndpoint = "sensor-ipc-endpoint"
  constant FlagSensorIPCMode (line 148) | FlagSensorIPCMode     = "sensor-ipc-mode"
  constant FlagExec (line 150) | FlagExec     = "exec"
  constant FlagExecFile (line 151) | FlagExecFile = "exec-file"
  constant FlagCRORuntime (line 154) | FlagCRORuntime        = "cro-runtime"
  constant FlagCROHostConfigFile (line 155) | FlagCROHostConfigFile = "cro-host-config-file"
  constant FlagCROSysctl (line 156) | FlagCROSysctl         = "cro-sysctl"
  constant FlagCROShmSize (line 157) | FlagCROShmSize        = "cro-shm-size"
  constant FlagUser (line 160) | FlagUser               = "user"
  constant FlagEntrypoint (line 161) | FlagEntrypoint         = "entrypoint"
  constant FlagCmd (line 162) | FlagCmd                = "cmd"
  constant FlagWorkdir (line 163) | FlagWorkdir            = "workdir"
  constant FlagEnv (line 164) | FlagEnv                = "env"
  constant FlagEnvFile (line 165) | FlagEnvFile            = "env-file"
  constant FlagLabel (line 166) | FlagLabel              = "label"
  constant FlagVolume (line 167) | FlagVolume             = "volume"
  constant FlagExpose (line 168) | FlagExpose             = "expose"
  constant FlagLink (line 169) | FlagLink               = "link"
  constant FlagNetwork (line 170) | FlagNetwork            = "network"
  constant FlagHostname (line 171) | FlagHostname           = "hostname"
  constant FlagEtcHostsMap (line 172) | FlagEtcHostsMap        = "etc-hosts-map"
  constant FlagContainerDNS (line 173) | FlagContainerDNS       = "container-dns"
  constant FlagContainerDNSSearch (line 174) | FlagContainerDNSSearch = "container-dns-search"
  constant FlagMount (line 175) | FlagMount              = "mount"
  constant FlagDeleteFatImage (line 176) | FlagDeleteFatImage     = "delete-generated-fat-image"
  constant FlagCommandParamsFileUsage (line 181) | FlagCommandParamsFileUsage = "JSON file with all command parameters"
  constant FlagTargetUsage (line 182) | FlagTargetUsage            = "Target container image (name or ID)"
  constant FlagPullUsage (line 183) | FlagPullUsage              = "Try pulling target if it's not available l...
  constant FlagDockerConfigPathUsage (line 184) | FlagDockerConfigPathUsage  = "Docker config path (used to fetch registry...
  constant FlagRegistryAccountUsage (line 185) | FlagRegistryAccountUsage   = "Target registry account used when pulling ...
  constant FlagRegistrySecretUsage (line 186) | FlagRegistrySecretUsage    = "Target registry secret used when pulling i...
  constant FlagShowPullLogsUsage (line 187) | FlagShowPullLogsUsage      = "Show image pull logs"
  constant FlagComposeFileUsage (line 190) | FlagComposeFileUsage                    = "Load container info from sele...
  constant FlagTargetComposeSvcUsage (line 191) | FlagTargetComposeSvcUsage               = "Target service from compose f...
  constant FlagTargetComposeSvcImageUsage (line 192) | FlagTargetComposeSvcImageUsage          = "Override the container image ...
  constant FlagComposeSvcStartWaitUsage (line 193) | FlagComposeSvcStartWaitUsage            = "Number of seconds to wait bef...
  constant FlagComposeSvcNoPortsUsage (line 194) | FlagComposeSvcNoPortsUsage              = "Do not publish ports for targ...
  constant FlagDepExcludeComposeSvcAllUsage (line 195) | FlagDepExcludeComposeSvcAllUsage        = "Do not start any compose serv...
  constant FlagDepIncludeComposeSvcUsage (line 196) | FlagDepIncludeComposeSvcUsage           = "Include specific compose serv...
  constant FlagDepExcludeComposeSvcUsage (line 197) | FlagDepExcludeComposeSvcUsage           = "Exclude specific service from...
  constant FlagDepIncludeComposeSvcDepsUsage (line 198) | FlagDepIncludeComposeSvcDepsUsage       = "Include all dependencies for ...
  constant FlagDepIncludeTargetComposeSvcDepsUsage (line 199) | FlagDepIncludeTargetComposeSvcDepsUsage = "Include all dependencies for ...
  constant FlagComposeNetUsage (line 200) | FlagComposeNetUsage                     = "Attach target to the selected...
  constant FlagComposeEnvNoHostUsage (line 201) | FlagComposeEnvNoHostUsage               = "Don't include the env vars fr...
  constant FlagComposeEnvFileUsage (line 202) | FlagComposeEnvFileUsage                 = "Load compose env vars from fi...
  constant FlagComposeWorkdirUsage (line 203) | FlagComposeWorkdirUsage                 = "Set custom work directory for...
  constant FlagContainerProbeComposeSvcUsage (line 204) | FlagContainerProbeComposeSvcUsage       = "Container test/probe service ...
  constant FlagComposeProjectNameUsage (line 205) | FlagComposeProjectNameUsage             = "Use custom project name for c...
  constant FlagPrestartComposeSvcUsage (line 206) | FlagPrestartComposeSvcUsage             = "Run selected compose service(...
  constant FlagPoststartComposeSvcUsage (line 207) | FlagPoststartComposeSvcUsage            = "Run selected compose service(...
  constant FlagPrestartComposeWaitExitUsage (line 208) | FlagPrestartComposeWaitExitUsage        = "Wait for selected prestart co...
  constant FlagTargetKubeWorkloadUsage (line 211) | FlagTargetKubeWorkloadUsage          = "[Experimental] Target Kubernetes...
  constant FlagTargetKubeWorkloadNamespaceUsage (line 212) | FlagTargetKubeWorkloadNamespaceUsage = "[Experimental] Target Kubernetes...
  constant FlagTargetKubeWorkloadContainerUsage (line 213) | FlagTargetKubeWorkloadContainerUsage = "[Experimental] Target container ...
  constant FlagTargetKubeWorkloadImageUsage (line 214) | FlagTargetKubeWorkloadImageUsage     = "[Experimental] Override the cont...
  constant FlagKubeManifestFileUsage (line 215) | FlagKubeManifestFileUsage            = "[Experimental] Kubernetes manife...
  constant FlagKubeKubeconfigFileUsage (line 216) | FlagKubeKubeconfigFileUsage          = "[Experimental] Path to the kubec...
  constant FlagRemoveFileArtifactsUsage (line 218) | FlagRemoveFileArtifactsUsage = "remove file artifacts when command is done"
  constant FlagCopyMetaArtifactsUsage (line 219) | FlagCopyMetaArtifactsUsage   = "copy metadata artifacts to the selected ...
  constant FlagHTTPProbeUsage (line 221) | FlagHTTPProbeUsage                 = "Enable or disable HTTP probing"
  constant FlagHTTPProbeOffUsage (line 222) | FlagHTTPProbeOffUsage              = "Alternative way to disable HTTP pr...
  constant FlagHTTPProbeCmdUsage (line 223) | FlagHTTPProbeCmdUsage              = "User defined HTTP probe(s) as [[[[...
  constant FlagHTTPProbeCmdFileUsage (line 224) | FlagHTTPProbeCmdFileUsage          = "File with user defined HTTP probes"
  constant FlagHTTPProbeStartWaitUsage (line 225) | FlagHTTPProbeStartWaitUsage        = "Number of seconds to wait before s...
  constant FlagHTTPProbeRetryCountUsage (line 226) | FlagHTTPProbeRetryCountUsage       = "Number of retries for each HTTP pr...
  constant FlagHTTPProbeRetryWaitUsage (line 227) | FlagHTTPProbeRetryWaitUsage        = "Number of seconds to wait before r...
  constant FlagHTTPProbePortsUsage (line 228) | FlagHTTPProbePortsUsage            = "Explicit list of ports to probe (i...
  constant FlagHTTPProbeFullUsage (line 229) | FlagHTTPProbeFullUsage             = "Do full HTTP probe for all selecte...
  constant FlagHTTPProbeExitOnFailureUsage (line 230) | FlagHTTPProbeExitOnFailureUsage    = "Exit when all HTTP probe commands ...
  constant FlagHTTPProbeCrawlUsage (line 231) | FlagHTTPProbeCrawlUsage            = "Enable crawling for the default HT...
  constant FlagHTTPCrawlMaxDepthUsage (line 232) | FlagHTTPCrawlMaxDepthUsage         = "Max depth to use for the HTTP prob...
  constant FlagHTTPCrawlMaxPageCountUsage (line 233) | FlagHTTPCrawlMaxPageCountUsage     = "Max number of pages to visit for t...
  constant FlagHTTPCrawlConcurrencyUsage (line 234) | FlagHTTPCrawlConcurrencyUsage      = "Number of concurrent workers when ...
  constant FlagHTTPMaxConcurrentCrawlersUsage (line 235) | FlagHTTPMaxConcurrentCrawlersUsage = "Number of concurrent crawlers in t...
  constant FlagHTTPProbeAPISpecUsage (line 236) | FlagHTTPProbeAPISpecUsage          = "Run HTTP probes for API spec"
  constant FlagHTTPProbeAPISpecFileUsage (line 237) | FlagHTTPProbeAPISpecFileUsage      = "Run HTTP probes for API spec from ...
  constant FlagHTTPProbeProxyEndpointUsage (line 238) | FlagHTTPProbeProxyEndpointUsage    = "Endpoint to proxy HTTP probes"
  constant FlagHTTPProbeProxyPortUsage (line 239) | FlagHTTPProbeProxyPortUsage        = "Port to proxy HTTP probes (used wi...
  constant FlagHostExecUsage (line 241) | FlagHostExecUsage     = "Host commands to execute (aka host commands pro...
  constant FlagHostExecFileUsage (line 242) | FlagHostExecFileUsage = "Host commands to execute loaded from file (aka ...
  constant FlagPublishPortUsage (line 244) | FlagPublishPortUsage         = "Map container port to host port (format ...
  constant FlagPublishExposedPortsUsage (line 245) | FlagPublishExposedPortsUsage = "Map all exposed ports to the same host p...
  constant FlagRunTargetAsUserUsage (line 247) | FlagRunTargetAsUserUsage   = "Run target app as USER"
  constant FlagShowContainerLogsUsage (line 248) | FlagShowContainerLogsUsage = "Show container logs"
  constant FlagEnableMondelLogsUsage (line 249) | FlagEnableMondelLogsUsage  = "Enable data event log for sensor monitors"
  constant FlagUseLocalMountsUsage (line 251) | FlagUseLocalMountsUsage  = "Mount local paths for target container artif...
  constant FlagUseSensorVolumeUsage (line 252) | FlagUseSensorVolumeUsage = "Sensor volume name to use"
  constant FlagContinueAfterUsage (line 253) | FlagContinueAfterUsage   = "Select continue mode: enter | signal | probe...
  constant FlagRTAOnbuildBaseImageUsage (line 255) | FlagRTAOnbuildBaseImageUsage = "Enable runtime analysis for onbuild base...
  constant FlagRTASourcePTUsage (line 256) | FlagRTASourcePTUsage         = "Enable PTRACE runtime analysis source"
  constant FlagSensorIPCEndpointUsage (line 258) | FlagSensorIPCEndpointUsage = "Override sensor IPC endpoint"
  constant FlagSensorIPCModeUsage (line 259) | FlagSensorIPCModeUsage     = "Select sensor IPC mode: proxy | direct"
  constant FlagExecUsage (line 261) | FlagExecUsage     = "A shell script snippet to run via Docker exec"
  constant FlagExecFileUsage (line 262) | FlagExecFileUsage = "A shell script file to run via Docker exec"
  constant FlagCRORuntimeUsage (line 265) | FlagCRORuntimeUsage        = "Runtime to use with the created containers"
  constant FlagCROHostConfigFileUsage (line 266) | FlagCROHostConfigFileUsage = "Base Docker host configuration file (JSON ...
  constant FlagCROSysctlUsage (line 267) | FlagCROSysctlUsage         = "Set namespaced kernel parameters in the cr...
  constant FlagCROShmSizeUsage (line 268) | FlagCROShmSizeUsage        = "Shared memory size for /dev/shm in the cre...
  constant FlagUserUsage (line 270) | FlagUserUsage               = "Override USER analyzing image at runtime"
  constant FlagEntrypointUsage (line 271) | FlagEntrypointUsage         = "Override ENTRYPOINT analyzing image at ru...
  constant FlagCmdUsage (line 272) | FlagCmdUsage                = "Override CMD analyzing image at runtime. ...
  constant FlagWorkdirUsage (line 273) | FlagWorkdirUsage            = "Override WORKDIR analyzing image at runti...
  constant FlagEnvUsage (line 274) | FlagEnvUsage                = "Override or add ENV only during runtime. ...
  constant FlagEnvFileUsage (line 275) | FlagEnvFileUsage            = "File to override or add ENV only during r...
  constant FlagLabelUsage (line 276) | FlagLabelUsage              = "Override or add LABEL analyzing image at ...
  constant FlagVolumeUsage (line 277) | FlagVolumeUsage             = "Add VOLUME analyzing image at runtime. To...
  constant FlagExposeUsage (line 278) | FlagExposeUsage             = "Use additional EXPOSE instructions analyz...
  constant FlagLinkUsage (line 279) | FlagLinkUsage               = "Add link to another container analyzing i...
  constant FlagNetworkUsage (line 280) | FlagNetworkUsage            = "Override default container network settin...
  constant FlagHostnameUsage (line 281) | FlagHostnameUsage           = "Override default container hostname analy...
  constant FlagEtcHostsMapUsage (line 282) | FlagEtcHostsMapUsage        = "Add a host to IP mapping to /etc/hosts an...
  constant FlagContainerDNSUsage (line 283) | FlagContainerDNSUsage       = "Add a dns server analyzing image at runtime"
  constant FlagContainerDNSSearchUsage (line 284) | FlagContainerDNSSearchUsage = "Add a dns search domain for unqualified h...
  constant FlagMountUsage (line 285) | FlagMountUsage              = "Mount volume analyzing image"
  constant FlagDeleteFatImageUsage (line 286) | FlagDeleteFatImageUsage     = "Delete generated fat image requires --doc...
  function GlobalFlags (line 291) | func GlobalFlags() []cli.Flag {
  function Cflag (line 920) | func Cflag(name string) cli.Flag {
  function HTTPProbeFlags (line 929) | func HTTPProbeFlags() []cli.Flag {
  function HTTPProbeFlagsBasic (line 937) | func HTTPProbeFlagsBasic() []cli.Flag {
  constant FlagShowProgress (line 960) | FlagShowProgress = "show-progress"
  constant FlagShowProgressUsage (line 965) | FlagShowProgressUsage = "show progress when the release package is downl...

FILE: pkg/app/master/command/clifvgetter.go
  function GetContainerRunOptions (line 22) | func GetContainerRunOptions(ctx *cli.Context) (*config.ContainerRunOptio...
  function GetHTTPProbeOptions (line 57) | func GetHTTPProbeOptions(xc *app.ExecutionContext, ctx *cli.Context, doP...
  function GetDefaultHTTPProbe (line 147) | func GetDefaultHTTPProbe() config.HTTPProbeCmd {
  function GetHTTPProbes (line 155) | func GetHTTPProbes(ctx *cli.Context) ([]config.HTTPProbeCmd, error) {
  function GetContinueAfter (line 173) | func GetContinueAfter(ctx *cli.Context) (*config.ContinueAfter, error) {
  function RemoveContinueAfterMode (line 214) | func RemoveContinueAfterMode(continueAfter, mode string) string {
  function GetContinueAfterModeNames (line 230) | func GetContinueAfterModeNames(continueAfter string) []string {
  function GetContainerOverrides (line 234) | func GetContainerOverrides(xc *app.ExecutionContext, ctx *cli.Context) (...
  function UpdateGlobalFlagValues (line 322) | func UpdateGlobalFlagValues(appOpts *config.AppOptions, values *GenericP...
  function GlobalFlagValues (line 382) | func GlobalFlagValues(ctx *cli.Context) *GenericParams {
  function GetDockerClientConfig (line 408) | func GetDockerClientConfig(ctx *cli.Context) *config.DockerClient {
  function validateAndCleanEnvVariables (line 431) | func validateAndCleanEnvVariables(xc *app.ExecutionContext, envList []st...

FILE: pkg/app/master/command/clifvparser.go
  constant DefaultStateArchiveVolumeName (line 28) | DefaultStateArchiveVolumeName = "slim-state"
  function IsInContainer (line 31) | func IsInContainer(flag bool) (bool, bool) {
  function ArchiveState (line 39) | func ArchiveState(flag string, inContainer bool) string {
  function ParseDockerExposeOpt (line 56) | func ParseDockerExposeOpt(values []string) (map[docker.Port]struct{}, er...
  function ParsePortBindings (line 82) | func ParsePortBindings(values []string) (map[docker.Port][]docker.PortBi...
  function IsOneSpace (line 135) | func IsOneSpace(value string) bool {
  function ParseImageOverrides (line 156) | func ParseImageOverrides(value string) map[string]bool {
  function ParseExec (line 175) | func ParseExec(value string) ([]string, error) {
  function ParseTokenSet (line 192) | func ParseTokenSet(values []string) (map[string]struct{}, error) {
  function ParseTokenMap (line 206) | func ParseTokenMap(values []string) (map[string]string, error) {
  function ParseCheckTags (line 225) | func ParseCheckTags(values []string) (map[string]string, error) {
  function ParseTokenSetFile (line 248) | func ParseTokenSetFile(filePath string) (map[string]struct{}, error) {
  function ParseVolumeMounts (line 286) | func ParseVolumeMounts(values []string) (map[string]config.VolumeMount, ...
  function ParseVolumeMountsAsList (line 319) | func ParseVolumeMountsAsList(values []string) ([]config.VolumeMount, err...
  function ParsePathPerms (line 357) | func ParsePathPerms(raw string) (string, *fsutil.AccessInfo, error) {
  function ParsePaths (line 428) | func ParsePaths(values []string) map[string]*fsutil.AccessInfo {
  function ValidateFiles (line 449) | func ValidateFiles(names []string) ([]string, map[string]error) {
  function ParsePathsFile (line 476) | func ParsePathsFile(filePath string) (map[string]*fsutil.AccessInfo, err...
  function ParsePathsCreportFile (line 534) | func ParsePathsCreportFile(filePath string) (map[string]*fsutil.AccessIn...
  function ParseHTTPProbes (line 579) | func ParseHTTPProbes(values []string) ([]config.HTTPProbeCmd, error) {
  function ParseHTTPProbesFile (line 650) | func ParseHTTPProbesFile(filePath string) ([]config.HTTPProbeCmd, error) {
  function isMethod (line 722) | func isMethod(value string) bool {
  function isResource (line 731) | func isResource(value string) bool {
  function isPortNum (line 739) | func isPortNum(value int) bool {
  function ParseHTTPProbesPorts (line 747) | func ParseHTTPProbesPorts(portList string) ([]uint16, error) {
  function ParseHTTPProbeExecFile (line 767) | func ParseHTTPProbeExecFile(filePath string) ([]string, error) {
  function ParseLinesWithCommentsFile (line 805) | func ParseLinesWithCommentsFile(filePath string) ([]string, error) {
  function IsTrueStr (line 843) | func IsTrueStr(value string) bool {
  function ParseEnvFile (line 851) | func ParseEnvFile(filePath string) ([]string, error) {

FILE: pkg/app/master/command/cliprompt.go
  type InteractiveApp (line 29) | type InteractiveApp struct
    method execute (line 70) | func (ia *InteractiveApp) execute(command string) {
    method complete (line 113) | func (ia *InteractiveApp) complete(params prompt.Document) []prompt.Su...
    method Run (line 272) | func (ia *InteractiveApp) Run() {
  function NewInteractiveApp (line 36) | func NewInteractiveApp(app *cli.App, gparams *GenericParams) *Interactiv...
  type CompleteValue (line 278) | type CompleteValue
  type FlagSuggestions (line 280) | type FlagSuggestions struct
  constant InputStateEmpty (line 292) | InputStateEmpty            = "empty"
  constant InputStateGlobalFlag (line 293) | InputStateGlobalFlag       = "global.flag"
  constant InputStateGlobalFlagValue (line 294) | InputStateGlobalFlagValue  = "global.flag.value"
  constant InputStateCommand (line 295) | InputStateCommand          = "command"
  constant InputStateCommandFlag (line 296) | InputStateCommandFlag      = "command.flag"
  constant InputStateCommandFlagValue (line 297) | InputStateCommandFlagValue = "command.flag.value"
  type CurrentCommandState (line 300) | type CurrentCommandState struct
    method GetCFValue (line 325) | func (ref *CurrentCommandState) GetCFValue(name string) string {
    method GetCFValueWithDefault (line 329) | func (ref *CurrentCommandState) GetCFValueWithDefault(name string, dva...
  function newCurrentCommandState (line 315) | func newCurrentCommandState() *CurrentCommandState {
  function saveCurrentCommandState (line 339) | func saveCurrentCommandState(value *CurrentCommandState) {
  function GetCurrentCommandState (line 346) | func GetCurrentCommandState() *CurrentCommandState {
  function FullFlagName (line 383) | func FullFlagName(name string) string {
  function CompleteProgress (line 419) | func CompleteProgress(ia *InteractiveApp, token string, params prompt.Do...
  function CompleteBool (line 428) | func CompleteBool(ia *InteractiveApp, token string, params prompt.Docume...
  function CompleteTBool (line 432) | func CompleteTBool(ia *InteractiveApp, token string, params prompt.Docum...
  function CompleteContinueAfter (line 436) | func CompleteContinueAfter(ia *InteractiveApp, token string, params prom...
  function CompleteOutputFormat (line 440) | func CompleteOutputFormat(ia *InteractiveApp, token string, params promp...
  function CompleteIPCMode (line 444) | func CompleteIPCMode(ia *InteractiveApp, token string, params prompt.Doc...
  function CompleteImage (line 448) | func CompleteImage(ia *InteractiveApp, token string, params prompt.Docum...
  function CompleteVolume (line 473) | func CompleteVolume(ia *InteractiveApp, token string, params prompt.Docu...
  function CompleteNetwork (line 492) | func CompleteNetwork(ia *InteractiveApp, token string, params prompt.Doc...
  function CompleteFile (line 511) | func CompleteFile(ia *InteractiveApp, token string, params prompt.Docume...

FILE: pkg/app/master/command/common.go
  constant ImagesStateRootPath (line 26) | ImagesStateRootPath = "images"
  type CLIContextKey (line 37) | type CLIContextKey
  constant GlobalParams (line 40) | GlobalParams CLIContextKey = 1
  constant AppParams (line 41) | AppParams    CLIContextKey = 2
  function CLIContextSave (line 44) | func CLIContextSave(ctx context.Context, key CLIContextKey, data interfa...
  function CLIContextGet (line 48) | func CLIContextGet(ctx context.Context, key CLIContextKey) interface{} {
  type GenericParams (line 58) | type GenericParams struct
  constant ECTCommon (line 79) | ECTCommon  = 0x01000000
  constant ECTBuild (line 80) | ECTBuild   = 0x02000000
  constant ectProfile (line 81) | ectProfile = 0x03000000
  constant ectInfo (line 82) | ectInfo    = 0x04000000
  constant ectUpdate (line 83) | ectUpdate  = 0x05000000
  constant ectVersion (line 84) | ectVersion = 0x06000000
  constant ECTXray (line 85) | ECTXray    = 0x07000000
  constant ECTRun (line 86) | ECTRun     = 0x08000000
  constant ECTMerge (line 87) | ECTMerge   = 0x09000000
  constant ECCOther (line 92) | ECCOther = iota + 1
  constant ECCImageNotFound (line 93) | ECCImageNotFound
  constant ECCNoDockerConnectInfo (line 94) | ECCNoDockerConnectInfo
  constant ECCBadNetworkName (line 95) | ECCBadNetworkName
  constant AppName (line 99) | AppName = "slim"
  constant appName (line 100) | appName = "slim"
  function DoArchiveState (line 105) | func DoArchiveState(logger *log.Entry, client *docker.Client, localState...
  function CopyMetaArtifacts (line 137) | func CopyMetaArtifacts(logger *log.Entry, names []string, artifactLocati...
  function ConfirmNetwork (line 168) | func ConfirmNetwork(logger *log.Entry, client *docker.Client, network st...
  function UpdateImageRef (line 187) | func UpdateImageRef(logger *log.Entry, ref, override string) string {
  function RunHostExecProbes (line 217) | func RunHostExecProbes(printState bool, xc *app.ExecutionContext, hostEx...
  function exeAppCall (line 270) | func exeAppCall(appCall string) error {
  function AddCLICommand (line 316) | func AddCLICommand(
  function GetCommands (line 331) | func GetCommands() []*cli.Command {

FILE: pkg/app/master/command/containerize/cli.go
  constant Name (line 11) | Name  = "containerize"
  constant Usage (line 12) | Usage = "Containerize the target app"
  constant Alias (line 13) | Alias = "c"

FILE: pkg/app/master/command/containerize/handler.go
  constant appName (line 17) | appName = command.AppName
  function OnCommand (line 22) | func OnCommand(

FILE: pkg/app/master/command/containerize/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/containerize/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/convert/cli.go
  constant Name (line 11) | Name  = "convert"
  constant Usage (line 12) | Usage = "Convert container image"
  constant Alias (line 13) | Alias = "k"

FILE: pkg/app/master/command/convert/handler.go
  constant appName (line 17) | appName = command.AppName
  function OnCommand (line 22) | func OnCommand(

FILE: pkg/app/master/command/convert/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/convert/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/debug/cli.go
  constant Name (line 15) | Name  = "debug"
  constant Usage (line 16) | Usage = "Debug the target container from a debug (side-car) container"
  constant Alias (line 17) | Alias = "dbg"
  constant DockerRuntime (line 21) | DockerRuntime     = "docker"
  constant KubernetesRuntime (line 22) | KubernetesRuntime = "k8s"
  constant KubeconfigDefault (line 23) | KubeconfigDefault = "${HOME}/.kube/config"
  constant NamespaceDefault (line 24) | NamespaceDefault  = "default"
  type NVPair (line 27) | type NVPair struct
  type CommandParams (line 32) | type CommandParams struct
  function ParseNameValueList (line 73) | func ParseNameValueList(list []string) []NVPair {

FILE: pkg/app/master/command/debug/debug_images.go
  constant CgrSlimToolkitDebugImage (line 8) | CgrSlimToolkitDebugImage = "cgr.dev/chainguard/slim-toolkit-debug:latest"
  constant WolfiBaseImage (line 9) | WolfiBaseImage           = "cgr.dev/chainguard/wolfi-base:latest"
  constant BusyboxImage (line 10) | BusyboxImage             = "busybox:latest"
  constant NicolakaNetshootImage (line 11) | NicolakaNetshootImage    = "nicolaka/netshoot"
  constant KoolkitsNodeImage (line 12) | KoolkitsNodeImage        = "lightruncom/koolkits:node"
  constant KoolkitsPythonImage (line 13) | KoolkitsPythonImage      = "lightruncom/koolkits:python"
  constant KoolkitsGolangImage (line 14) | KoolkitsGolangImage      = "lightruncom/koolkits:golang"
  constant KoolkitsJVMImage (line 15) | KoolkitsJVMImage         = "lightruncom/koolkits:jvm"
  constant DigitaloceanDoksImage (line 16) | DigitaloceanDoksImage    = "digitalocean/doks-debug:latest"
  constant ZinclabsUbuntuImage (line 17) | ZinclabsUbuntuImage      = "public.ecr.aws/zinclabs/debug-ubuntu-base:la...
  constant InfuserImage (line 18) | InfuserImage             = "ghcr.io/teaxyz/infuser:latest"
  function ShellCommandPrefix (line 35) | func ShellCommandPrefix(imageName string) []string {

FILE: pkg/app/master/command/debug/flags.go
  constant FlagRuntime (line 10) | FlagRuntime      = "runtime"
  constant FlagRuntimeUsage (line 11) | FlagRuntimeUsage = "Runtime environment type"
  constant FlagTarget (line 13) | FlagTarget      = "target"
  constant FlagTargetUsage (line 14) | FlagTargetUsage = "Target container (name or ID)"
  constant FlagNamespace (line 16) | FlagNamespace      = "namespace"
  constant FlagNamespaceUsage (line 17) | FlagNamespaceUsage = "Namespace to target (k8s runtime)"
  constant FlagPod (line 19) | FlagPod      = "pod"
  constant FlagPodUsage (line 20) | FlagPodUsage = "Pod to target (k8s runtime)"
  constant FlagDebugImage (line 22) | FlagDebugImage      = "debug-image"
  constant FlagDebugImageUsage (line 23) | FlagDebugImageUsage = "Debug image to use for the debug side-car container"
  constant FlagEntrypoint (line 25) | FlagEntrypoint      = "entrypoint"
  constant FlagEntrypointUsage (line 26) | FlagEntrypointUsage = "Custom ENTRYPOINT to use for the debug side-car c...
  constant FlagCmd (line 28) | FlagCmd      = "cmd"
  constant FlagCmdUsage (line 29) | FlagCmdUsage = "Custom CMD to use for the debug side-car container (alte...
  constant FlagWorkdir (line 31) | FlagWorkdir      = "workdir"
  constant FlagWorkdirUsage (line 32) | FlagWorkdirUsage = "Custom WORKDIR to use for the debug side-car contain...
  constant FlagEnv (line 35) | FlagEnv      = "env"
  constant FlagEnvUsage (line 36) | FlagEnvUsage = "Environment variable to add to the debug side-car contai...
  constant FlagMount (line 39) | FlagMount      = "mount"
  constant FlagMountUsage (line 40) | FlagMountUsage = "Volume mount to create in the debug side-car container."
  constant FlagLoadAllTargetEnvVars (line 43) | FlagLoadAllTargetEnvVars      = "load-all-target-env-vars"
  constant FlagLoadAllTargetEnvVarsUsage (line 44) | FlagLoadAllTargetEnvVarsUsage = "Load all (known) environment variables ...
  constant FlagTerminal (line 46) | FlagTerminal      = "terminal"
  constant FlagTerminalUsage (line 47) | FlagTerminalUsage = "Attach interactive terminal to the debug container"
  constant FlagRunAsTargetShell (line 49) | FlagRunAsTargetShell      = "run-as-target-shell"
  constant FlagRunAsTargetShellUsage (line 50) | FlagRunAsTargetShellUsage = "Attach interactive terminal to the debug co...
  constant FlagListSessions (line 52) | FlagListSessions      = "list-sessions"
  constant FlagListSessionsUsage (line 53) | FlagListSessionsUsage = "List all debug sessions for the selected target...
  constant FlagShowSessionLogs (line 55) | FlagShowSessionLogs      = "show-session-logs"
  constant FlagShowSessionLogsUsage (line 56) | FlagShowSessionLogsUsage = "Show logs for the selected debug session (us...
  constant FlagSession (line 58) | FlagSession      = "session"
  constant FlagSessionUsage (line 59) | FlagSessionUsage = "Debug session container name (used for debug sessoin...
  constant FlagConnectSession (line 61) | FlagConnectSession      = "connect-session"
  constant FlagConnectSessionUsage (line 62) | FlagConnectSessionUsage = "Connect to existing debug session."
  constant FlagConnectLastSession (line 65) | FlagConnectLastSession      = "connect-last-session"
  constant FlagConnectLastSessionUsage (line 66) | FlagConnectLastSessionUsage = "Connect to last debug session"
  constant FlagListNamespaces (line 68) | FlagListNamespaces      = "list-namespaces"
  constant FlagListNamespacesUsage (line 69) | FlagListNamespacesUsage = "List names for available namespaces (use this...
  constant FlagListPods (line 71) | FlagListPods      = "list-pods"
  constant FlagListPodsUsage (line 72) | FlagListPodsUsage = "List names for running pods in the selected namespa...
  constant FlagListDebuggableContainers (line 74) | FlagListDebuggableContainers      = "list-debuggable-containers"
  constant FlagListDebuggableContainersUsage (line 75) | FlagListDebuggableContainersUsage = "List container names for active con...
  constant FlagListDebugImage (line 77) | FlagListDebugImage      = "list-debug-images"
  constant FlagListDebugImageUsage (line 78) | FlagListDebugImageUsage = "List possible debug images to use for the deb...
  constant FlagKubeconfig (line 80) | FlagKubeconfig      = "kubeconfig"
  constant FlagKubeconfigUsage (line 81) | FlagKubeconfigUsage = "Kubeconfig file location (k8s runtime)"
  function cflag (line 207) | func cflag(name string) cli.Flag {

FILE: pkg/app/master/command/debug/handle_docker_runtime.go
  function HandleDockerRuntime (line 22) | func HandleDockerRuntime(
  function listDockerDebuggableContainers (line 284) | func listDockerDebuggableContainers(client *dockerapi.Client) (map[strin...
  function listDebuggableDockerContainersWithConfig (line 321) | func listDebuggableDockerContainersWithConfig(client *dockerapi.Client) ...
  function listDockerDebugContainers (line 326) | func listDockerDebugContainers(
  function listDockerDebugContainersWithConfig (line 381) | func listDockerDebugContainersWithConfig(
  function dumpDockerContainerLogs (line 389) | func dumpDockerContainerLogs(

FILE: pkg/app/master/command/debug/handle_kubernetes_runtime.go
  function HandleKubernetesRuntime (line 30) | func HandleKubernetesRuntime(
  function listNamespaces (line 592) | func listNamespaces(ctx context.Context, api *kubernetes.Clientset) ([]s...
  function listNamespacesWithConfig (line 610) | func listNamespacesWithConfig(kubeconfig string) ([]string, error) {
  function ensureNamespace (line 628) | func ensureNamespace(ctx context.Context, api *kubernetes.Clientset, nam...
  function listActivePods (line 654) | func listActivePods(ctx context.Context, api *kubernetes.Clientset, nsNa...
  function listActivePodsWithConfig (line 675) | func listActivePodsWithConfig(kubeconfig string, nsName string) ([]strin...
  function listAllActiveContainers (line 693) | func listAllActiveContainers(
  function listK8sDebuggableContainers (line 719) | func listK8sDebuggableContainers(
  function listDebuggableK8sContainersWithConfig (line 750) | func listDebuggableK8sContainersWithConfig(
  function listK8sDebugContainers (line 796) | func listK8sDebugContainers(
  function listK8sDebugContainersWithConfig (line 893) | func listK8sDebugContainersWithConfig(
  function getActiveContainerNames (line 942) | func getActiveContainerNames(input []corev1.ContainerStatus) []string {
  function ensurePod (line 953) | func ensurePod(ctx context.Context, api *kubernetes.Clientset, nsName st...
  constant ctInit (line 993) | ctInit      = "init"
  constant ctStandard (line 994) | ctStandard  = "standard"
  constant ctEphemeral (line 995) | ctEphemeral = "ephemeral"
  function waitForContainer (line 1004) | func waitForContainer(
  function dumpK8sContainerLogs (line 1118) | func dumpK8sContainerLogs(
  function ephemeralContainerFromPod (line 1167) | func ephemeralContainerFromPod(
  function newEphemeralContainerInfo (line 1181) | func newEphemeralContainerInfo(
  function apiClientFromConfig (line 1231) | func apiClientFromConfig(kubeconfig string) (*kubernetes.Clientset, *res...

FILE: pkg/app/master/command/debug/handler.go
  constant appName (line 19) | appName = command.AppName
  function OnCommand (line 24) | func OnCommand(

FILE: pkg/app/master/command/debug/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/debug/prompt.go
  function getDebugImageValues (line 58) | func getDebugImageValues() []prompt.Suggest {
  function completeDebugImage (line 68) | func completeDebugImage(ia *command.InteractiveApp, token string, params...
  function completeRuntime (line 77) | func completeRuntime(ia *command.InteractiveApp, token string, params pr...
  function completeNamespace (line 81) | func completeNamespace(ia *command.InteractiveApp, token string, params ...
  function completePod (line 107) | func completePod(ia *command.InteractiveApp, token string, params prompt...
  function completeTarget (line 140) | func completeTarget(ia *command.InteractiveApp, token string, params pro...
  function completeSession (line 197) | func completeSession(ia *command.InteractiveApp, token string, params pr...

FILE: pkg/app/master/command/debug/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/debug/session.go
  constant containerNamePrefix (line 14) | containerNamePrefix = "mint-debugger-"
  constant containerNamePat (line 15) | containerNamePat    = "mint-debugger-%v"
  constant CSWaiting (line 19) | CSWaiting    = "WAITING"
  constant CSRunning (line 20) | CSRunning    = "RUNNING"
  constant CSTerminated (line 21) | CSTerminated = "TERMINATED"
  type DebugContainerInfo (line 24) | type DebugContainerInfo struct
  function generateSessionID (line 45) | func generateSessionID() string {
  function generateContainerName (line 55) | func generateContainerName(sid string) string {

FILE: pkg/app/master/command/debug/shell.go
  constant sidKey (line 9) | sidKey   = "_SESSION_ID_"
  constant shellKey (line 10) | shellKey = "_SHELL_NAME_"
  constant defaultShellName (line 14) | defaultShellName = "sh"
  constant bashShellName (line 15) | bashShellName    = "bash"
  function configShell (line 69) | func configShell(sessionID string, isK8s bool) string {
  function configShellAlt (line 144) | func configShellAlt(sessionID string, isK8s bool) string {

FILE: pkg/app/master/command/dockerclipm/cli.go
  constant Name (line 13) | Name  = "docker-cli-plugin-metadata"
  constant Usage (line 14) | Usage = "Plugin metadata for the docker cli"
  type pluginMetadata (line 17) | type pluginMetadata struct

FILE: pkg/app/master/command/dockerclipm/register.go
  function RegisterCommand (line 9) | func RegisterCommand() {

FILE: pkg/app/master/command/edit/cli.go
  constant Name (line 11) | Name  = "edit"
  constant Usage (line 12) | Usage = "Edit container image"
  constant Alias (line 13) | Alias = "e"

FILE: pkg/app/master/command/edit/handler.go
  constant appName (line 17) | appName = command.AppName
  function OnCommand (line 22) | func OnCommand(

FILE: pkg/app/master/command/edit/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/edit/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/help/cli.go
  constant Name (line 8) | Name  = "help"
  constant Usage (line 9) | Usage = "Show help info"
  constant Alias (line 10) | Alias = "h"

FILE: pkg/app/master/command/help/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/help/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/images/cli.go
  constant Name (line 12) | Name  = string(cmd.Images)
  constant Usage (line 13) | Usage = "Get information about container images"
  constant Alias (line 14) | Alias = "i"

FILE: pkg/app/master/command/images/handler.go
  constant appName (line 23) | appName = command.AppName
  function OnCommand (line 28) | func OnCommand(
  function printImagesTable (line 112) | func printImagesTable(images map[string]dockerutil.BasicImageProps) {

FILE: pkg/app/master/command/images/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/images/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/install/cli.go
  constant Name (line 10) | Name  = "install"
  constant Usage (line 11) | Usage = "Installs slim"
  constant Alias (line 12) | Alias = "in"
  constant FlagBinDir (line 16) | FlagBinDir      = "bin-dir"
  constant FlagBinDirUsage (line 17) | FlagBinDirUsage = "Install binaries to the standard user app bin directo...
  constant FlagDockerCLIPlugin (line 19) | FlagDockerCLIPlugin      = "docker-cli-plugin"
  constant FlagDockerCLIPluginUsage (line 20) | FlagDockerCLIPluginUsage = "Install as Docker CLI plugin"

FILE: pkg/app/master/command/install/handler.go
  constant dockerCLIPluginDirSuffx (line 17) | dockerCLIPluginDirSuffx = "/.docker/cli-plugins"
  constant masterAppName (line 18) | masterAppName           = "slim"
  constant sensorAppName (line 19) | sensorAppName           = "slim-sensor"
  constant binDirName (line 20) | binDirName              = "/usr/local/bin"
  function OnCommand (line 24) | func OnCommand(
  function installToBinDir (line 65) | func installToBinDir(logger *log.Entry, statePath string, inContainer, i...
  function symlinkBinaries (line 74) | func symlinkBinaries(logger *log.Entry, appRootPath, symlinkRootPath str...
  function installDockerCLIPlugin (line 96) | func installDockerCLIPlugin(logger *log.Entry, statePath string, inConta...
  function installRelease (line 116) | func installRelease(logger *log.Entry, appRootPath, statePath, targetRoo...
  function updateFile (line 139) | func updateFile(logger *log.Entry, sourcePath, targetPath string) error {

FILE: pkg/app/master/command/install/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/install/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/lint/cli.go
  constant Name (line 11) | Name  = "lint"
  constant Usage (line 12) | Usage = "Analyzes container instructions in Dockerfiles"
  constant Alias (line 13) | Alias = "l"

FILE: pkg/app/master/command/lint/flags.go
  constant FlagTargetType (line 12) | FlagTargetType         = "target-type"
  constant FlagSkipBuildContext (line 13) | FlagSkipBuildContext   = "skip-build-context"
  constant FlagBuildContextDir (line 14) | FlagBuildContextDir    = "build-context-dir"
  constant FlagSkipDockerignore (line 15) | FlagSkipDockerignore   = "skip-dockerignore"
  constant FlagIncludeCheckLabel (line 16) | FlagIncludeCheckLabel  = "include-check-label"
  constant FlagExcludeCheckLabel (line 17) | FlagExcludeCheckLabel  = "exclude-check-label"
  constant FlagIncludeCheckID (line 18) | FlagIncludeCheckID     = "include-check-id"
  constant FlagIncludeCheckIDFile (line 19) | FlagIncludeCheckIDFile = "include-check-id-file"
  constant FlagExcludeCheckID (line 20) | FlagExcludeCheckID     = "exclude-check-id"
  constant FlagExcludeCheckIDFile (line 21) | FlagExcludeCheckIDFile = "exclude-check-id-file"
  constant FlagShowNoHits (line 22) | FlagShowNoHits         = "show-nohits"
  constant FlagShowSnippet (line 23) | FlagShowSnippet        = "show-snippet"
  constant FlagListChecks (line 24) | FlagListChecks         = "list-checks"
  constant FlagLintTargetUsage (line 29) | FlagLintTargetUsage         = "Target Dockerfile path (or container image)"
  constant FlagTargetTypeUsage (line 30) | FlagTargetTypeUsage         = "Explicitly specify the command target typ...
  constant FlagSkipBuildContextUsage (line 31) | FlagSkipBuildContextUsage   = "Don't try to analyze build context"
  constant FlagBuildContextDirUsage (line 32) | FlagBuildContextDirUsage    = "Explicitly specify the build context dire...
  constant FlagSkipDockerignoreUsage (line 33) | FlagSkipDockerignoreUsage   = "Don't try to analyze .dockerignore"
  constant FlagIncludeCheckLabelUsage (line 34) | FlagIncludeCheckLabelUsage  = "Include checks with the selected label ke...
  constant FlagExcludeCheckLabelUsage (line 35) | FlagExcludeCheckLabelUsage  = "Exclude checks with the selected label ke...
  constant FlagIncludeCheckIDUsage (line 36) | FlagIncludeCheckIDUsage     = "Check ID to include"
  constant FlagIncludeCheckIDFileUsage (line 37) | FlagIncludeCheckIDFileUsage = "File with check IDs to include"
  constant FlagExcludeCheckIDUsage (line 38) | FlagExcludeCheckIDUsage     = "Check ID to exclude"
  constant FlagExcludeCheckIDFileUsage (line 39) | FlagExcludeCheckIDFileUsage = "File with check IDs to exclude"
  constant FlagShowNoHitsUsage (line 40) | FlagShowNoHitsUsage         = "Show checks with no matches"
  constant FlagShowSnippetUsage (line 41) | FlagShowSnippetUsage        = "Show check match snippet"
  constant FlagListChecksUsage (line 42) | FlagListChecksUsage         = "List available checks"
  function cflag (line 128) | func cflag(name string) cli.Flag {

FILE: pkg/app/master/command/lint/handler.go
  constant appName (line 20) | appName = command.AppName
  function OnCommand (line 25) | func OnCommand(
  function printLintChecks (line 121) | func printLintChecks(
  function kvMapString (line 143) | func kvMapString(m map[string]string) string {
  function printLintResults (line 152) | func printLintResults(

FILE: pkg/app/master/command/lint/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/lint/prompt.go
  function completeLintTarget (line 48) | func completeLintTarget(ia *command.InteractiveApp, token string, params...
  function completeLintTargetType (line 60) | func completeLintTargetType(ia *command.InteractiveApp, token string, pa...
  function completeLintCheckID (line 64) | func completeLintCheckID(ia *command.InteractiveApp, token string, param...

FILE: pkg/app/master/command/lint/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/merge/cli.go
  constant Name (line 13) | Name  = "merge"
  constant Usage (line 14) | Usage = "Merge two container images (optimized to merge minified images)"
  constant Alias (line 15) | Alias = "m"
  type CommandParams (line 57) | type CommandParams struct
  function CommandFlagValues (line 64) | func CommandFlagValues(xc *app.ExecutionContext, ctx *cli.Context) (*Com...

FILE: pkg/app/master/command/merge/flags.go
  constant FlagImage (line 10) | FlagImage                = "image"
  constant FlagUseLastImageMetadata (line 11) | FlagUseLastImageMetadata = "use-last-image-metadata"
  constant FlagTag (line 12) | FlagTag                  = "tag"
  constant FlagImageUsage (line 17) | FlagImageUsage                = "Image to merge (flag instance position ...
  constant FlagUseLastImageMetadataUsage (line 18) | FlagUseLastImageMetadataUsage = "Use only the last image metadata for th...
  constant FlagTagUsage (line 19) | FlagTagUsage                  = "Custom tags for the output image"
  function cflag (line 43) | func cflag(name string) cli.Flag {

FILE: pkg/app/master/command/merge/handler.go
  constant appName (line 29) | appName = command.AppName
  function OnCommand (line 34) | func OnCommand(
  type tfInfo (line 332) | type tfInfo struct
  function tarMapFromFile (line 342) | func tarMapFromFile(f *os.File) (map[string]*tfInfo, error) {
  function tarFromMap (line 400) | func tarFromMap(logger *log.Entry, outputPath string, tarMap map[string]...

FILE: pkg/app/master/command/merge/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/merge/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/probe/cli.go
  constant Name (line 13) | Name  = "probe"
  constant Usage (line 14) | Usage = "Probe target endpoint"
  constant Alias (line 15) | Alias = "prb"

FILE: pkg/app/master/command/probe/flags.go
  constant FlagTarget (line 10) | FlagTarget      = "target"
  constant FlagTargetUsage (line 11) | FlagTargetUsage = "Target endpoint to probe"
  constant FlagPort (line 14) | FlagPort      = "port"
  constant FlagPortUsage (line 15) | FlagPortUsage = "Endpoint port to probe"
  function cflag (line 33) | func cflag(name string) cli.Flag {

FILE: pkg/app/master/command/probe/handler.go
  constant appName (line 21) | appName = command.AppName
  function OnCommand (line 26) | func OnCommand(

FILE: pkg/app/master/command/probe/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/probe/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/profile/cli.go
  constant Name (line 15) | Name  = "profile"
  constant Usage (line 16) | Usage = "Collects fat image information and generates a fat container re...
  constant Alias (line 17) | Alias = "p"

FILE: pkg/app/master/command/profile/handler.go
  constant appName (line 29) | appName = command.AppName
  constant ecpOther (line 33) | ecpOther = iota + 1
  constant ecpNoEntrypoint (line 34) | ecpNoEntrypoint
  constant ecpImageNotFound (line 35) | ecpImageNotFound
  function OnCommand (line 44) | func OnCommand(

FILE: pkg/app/master/command/profile/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/profile/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/registry/auth.go
  function ConfigureAuth (line 9) | func ConfigureAuth(cparams *CommonCommandParams, remoteOpts []remote.Opt...

FILE: pkg/app/master/command/registry/cli.go
  constant Name (line 13) | Name  = "registry"
  constant Usage (line 14) | Usage = "Execute registry operations"
  constant Alias (line 15) | Alias = "reg"
  constant PullCmdName (line 17) | PullCmdName      = "pull"
  constant PullCmdNameUsage (line 18) | PullCmdNameUsage = "Pull a container image from registry"
  constant PushCmdName (line 20) | PushCmdName      = "push"
  constant PushCmdNameUsage (line 21) | PushCmdNameUsage = "Push a container image to a registry"
  constant CopyCmdName (line 23) | CopyCmdName      = "copy"
  constant CopyCmdNameUsage (line 24) | CopyCmdNameUsage = "Copy a container image from one registry to another"
  constant ImageIndexCreateCmdName (line 26) | ImageIndexCreateCmdName      = "image-index-create"
  constant ImageIndexCreateCmdNameUsage (line 27) | ImageIndexCreateCmdNameUsage = "Create an image index (aka manifest list...
  constant ServerCmdName (line 29) | ServerCmdName      = "server"
  constant ServerCmdNameUsage (line 30) | ServerCmdNameUsage = "Start a registry server"
  function fullCmdName (line 33) | func fullCmdName(subCmdName string) string {
  type CommonCommandParams (line 37) | type CommonCommandParams struct
  function CommonCommandFlagValues (line 43) | func CommonCommandFlagValues(ctx *cli.Context) (*CommonCommandParams, er...
  type PullCommandParams (line 54) | type PullCommandParams struct
  function PullCommandFlagValues (line 60) | func PullCommandFlagValues(ctx *cli.Context) (*PullCommandParams, error) {
  type PushCommandParams (line 75) | type PushCommandParams struct
  constant ttDocker (line 83) | ttDocker = "tt.docker"
  constant ttTar (line 84) | ttTar    = "tt.tar"
  constant ttOCI (line 85) | ttOCI    = "tt.oci"
  function PushCommandFlagValues (line 88) | func PushCommandFlagValues(ctx *cli.Context) (*PushCommandParams, error) {
  type ImageIndexCreateCommandParams (line 116) | type ImageIndexCreateCommandParams struct
  function ImageIndexCreateCommandFlagValues (line 125) | func ImageIndexCreateCommandFlagValues(ctx *cli.Context) (*ImageIndexCre...
  type ServerCommandParams (line 143) | type ServerCommandParams struct
  function ServerCommandFlagValues (line 156) | func ServerCommandFlagValues(ctx *cli.Context) (*ServerCommandParams, er...

FILE: pkg/app/master/command/registry/flags.go
  constant FlagUseDockerCreds (line 10) | FlagUseDockerCreds      = "use-docker-credentials"
  constant FlagUseDockerCredsUsage (line 11) | FlagUseDockerCredsUsage = "Use the registry credentials from the default...
  constant FlagCredsAccount (line 13) | FlagCredsAccount      = "account"
  constant FlagCredsAccountUsage (line 14) | FlagCredsAccountUsage = "Registry credentials account"
  constant FlagCredsSecret (line 16) | FlagCredsSecret      = "secret"
  constant FlagCredsSecretUsage (line 17) | FlagCredsSecretUsage = "Registry credentials secret"
  constant FlagSaveToDocker (line 21) | FlagSaveToDocker      = "save-to-docker"
  constant FlagSaveToDockerUsage (line 22) | FlagSaveToDockerUsage = "Save pulled image to docker"
  constant FlagDocker (line 26) | FlagDocker      = "docker"
  constant FlagDockerUsage (line 27) | FlagDockerUsage = "Push local docker image"
  constant FlagTar (line 29) | FlagTar      = "tar"
  constant FlagTarUsage (line 30) | FlagTarUsage = "Push image from a local tar file"
  constant FlagOCI (line 32) | FlagOCI      = "oci"
  constant FlagOCIUsage (line 33) | FlagOCIUsage = "Push image from a local OCI Image Layout directory"
  constant FlagAs (line 35) | FlagAs      = "as"
  constant FlagAsUsage (line 36) | FlagAsUsage = "Tag the selected image with the specified name before pus...
  constant FlagImageIndexName (line 40) | FlagImageIndexName      = "image-index-name"
  constant FlagImageIndexNameUsage (line 41) | FlagImageIndexNameUsage = "Image index name to use"
  constant FlagImageName (line 43) | FlagImageName      = "image-name"
  constant FlagImageNameUsage (line 44) | FlagImageNameUsage = "Target image name to include in image index"
  constant FlagAsManifestList (line 46) | FlagAsManifestList      = "as-manifest-list"
  constant FlagAsManifestListUsage (line 47) | FlagAsManifestListUsage = "Create image index with the manifest list med...
  constant FlagInsecureRefs (line 49) | FlagInsecureRefs      = "insecure-refs"
  constant FlagInsecureRefsUsage (line 50) | FlagInsecureRefsUsage = "Allow the referenced images from insecure regis...
  constant FlagDumpRawManifest (line 52) | FlagDumpRawManifest      = "dump-raw-manifest"
  constant FlagDumpRawManifestUsage (line 53) | FlagDumpRawManifestUsage = "Dump raw manifest for the created image index"
  constant FlagAddress (line 57) | FlagAddress      = "address"
  constant FlagAddressUsage (line 58) | FlagAddressUsage = "Registry server address"
  constant FlagPort (line 60) | FlagPort      = "port"
  constant FlagPortUsage (line 61) | FlagPortUsage = "Registry server port"
  constant FlagDomain (line 63) | FlagDomain      = "domain"
  constant FlagDomainUsage (line 64) | FlagDomainUsage = "Domain to use for registry server (to get certs)"
  constant FlagHTTPS (line 66) | FlagHTTPS      = "https"
  constant FlagHTTPSUsage (line 67) | FlagHTTPSUsage = "Use HTTPS"
  constant FlagCertPath (line 69) | FlagCertPath      = "cert-path"
  constant FlagCertPathUsage (line 70) | FlagCertPathUsage = "Cert path for use with HTTPS"
  constant FlagKeyPath (line 72) | FlagKeyPath      = "key-path"
  constant FlagKeyPathUsage (line 73) | FlagKeyPathUsage = "Key path for use with HTTPS"
  constant FlagReferrersAPI (line 75) | FlagReferrersAPI      = "referrers-api"
  constant FlagReferrersAPIUsage (line 76) | FlagReferrersAPIUsage = "Enables the referrers API endpoint (OCI 1.1+) f...
  constant FlagStorePath (line 78) | FlagStorePath      = "store-path"
  constant FlagStorePathUsage (line 79) | FlagStorePathUsage = "Directory to store registry blobs"
  constant FlagMemStore (line 81) | FlagMemStore      = "mem-store"
  constant FlagMemStoreUsage (line 82) | FlagMemStoreUsage = "Use memory registry blob store"
  function cflag (line 224) | func cflag(name string) cli.Flag {

FILE: pkg/app/master/command/registry/handler_copy.go
  function OnCopyCommand (line 22) | func OnCopyCommand(

FILE: pkg/app/master/command/registry/handler_image_index.go
  function OnImageIndexCreateCommand (line 30) | func OnImageIndexCreateCommand(
  function basicImageInfo (line 226) | func basicImageInfo(

FILE: pkg/app/master/command/registry/handler_pull.go
  constant appName (line 24) | appName = command.AppName
  function OnPullCommand (line 29) | func OnPullCommand(
  function outImageInfo (line 126) | func outImageInfo(

FILE: pkg/app/master/command/registry/handler_push.go
  function OnPushCommand (line 24) | func OnPushCommand(
  function uniqueTarFilePath (line 112) | func uniqueTarFilePath() (string, error) {
  function saveDockerImage (line 123) | func saveDockerImage(
  function pushImageFromTar (line 152) | func pushImageFromTar(

FILE: pkg/app/master/command/registry/handler_server.go
  function OnServerCommand (line 27) | func OnServerCommand(

FILE: pkg/app/master/command/registry/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/registry/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/run/cli.go
  constant Name (line 13) | Name  = "run"
  constant Usage (line 14) | Usage = "Run one or more containers"
  constant Alias (line 15) | Alias = "r"
  type CommandParams (line 18) | type CommandParams struct
  function CommandFlagValues (line 36) | func CommandFlagValues(ctx *cli.Context) (*CommandParams, error) {

FILE: pkg/app/master/command/run/flags.go
  constant FlagLiveLogs (line 10) | FlagLiveLogs    = "live-logs"
  constant FlagTerminal (line 11) | FlagTerminal    = "terminal"
  constant FlagPublishPort (line 12) | FlagPublishPort = "publish"
  constant FlagRemove (line 13) | FlagRemove      = "rm"
  constant FlagDetach (line 14) | FlagDetach      = "detach"
  constant FlagLiveLogsUsage (line 19) | FlagLiveLogsUsage    = "Show live logs for the container (cant use with ...
  constant FlagTerminalUsage (line 20) | FlagTerminalUsage    = "Attach interactive terminal to the container"
  constant FlagPublishPortUsage (line 21) | FlagPublishPortUsage = "Map container port to host port (format => port ...
  constant FlagRemoveUsage (line 22) | FlagRemoveUsage      = "Remove the container when it exits"
  constant FlagDetachUsage (line 23) | FlagDetachUsage      = "Start the container and do not wait for it to exit"
  function cflag (line 55) | func cflag(name string) cli.Flag {

FILE: pkg/app/master/command/run/handler.go
  constant appName (line 22) | appName = command.AppName
  constant ecbOther (line 26) | ecbOther = iota + 1
  constant ecbTarget (line 27) | ecbTarget
  function OnCommand (line 33) | func OnCommand(

FILE: pkg/app/master/command/run/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/run/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/server/cli.go
  constant Name (line 11) | Name  = "server"
  constant Usage (line 12) | Usage = "Run as an HTTP server"
  constant Alias (line 13) | Alias = "s"

FILE: pkg/app/master/command/server/handler.go
  constant appName (line 17) | appName = command.AppName
  function OnCommand (line 22) | func OnCommand(

FILE: pkg/app/master/command/server/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/server/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/update/cli.go
  constant Name (line 13) | Name  = "update"
  constant Usage (line 14) | Usage = "Updates slim"
  constant Alias (line 15) | Alias = "u"
  function initFlagShowProgress (line 37) | func initFlagShowProgress() cli.Flag {

FILE: pkg/app/master/command/update/handler.go
  function OnCommand (line 8) | func OnCommand(doDebug bool, statePath, archiveState string, inContainer...

FILE: pkg/app/master/command/update/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/update/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/version/cli.go
  constant Name (line 11) | Name  = "version"
  constant Usage (line 12) | Usage = "Shows slim and docker version information"
  constant Alias (line 13) | Alias = "v"

FILE: pkg/app/master/command/version/handler.go
  function OnCommand (line 20) | func OnCommand(

FILE: pkg/app/master/command/version/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/version/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/vulnerability/cli.go
  constant Name (line 15) | Name  = "vulnerability"
  constant Usage (line 16) | Usage = "Execute vulnerability related tools and operations"
  constant Alias (line 17) | Alias = "vuln"
  constant EpssCmdName (line 19) | EpssCmdName      = "epss"
  constant EpssCmdNameUsage (line 20) | EpssCmdNameUsage = "Get EPPS information for the target vulnerabilities"
  constant EpssOrderRecordsScoreDesc (line 24) | EpssOrderRecordsScoreDesc      = "score-desc"
  constant EpssOrderRecordsScoreAsc (line 25) | EpssOrderRecordsScoreAsc       = "score-asc"
  constant EpssOrderRecordsPercentileDesc (line 26) | EpssOrderRecordsPercentileDesc = "percentile-desc"
  constant EpssOrderRecordsPercentileAsc (line 27) | EpssOrderRecordsPercentileAsc  = "percentile-asc"
  function IsValidOp (line 30) | func IsValidOp(input string) bool {
  function IsValidOrderRecordsValue (line 39) | func IsValidOrderRecordsValue(input string) bool {
  function OrderType (line 48) | func OrderType(input string) epss.OrderType {
  function fullCmdName (line 63) | func fullCmdName(subCmdName string) string {
  type CommonCommandParams (line 67) | type CommonCommandParams struct
  function CommonCommandFlagValues (line 71) | func CommonCommandFlagValues(ctx *cli.Context) (*CommonCommandParams, er...
  type EpssCommandParams (line 79) | type EpssCommandParams struct
  function EpssCommandFlagValues (line 95) | func EpssCommandFlagValues(ctx *cli.Context) (*EpssCommandParams, error) {

FILE: pkg/app/master/command/vulnerability/flags.go
  constant FlagCVE (line 11) | FlagCVE      = "cve"
  constant FlagCVEUsage (line 12) | FlagCVEUsage = "Target vulnerability CVE ID"
  constant FlagDate (line 15) | FlagDate      = "date"
  constant FlagDateUsage (line 16) | FlagDateUsage = "Date for the EPSS information (YYYY-MM-DD format)"
  constant FlagOp (line 18) | FlagOp      = "op"
  constant FlagOpUsage (line 19) | FlagOpUsage = "EPSS operation ('lookup' | 'list')"
  constant FlagWithHistory (line 21) | FlagWithHistory      = "with-history"
  constant FlagWithHistoryUsage (line 22) | FlagWithHistoryUsage = "Return EPSS results with historical data"
  constant FlagLimit (line 24) | FlagLimit      = "limit"
  constant FlagLimitUsage (line 25) | FlagLimitUsage = "Limit the number of returned records"
  constant FlagOffset (line 27) | FlagOffset      = "offset"
  constant FlagOffsetUsage (line 28) | FlagOffsetUsage = "Offset where to start returning records"
  constant FlagFilterCveIDPattern (line 30) | FlagFilterCveIDPattern      = "filter-cve-id-pattern"
  constant FlagFilterCveIDPatternUsage (line 31) | FlagFilterCveIDPatternUsage = "'CVE ID pattern' ESPP list operation filter"
  constant FlagFilterDaysSinceAdded (line 33) | FlagFilterDaysSinceAdded      = "filter-days-since-added"
  constant FlagFilterDaysSinceAddedUsage (line 34) | FlagFilterDaysSinceAddedUsage = "'days since added' ESPP list operation ...
  constant FlagFilterScoreGt (line 36) | FlagFilterScoreGt      = "filter-score-gt"
  constant FlagFilterScoreGtUsage (line 37) | FlagFilterScoreGtUsage = "'score is greater than' ESPP list operation fi...
  constant FlagFilterScoreLt (line 39) | FlagFilterScoreLt      = "filter-score-lt"
  constant FlagFilterScoreLtUsage (line 40) | FlagFilterScoreLtUsage = "'score is less than' ESPP list operation filter"
  constant FlagFilterPercentileGt (line 42) | FlagFilterPercentileGt      = "filter-percentile-gt"
  constant FlagFilterPercentileGtUsage (line 43) | FlagFilterPercentileGtUsage = "'percentile is greater than' ESPP list op...
  constant FlagFilterPercentileLt (line 45) | FlagFilterPercentileLt      = "filter-percentile-lt"
  constant FlagFilterPercentileLtUsage (line 46) | FlagFilterPercentileLtUsage = "'percentile is less than' ESPP list opera...
  constant FlagFilterOrderRecords (line 48) | FlagFilterOrderRecords      = "filter-order-records"
  constant FlagFilterOrderRecordsUsage (line 49) | FlagFilterOrderRecordsUsage = "'order returned records' ESPP list operat...
  constant EpssOpLookup (line 53) | EpssOpLookup = "lookup"
  constant EpssOpList (line 54) | EpssOpList   = "list"
  function cflag (line 138) | func cflag(name string) cli.Flag {

FILE: pkg/app/master/command/vulnerability/handler_tool_epss.go
  constant appName (line 24) | appName = command.AppName
  function OnEpssCommand (line 29) | func OnEpssCommand(
  function showScores (line 156) | func showScores(xc *app.ExecutionContext, scores []*epss.Score) {
  function printScoresTable (line 175) | func printScoresTable(scores []*epss.Score) {
  function printScoresWithHistoryTable (line 193) | func printScoresWithHistoryTable(scores []*epss.ScoreWithHistory) {
  function showScoresWithHistory (line 224) | func showScoresWithHistory(xc *app.ExecutionContext, scores []*epss.Scor...
  function baseScoreFields (line 247) | func baseScoreFields(score *epss.Score) app.OutVars {
  function scoreHistoryFields (line 256) | func scoreHistoryFields(scoreHistory []epss.ScoreData) app.OutVars {

FILE: pkg/app/master/command/vulnerability/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/vulnerability/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/command/xray/cli.go
  constant Name (line 16) | Name  = "xray"
  constant Usage (line 17) | Usage = "Shows what's inside of your container image and reverse enginee...
  constant Alias (line 18) | Alias = "x"
  type DetectOpParam (line 21) | type DetectOpParam struct
  type CommandParams (line 36) | type CommandParams struct
  function parseChangeTypes (line 376) | func parseChangeTypes(values []string) (map[string]struct{}, error) {
  function parseChangeOutputTypes (line 402) | func parseChangeOutputTypes(values []string) (map[string]struct{}, error) {
  function parseChangeDataMatchers (line 423) | func parseChangeDataMatchers(values []string) ([]*dockerimage.ChangeData...
  function parseChangePathMatchers (line 471) | func parseChangePathMatchers(values []string) ([]*dockerimage.ChangePath...
  function parseChangeDataHashMatchers (line 516) | func parseChangeDataHashMatchers(values []string) ([]*dockerimage.Change...
  function parseDetectUTF8 (line 561) | func parseDetectUTF8(raw string) (*dockerimage.UTF8Detector, error) {
  function getDetectOpParam (line 636) | func getDetectOpParam(
  constant detectIdentitiesDumpRawDefault (line 704) | detectIdentitiesDumpRawDefault     = "./raw-identities.tar"
  constant detectScheduledTasksDumpRawDefault (line 705) | detectScheduledTasksDumpRawDefault = "./raw-scheduled-tasks.tar"
  constant detectServicesDumpRawDefault (line 706) | detectServicesDumpRawDefault       = "./raw-services.tar"
  constant detectSystemHooksDumpRawDefault (line 707) | detectSystemHooksDumpRawDefault    = "./raw-system-hooks.tar"

FILE: pkg/app/master/command/xray/flags.go
  constant FlagChanges (line 10) | FlagChanges                = "changes"
  constant FlagChangesOutput (line 11) | FlagChangesOutput          = "changes-output"
  constant FlagLayer (line 12) | FlagLayer                  = "layer"
  constant FlagAddImageManifest (line 13) | FlagAddImageManifest       = "add-image-manifest"
  constant FlagAddImageConfig (line 14) | FlagAddImageConfig         = "add-image-config"
  constant FlagLayerChangesMax (line 15) | FlagLayerChangesMax        = "layer-changes-max"
  constant FlagAllChangesMax (line 16) | FlagAllChangesMax          = "all-changes-max"
  constant FlagAddChangesMax (line 17) | FlagAddChangesMax          = "add-changes-max"
  constant FlagModifyChangesMax (line 18) | FlagModifyChangesMax       = "modify-changes-max"
  constant FlagDeleteChangesMax (line 19) | FlagDeleteChangesMax       = "delete-changes-max"
  constant FlagChangePath (line 20) | FlagChangePath             = "change-path"
  constant FlagChangeData (line 21) | FlagChangeData             = "change-data"
  constant FlagChangeDataHash (line 22) | FlagChangeDataHash         = "change-data-hash"
  constant FlagReuseSavedImage (line 23) | FlagReuseSavedImage        = "reuse-saved-image"
  constant FlagTopChangesMax (line 24) | FlagTopChangesMax          = "top-changes-max"
  constant FlagHashData (line 25) | FlagHashData               = "hash-data"
  constant FlagDetectUTF8 (line 26) | FlagDetectUTF8             = "detect-utf8"
  constant FlagDetectDuplicates (line 27) | FlagDetectDuplicates       = "detect-duplicates"
  constant FlagShowDuplicates (line 28) | FlagShowDuplicates         = "show-duplicates"
  constant FlagShowSpecialPerms (line 29) | FlagShowSpecialPerms       = "show-special-perms"
  constant FlagChangeMatchLayersOnly (line 30) | FlagChangeMatchLayersOnly  = "change-match-layers-only"
  constant FlagExportAllDataArtifacts (line 31) | FlagExportAllDataArtifacts = "export-all-data-artifacts"
  constant FlagDetectAllCertFiles (line 32) | FlagDetectAllCertFiles     = "detect-all-certs"
  constant FlagDetectAllCertPKFiles (line 33) | FlagDetectAllCertPKFiles   = "detect-all-cert-pks"
  constant FlagDetectIdentities (line 35) | FlagDetectIdentities        = "detect-identities"
  constant FlagDetectIdentitiesParam (line 36) | FlagDetectIdentitiesParam   = "detect-identities-param"
  constant FlagDetectIdentitiesDumpRaw (line 37) | FlagDetectIdentitiesDumpRaw = "detect-identities-dump-raw"
  constant FlagDetectScheduledTasks (line 39) | FlagDetectScheduledTasks        = "detect-scheduled-tasks"
  constant FlagDetectScheduledTasksParam (line 40) | FlagDetectScheduledTasksParam   = "detect-scheduled-tasks-param"
  constant FlagDetectScheduledTasksDumpRaw (line 41) | FlagDetectScheduledTasksDumpRaw = "detect-scheduled-tasks-dump-raw"
  constant FlagDetectServices (line 43) | FlagDetectServices        = "detect-services"
  constant FlagDetectServicesParam (line 44) | FlagDetectServicesParam   = "detect-services-param"
  constant FlagDetectServicesDumpRaw (line 45) | FlagDetectServicesDumpRaw = "detect-services-dump-raw"
  constant FlagDetectSystemHooks (line 47) | FlagDetectSystemHooks        = "detect-system-hooks"
  constant FlagDetectSystemHooksParam (line 48) | FlagDetectSystemHooksParam   = "detect-system-hooks-param"
  constant FlagDetectSystemHooksDumpRaw (line 49) | FlagDetectSystemHooksDumpRaw = "detect-system-hooks-dump-raw"
  constant FlagChangesUsage (line 54) | FlagChangesUsage                = "Show layer change details for the sel...
  constant FlagChangesOutputUsage (line 55) | FlagChangesOutputUsage          = "Where to show the changes (values: al...
  constant FlagLayerUsage (line 56) | FlagLayerUsage                  = "Show details for the selected layer (...
  constant FlagAddImageManifestUsage (line 57) | FlagAddImageManifestUsage       = "Add raw image manifest to the command...
  constant FlagAddImageConfigUsage (line 58) | FlagAddImageConfigUsage         = "Add raw image config object to the co...
  constant FlagLayerChangesMaxUsage (line 59) | FlagLayerChangesMaxUsage        = "Maximum number of changes to show for...
  constant FlagAllChangesMaxUsage (line 60) | FlagAllChangesMaxUsage          = "Maximum number of changes to show for...
  constant FlagAddChangesMaxUsage (line 61) | FlagAddChangesMaxUsage          = "Maximum number of 'add' changes to sh...
  constant FlagModifyChangesMaxUsage (line 62) | FlagModifyChangesMaxUsage       = "Maximum number of 'modify' changes to...
  constant FlagDeleteChangesMaxUsage (line 63) | FlagDeleteChangesMaxUsage       = "Maximum number of 'delete' changes to...
  constant FlagChangePathUsage (line 64) | FlagChangePathUsage             = "Include changes for the files that ma...
  constant FlagChangeDataUsage (line 65) | FlagChangeDataUsage             = "Include changes for the files that ma...
  constant FlagReuseSavedImageUsage (line 66) | FlagReuseSavedImageUsage        = "Reuse saved container image"
  constant FlagTopChangesMaxUsage (line 67) | FlagTopChangesMaxUsage          = "Maximum number of top changes to track"
  constant FlagChangeDataHashUsage (line 68) | FlagChangeDataHashUsage         = "Include changes for the files that ma...
  constant FlagHashDataUsage (line 69) | FlagHashDataUsage               = "Generate file data hashes"
  constant FlagDetectUTF8Usage (line 70) | FlagDetectUTF8Usage             = "Detect utf8 files and optionally extr...
  constant FlagDetectDuplicatesUsage (line 71) | FlagDetectDuplicatesUsage       = "Detect duplicate files based on their...
  constant FlagShowDuplicatesUsage (line 72) | FlagShowDuplicatesUsage         = "Show discovered duplicate file paths"
  constant FlagShowSpecialPermsUsage (line 73) | FlagShowSpecialPermsUsage       = "Show files with special permissions (...
  constant FlagChangeMatchLayersOnlyUsage (line 74) | FlagChangeMatchLayersOnlyUsage  = "Show only layers with change matches"
  constant FlagExportAllDataArtifactsUsage (line 75) | FlagExportAllDataArtifactsUsage = "TAR archive file path to export all t...
  constant FlagDetectAllCertFilesUsage (line 76) | FlagDetectAllCertFilesUsage     = "Detect all certificate files"
  constant FlagDetectAllCertPKFilesUsage (line 77) | FlagDetectAllCertPKFilesUsage   = "Detect all certificate private key fi...
  constant FlagDetectIdentitiesUsage (line 79) | FlagDetectIdentitiesUsage        = "Detect system identities (users, gro...
  constant FlagDetectIdentitiesParamUsage (line 80) | FlagDetectIdentitiesParamUsage   = "Input parameters for system identiti...
  constant FlagDetectIdentitiesDumpRawUsage (line 81) | FlagDetectIdentitiesDumpRawUsage = "Raw data dump options for system ide...
  constant FlagDetectScheduledTasksUsage (line 83) | FlagDetectScheduledTasksUsage        = "Detect scheduled tasks and their...
  constant FlagDetectScheduledTasksParamUsage (line 84) | FlagDetectScheduledTasksParamUsage   = "Input parameters for scheduled t...
  constant FlagDetectScheduledTasksDumpRawUsage (line 85) | FlagDetectScheduledTasksDumpRawUsage = "Raw data dump options for schedu...
  constant FlagDetectServicesUsage (line 87) | FlagDetectServicesUsage        = "Detect services and their properties"
  constant FlagDetectServicesParamUsage (line 88) | FlagDetectServicesParamUsage   = "Input parameters for services detection"
  constant FlagDetectServicesDumpRawUsage (line 89) | FlagDetectServicesDumpRawUsage = "Raw data dump options for services det...
  constant FlagDetectSystemHooksUsage (line 91) | FlagDetectSystemHooksUsage        = "Detect system hooks and their prope...
  constant FlagDetectSystemHooksParamUsage (line 92) | FlagDetectSystemHooksParamUsage   = "Input parameters for system hooks d...
  constant FlagDetectSystemHooksDumpRawUsage (line 93) | FlagDetectSystemHooksDumpRawUsage = "Raw data dump options for system ho...
  function cflag (line 306) | func cflag(name string) cli.Flag {

FILE: pkg/app/master/command/xray/handler.go
  constant appName (line 29) | appName = command.AppName
  constant ecxOther (line 35) | ecxOther = iota + 1
  constant fatDockerfileName (line 39) | fatDockerfileName = "Dockerfile.fat"
  constant ociLabelImageName (line 48) | ociLabelImageName = "org.opencontainers.image.ref.name"
  constant ociLabelImageVersion (line 50) | ociLabelImageVersion = "org.opencontainers.image.version"
  constant lsLabelImageVersion (line 51) | lsLabelImageVersion  = "org.label-schema.version"
  constant ociLabelImageSource (line 54) | ociLabelImageSource = "org.opencontainers.image.source"
  constant lsLabelImageSource (line 55) | lsLabelImageSource  = "org.label-schema.vcs-url"
  constant ociLabelImageRevision (line 58) | ociLabelImageRevision = "org.opencontainers.image.revision"
  constant lsLabelImageRevision (line 59) | lsLabelImageRevision  = "org.label-schema.vcs-ref"
  constant ociLabelImageURL (line 61) | ociLabelImageURL = "org.opencontainers.image.url"
  constant lsLabelImageURL (line 62) | lsLabelImageURL  = "org.label-schema.url"
  constant ociLabelImageTitle (line 64) | ociLabelImageTitle = "org.opencontainers.image.title"
  constant lsLabelImageTitle (line 65) | lsLabelImageTitle  = "org.label-schema.name"
  constant ociLabelImageDesc (line 67) | ociLabelImageDesc = "org.opencontainers.image.description"
  constant lsLabelImageDesc (line 68) | lsLabelImageDesc  = "org.label-schema.description"
  constant ociLabelImageDocs (line 70) | ociLabelImageDocs = "org.opencontainers.image.documentation"
  constant lsLabelImageDocs (line 71) | lsLabelImageDocs  = "org.label-schema.usage"
  constant ociLabelImageVendor (line 73) | ociLabelImageVendor = "org.opencontainers.image.vendor"
  constant lsLabelImageVendor (line 74) | lsLabelImageVendor  = "org.label-schema.vendor"
  constant ociLabelImageAuthors (line 76) | ociLabelImageAuthors      = "org.opencontainers.image.authors"
  constant ociLabelBaseImageDigest (line 77) | ociLabelBaseImageDigest   = "org.opencontainers.image.base.digest"
  constant ociLabelBaseImageName (line 78) | ociLabelBaseImageName     = "org.opencontainers.image.base.name"
  constant azureLabelBaseImageName (line 79) | azureLabelBaseImageName   = "image.base.ref.name"
  constant azureLabelBaseImageDigest (line 80) | azureLabelBaseImageDigest = "image.base.digest"
  constant lsLabelDockerCmd (line 82) | lsLabelDockerCmd      = "org.label-schema.docker.cmd"
  constant lsLabelDockerCmdDevel (line 83) | lsLabelDockerCmdDevel = "org.label-schema.docker.cmd.devel"
  constant lsLabelDockerCmdTest (line 84) | lsLabelDockerCmdTest  = "org.label-schema.docker.cmd.test"
  constant lsLabelDockerCmdDebug (line 85) | lsLabelDockerCmdDebug = "org.label-schema.docker.debug"
  constant lsLabelDockerCmdHelp (line 86) | lsLabelDockerCmdHelp  = "org.label-schema.docker.cmd.help"
  constant lsLabelDockerParams (line 87) | lsLabelDockerParams   = "org.label-schema.docker.params"
  function OnCommand (line 94) | func OnCommand(
  function findChange (line 633) | func findChange(pkg *dockerimage.Package, filepath string) *dockerimage....
  function printImagePackage (line 643) | func printImagePackage(
  function objectHistoryString (line 1355) | func objectHistoryString(history *dockerimage.ObjectHistory) string {
  function printObject (line 1385) | func printObject(xc *app.ExecutionContext, object *dockerimage.ObjectMet...

FILE: pkg/app/master/command/xray/init/init.go
  function init (line 7) | func init() {

FILE: pkg/app/master/command/xray/prompt.go
  function completeLayerChanges (line 81) | func completeLayerChanges(ia *command.InteractiveApp, token string, para...
  function completeOutputs (line 91) | func completeOutputs(ia *command.InteractiveApp, token string, params pr...

FILE: pkg/app/master/command/xray/register.go
  function RegisterCommand (line 7) | func RegisterCommand() {

FILE: pkg/app/master/compose/execution.go
  type ServiceError (line 26) | type ServiceError struct
    method Error (line 32) | func (e *ServiceError) Error() string {
  type ExecutionState (line 39) | type ExecutionState
  constant XSNone (line 42) | XSNone        ExecutionState = "xs.none"
  constant XSCreated (line 43) | XSCreated                    = "xs.created"
  constant XSStarted (line 44) | XSStarted                    = "xs.started"
  constant XSStopping (line 45) | XSStopping                   = "xs.stopping"
  constant XSStopped (line 46) | XSStopped                    = "xs.stopped"
  constant XSRemoved (line 47) | XSRemoved                    = "xs.removed"
  constant XSExited (line 48) | XSExited                     = "xs.exited"
  constant XSExitedCrash (line 49) | XSExitedCrash                = "xs.exited.crash"
  constant XSError (line 50) | XSError                      = "xs.error"
  type ExecutionEvent (line 53) | type ExecutionEvent
  constant XECreated (line 56) | XECreated     ExecutionEvent = "xe.container.created"
  constant XEStarted (line 57) | XEStarted                    = "xe.container.started"
  constant XEStopping (line 58) | XEStopping                   = "xe.container.stopping"
  constant XEStopped (line 59) | XEStopped                    = "xe.container.stopped"
  constant XERemoved (line 60) | XERemoved                    = "xe.container.removed"
  constant XEExited (line 61) | XEExited                     = "xe.container.exited"
  constant XEExitedCrash (line 62) | XEExitedCrash                = "xe.container.exited.crash"
  constant XEAPIError (line 63) | XEAPIError                   = "xe.api.error"
  constant XEInterrupt (line 64) | XEInterrupt                  = "xe.interrupt"
  type ExecutionEventInfo (line 67) | type ExecutionEventInfo struct
  constant ComposeVerUnknown (line 73) | ComposeVerUnknown = 0
  constant ComposeVerOne (line 74) | ComposeVerOne     = 1
  constant ComposeVerTwo (line 75) | ComposeVerTwo     = 2
  constant ComposeVerThree (line 76) | ComposeVerThree   = 3
  constant ComposeVerOneStr (line 80) | ComposeVerOneStr   = "1"
  constant ComposeVerTwoStr (line 81) | ComposeVerTwoStr   = "2"
  constant ComposeVerThreeStr (line 82) | ComposeVerThreeStr = "3"
  type ExecutionOptions (line 85) | type ExecutionOptions struct
  type Execution (line 89) | type Execution struct
    method ProjectName (line 377) | func (ref *Execution) ProjectName() string {
    method ProjectWorkingDir (line 381) | func (ref *Execution) ProjectWorkingDir() string {
    method Service (line 385) | func (ref *Execution) Service(name string) *ServiceInfo {
    method SelectedHaveImages (line 389) | func (ref *Execution) SelectedHaveImages() bool {
    method ActiveServiceNetworks (line 404) | func (ref *Execution) ActiveServiceNetworks(svcName string) map[string...
    method ActiveNetworkNames (line 426) | func (ref *Execution) ActiveNetworkNames() map[string]string {
    method initServices (line 438) | func (ref *Execution) initServices() error {
    method initNetworks (line 510) | func (ref *Execution) initNetworks() {
    method initVersion (line 526) | func (ref *Execution) initVersion() {
    method Prepare (line 560) | func (ref *Execution) Prepare() error {
    method PrepareServices (line 578) | func (ref *Execution) PrepareServices() error {
    method PrepareService (line 608) | func (ref *Execution) PrepareService(ctx context.Context, name string)...
    method DiscoverResources (line 671) | func (ref *Execution) DiscoverResources() error {
    method Start (line 677) | func (ref *Execution) Start() error {
    method StartServices (line 686) | func (ref *Execution) StartServices() error {
    method StartService (line 719) | func (ref *Execution) StartService(name string) error {
    method StopServices (line 794) | func (ref *Execution) StopServices() error {
    method CleanupServices (line 806) | func (ref *Execution) CleanupServices() error {
    method StopService (line 818) | func (ref *Execution) StopService(key string) error {
    method CleanupService (line 842) | func (ref *Execution) CleanupService(key string) error {
    method CreateVolumes (line 1562) | func (ref *Execution) CreateVolumes() error {
    method DeleteVolumes (line 1588) | func (ref *Execution) DeleteVolumes() error {
    method CreateNetworks (line 1620) | func (ref *Execution) CreateNetworks() error {
    method DeleteNetworks (line 1738) | func (ref *Execution) DeleteNetworks() error {
    method Stop (line 1784) | func (ref *Execution) Stop() error {
    method Cleanup (line 1794) | func (ref *Execution) Cleanup() error {
  type ConfigInfo (line 114) | type ConfigInfo struct
  type ServiceSelectors (line 123) | type ServiceSelectors struct
  function NewServiceSelectors (line 129) | func NewServiceSelectors(serviceAllDeps string,
  type ServiceInfo (line 149) | type ServiceInfo struct
  type NetworkInfo (line 158) | type NetworkInfo struct
  type RunningService (line 163) | type RunningService struct
  type ActiveVolume (line 169) | type ActiveVolume struct
  type ActiveNetwork (line 175) | type ActiveNetwork struct
  constant defaultStopTimeout (line 181) | defaultStopTimeout = 7
  function NewConfigInfo (line 183) | func NewConfigInfo(
  function NewExecution (line 284) | func NewExecution(
  type LoaderOptionsFn (line 354) | type LoaderOptionsFn
  function withProjectName (line 356) | func withProjectName(name string) LoaderOptionsFn {
  function withResolvePaths (line 362) | func withResolvePaths(resolve bool) LoaderOptionsFn {
  function withInterpolation (line 368) | func withInterpolation(interpolation bool) LoaderOptionsFn {
  type NetNameInfo (line 399) | type NetNameInfo struct
  function fullServiceName (line 546) | func fullServiceName(project, service string) string {
  function fullNetworkName (line 551) | func fullNetworkName(project, networkKey, networkName string) string {
  constant rtLabelAppVersion (line 871) | rtLabelAppVersion = "tmp.version"
  constant rtLabelApp (line 872) | rtLabelApp        = "ds.runtime.container.type"
  constant rtLabelProject (line 873) | rtLabelProject    = "ds.engine.compose.project"
  constant rtLabelService (line 874) | rtLabelService    = "ds.engine.compose.service"
  constant rtLabelVolumeName (line 875) | rtLabelVolumeName = "ds.engine.compose.volume.name"
  constant rtLabelVolumeKey (line 876) | rtLabelVolumeKey  = "ds.engine.compose.volume.key"
  constant rtLabelNetwork (line 877) | rtLabelNetwork    = "ds.engine.compose.network"
  function ExposedPorts (line 880) | func ExposedPorts(expose types.StringOrNumberList, ports []types.Service...
  function MountsFromVolumeConfigs (line 894) | func MountsFromVolumeConfigs(
  function EnvVarsFromService (line 969) | func EnvVarsFromService(varMap types.MappingWithEquals, varFiles types.S...
  function HasImage (line 1005) | func HasImage(dclient *dockerapi.Client, imageRef string) (bool, error) {
  type ImageIdentity (line 1050) | type ImageIdentity struct
  function ImageToIdentity (line 1058) | func ImageToIdentity(info *dockerapi.Image) *ImageIdentity {
  function pullImage (line 1082) | func pullImage(ctx context.Context, apiClient *dockerapi.Client, imageRe...
  function buildImage (line 1133) | func buildImage(ctx context.Context, apiClient *dockerapi.Client, basePa...
  function durationToSeconds (line 1210) | func durationToSeconds(d *types.Duration) int {
  function VolumesFrom (line 1218) | func VolumesFrom(serviceNames map[string]struct{},
  function startContainer (line 1246) | func startContainer(
  function portBindingsFromServicePortConfigs (line 1517) | func portBindingsFromServicePortConfigs(configs []types.ServicePortConfi...
  function createVolume (line 1534) | func createVolume(apiClient *dockerapi.Client, projectName, volKey, volF...
  function deleteVolume (line 1603) | func deleteVolume(apiClient *dockerapi.Client, id string) error {
  constant defaultNetName (line 1618) | defaultNetName = "default"
  function createNetwork (line 1661) | func createNetwork(apiClient *dockerapi.Client, projectName, name, fullN...
  function deleteNetwork (line 1757) | func deleteNetwork(apiClient *dockerapi.Client, id string) error {
  function dumpComposeJSON (line 1767) | func dumpComposeJSON(data *types.Project) {
  function dumpRawJSON (line 1773) | func dumpRawJSON(data map[string]interface{}) {
  function dumpConfig (line 1779) | func dumpConfig(config *types.Config) {

FILE: pkg/app/master/config/config.go
  constant AppOptionsFilename (line 16) | AppOptionsFilename = "slim.config.json"
  type AppOptions (line 21) | type AppOptions struct
  type GlobalAppOptions (line 26) | type GlobalAppOptions struct
  function NewAppOptionsFromFile (line 43) | func NewAppOptionsFromFile(dir string) (*AppOptions, error) {
  type ContainerOverrides (line 68) | type ContainerOverrides struct
  type ImageNewInstructions (line 84) | type ImageNewInstructions struct
  type ContainerBuildOptions (line 102) | type ContainerBuildOptions struct
  type CBOBuildArg (line 114) | type CBOBuildArg struct
  type ContainerRunOptions (line 120) | type ContainerRunOptions struct
  type VolumeMount (line 131) | type VolumeMount struct
  constant ProtoHTTP (line 138) | ProtoHTTP   = "http"
  constant ProtoHTTPS (line 139) | ProtoHTTPS  = "https"
  constant ProtoHTTP2 (line 140) | ProtoHTTP2  = "http2"
  constant ProtoHTTP2C (line 141) | ProtoHTTP2C = "http2c"
  constant ProtoWS (line 142) | ProtoWS     = "ws"
  constant ProtoWSS (line 143) | ProtoWSS    = "wss"
  function IsProto (line 146) | func IsProto(value string) bool {
  type HTTPProbeCmd (line 161) | type HTTPProbeCmd struct
  type FastCGIProbeWrapperConfig (line 177) | type FastCGIProbeWrapperConfig struct
  type HTTPProbeCmds (line 202) | type HTTPProbeCmds struct
  type DockerClient (line 207) | type DockerClient struct
  constant CAMContainerProbe (line 217) | CAMContainerProbe = "container-probe"
  constant CAMProbe (line 218) | CAMProbe          = "probe"
  constant CAMEnter (line 219) | CAMEnter          = "enter"
  constant CAMTimeout (line 220) | CAMTimeout        = "timeout"
  constant CAMSignal (line 221) | CAMSignal         = "signal"
  constant CAMExec (line 222) | CAMExec           = "exec"
  constant CAMHostExec (line 223) | CAMHostExec       = "host-exec"
  constant CAMAppExit (line 224) | CAMAppExit        = "app-exit"
  type ContinueAfter (line 228) | type ContinueAfter struct
  type HTTPProbeOptions (line 234) | type HTTPProbeOptions struct
  type AppNodejsInspectOptions (line 258) | type AppNodejsInspectOptions struct
  type NodejsWebFrameworkInspectOptions (line 264) | type NodejsWebFrameworkInspectOptions struct
  type KubernetesOptions (line 272) | type KubernetesOptions struct
    method HasTargetSet (line 299) | func (ko KubernetesOptions) HasTargetSet() bool {
  type KubernetesTarget (line 280) | type KubernetesTarget struct
    method WorkloadName (line 286) | func (t *KubernetesTarget) WorkloadName() (string, error) {
  type KubernetesTargetOverride (line 295) | type KubernetesTargetOverride struct

FILE: pkg/app/master/container/execution.go
  constant ContainerNamePat (line 27) | ContainerNamePat = "ds.run_%v_%v"
  type ExecutionState (line 32) | type ExecutionState
  constant XSNone (line 35) | XSNone        ExecutionState = "xs.none"
  constant XSCreated (line 36) | XSCreated                    = "xs.created"
  constant XSStarted (line 37) | XSStarted                    = "xs.started"
  constant XSStopping (line 38) | XSStopping                   = "xs.stopping"
  constant XSStopped (line 39) | XSStopped                    = "xs.stopped"
  constant XSRemoved (line 40) | XSRemoved                    = "xs.removed"
  constant XSExited (line 41) | XSExited                     = "xs.exited"
  constant XSExitedCrash (line 42) | XSExitedCrash                = "xs.exited.crash"
  constant XSError (line 43) | XSError                      = "xs.error"
  type ExecutionEvent (line 46) | type ExecutionEvent
  constant XECreated (line 49) | XECreated     ExecutionEvent = "xe.container.created"
  constant XEStarted (line 50) | XEStarted                    = "xe.container.started"
  constant XEStopping (line 51) | XEStopping                   = "xe.container.stopping"
  constant XEStopped (line 52) | XEStopped                    = "xe.container.stopped"
  constant XERemoved (line 53) | XERemoved                    = "xe.container.removed"
  constant XEExited (line 54) | XEExited                     = "xe.container.exited"
  constant XEExitedCrash (line 55) | XEExitedCrash                = "xe.container.exited.crash"
  constant XEAPIError (line 56) | XEAPIError                   = "xe.api.error"
  constant XEInterrupt (line 57) | XEInterrupt                  = "xe.interrupt"
  type ExecutionEvenInfo (line 60) | type ExecutionEvenInfo struct
  type VolumeInfo (line 65) | type VolumeInfo struct
  type ExecutionOptions (line 71) | type ExecutionOptions struct
  type ExecutionIO (line 83) | type ExecutionIO struct
  type Execution (line 89) | type Execution struct
    method Start (line 158) | func (ref *Execution) Start() error {
    method Stop (line 366) | func (ref *Execution) Stop() error {
    method Cleanup (line 399) | func (ref *Execution) Cleanup() error {
    method Wait (line 424) | func (ref *Execution) Wait() (int, error) {
    method monitorContainerExitSync (line 429) | func (ref *Execution) monitorContainerExitSync() {
    method monitorSysExitSync (line 508) | func (ref *Execution) monitorSysExitSync() {
    method startTerminal (line 533) | func (ref *Execution) startTerminal() {
    method startLiveLogs (line 553) | func (ref *Execution) startLiveLogs() {
    method ShowContainerLogs (line 582) | func (ref *Execution) ShowContainerLogs() {
    method monitorTerminalSizeSync (line 616) | func (ref *Execution) monitorTerminalSizeSync() {
    method updateTerminalSize (line 628) | func (ref *Execution) updateTerminalSize() error {
  constant defaultStopTimeout (line 119) | defaultStopTimeout = 7
  function NewExecution (line 121) | func NewExecution(
  function terminalSize (line 636) | func terminalSize(fd uintptr) (int, int) {

FILE: pkg/app/master/docker/dockerhost/host.go
  constant localHostIP (line 13) | localHostIP = "127.0.0.1"
  function GetIP (line 17) | func GetIP(apiClient *dockerapi.Client) string {

FILE: pkg/app/master/inspectors/container/container_inspector.go
  constant SensorIPCModeDirect (line 41) | SensorIPCModeDirect = "direct"
  constant SensorIPCModeProxy (line 42) | SensorIPCModeProxy  = "proxy"
  constant SensorBinPath (line 43) | SensorBinPath       = "/opt/_slim/bin/slim-sensor"
  constant ContainerNamePat (line 44) | ContainerNamePat    = "slimk_%v_%v"
  constant ArtifactsDir (line 45) | ArtifactsDir        = "artifacts"
  constant ReportArtifactTar (line 46) | ReportArtifactTar   = "creport.tar"
  constant fileArtifactsTar (line 47) | fileArtifactsTar    = "files.tar"
  constant FileArtifactsOutTar (line 48) | FileArtifactsOutTar = "files_out.tar"
  constant SensorMountPat (line 50) | SensorMountPat       = "%s:/opt/_slim/bin/slim-sensor:ro"
  constant VolumeSensorMountPat (line 51) | VolumeSensorMountPat = "%s:/opt/_slim/bin:ro"
  constant LabelName (line 52) | LabelName            = "_slim"
  constant MondelArtifactTar (line 53) | MondelArtifactTar    = "mondel.tar"
  constant sensorVolumeBaseName (line 68) | sensorVolumeBaseName = "slim-sensor"
  type NetNameInfo (line 71) | type NetNameInfo struct
  type Inspector (line 81) | type Inspector struct
    method RunContainer (line 315) | func (i *Inspector) RunContainer() error {
    method isHostNetworked (line 945) | func (i *Inspector) isHostNetworked() bool {
    method setPorts (line 958) | func (i *Inspector) setPorts(ctrOpts *dockerapi.CreateContainerOptions...
    method setAvailablePorts (line 1053) | func (i *Inspector) setAvailablePorts(hostProbePorts map[dockerapi.Por...
    method exitIPCPortConflict (line 1112) | func (i *Inspector) exitIPCPortConflict(port []dockerapi.PortBinding, ...
    method ShowContainerLogs (line 1132) | func (i *Inspector) ShowContainerLogs() {
    method ShutdownContainer (line 1162) | func (i *Inspector) ShutdownContainer(terminateOnly bool) error {
    method FinishMonitoring (line 1277) | func (i *Inspector) FinishMonitoring() {
    method initContainerChannels (line 1313) | func (i *Inspector) initContainerChannels() error {
    method shutdownContainerChannels (line 1398) | func (i *Inspector) shutdownContainerChannels() {
    method HasCollectedData (line 1412) | func (i *Inspector) HasCollectedData() bool {
    method ProcessCollectedData (line 1417) | func (i *Inspector) ProcessCollectedData() error {
  function pathMapKeys (line 154) | func pathMapKeys(m map[string]*fsutil.AccessInfo) []string {
  function NewInspector (line 168) | func NewInspector(
  constant localHostIP (line 952) | localHostIP = "127.0.0.1"
  function sensorVolumeName (line 1429) | func sensorVolumeName() string {
  function ensureSensorVolume (line 1433) | func ensureSensorVolume(logger *log.Entry, client *dockerapi.Client, loc...
  function attachContainerToNetwork (line 1466) | func attachContainerToNetwork(

FILE: pkg/app/master/inspectors/container/container_startup.go
  function hasPrefixSlice (line 9) | func hasPrefixSlice(input []string, prefix []string) bool {
  function BuildStartupCommand (line 23) | func BuildStartupCommand(

FILE: pkg/app/master/inspectors/image/extract_registry_test.go
  function TestRegistryExtraction (line 8) | func TestRegistryExtraction(t *testing.T) {
  function equal (line 40) | func equal(res, expected interface{}) bool {

FILE: pkg/app/master/inspectors/image/image_inspector.go
  constant slimImageRepo (line 20) | slimImageRepo          = "slim"
  constant appArmorProfileName (line 21) | appArmorProfileName    = "apparmor-profile"
  constant seccompProfileName (line 22) | seccompProfileName     = "seccomp-profile"
  constant appArmorProfileNamePat (line 23) | appArmorProfileNamePat = "%s-apparmor-profile"
  constant seccompProfileNamePat (line 24) | seccompProfileNamePat  = "%s-seccomp.json"
  constant https (line 25) | https                  = "https://"
  constant http (line 26) | http                   = "http://"
  type Inspector (line 30) | type Inspector struct
    method NoImage (line 58) | func (i *Inspector) NoImage() (bool, error) {
    method Pull (line 95) | func (i *Inspector) Pull(showPullLog bool, dockerConfigPath, registryA...
    method Inspect (line 249) | func (i *Inspector) Inspect() error {
    method processImageName (line 283) | func (i *Inspector) processImageName() {
    method ProcessCollectedData (line 314) | func (i *Inspector) ProcessCollectedData() error {
    method ShowFatImageDockerInstructions (line 334) | func (i *Inspector) ShowFatImageDockerInstructions() {
  function NewInspector (line 44) | func NewInspector(client *docker.Client, imageRef string /*, artifactLoc...
  function getRegistryCredential (line 145) | func getRegistryCredential(registryAccount, registrySecret, dockerConfig...
  function extractRegistry (line 201) | func extractRegistry(repo string) string {

FILE: pkg/app/master/inspectors/ipc/ipc.go
  constant connectTimeout (line 16) | connectTimeout = 15
  constant readTimeout (line 17) | readTimeout    = 30
  constant writeTimeout (line 18) | writeTimeout   = 30
  type Client (line 21) | type Client struct
    method initChannels (line 55) | func (c *Client) initChannels() error {
    method shutdownChannels (line 81) | func (c *Client) shutdownChannels() error {
    method Stop (line 95) | func (c *Client) Stop() error {
    method SendCommand (line 99) | func (c *Client) SendCommand(cmd command.Message) (*command.Response, ...
    method GetEvent (line 129) | func (c *Client) GetEvent() (*event.Message, error) {
  function NewClient (line 30) | func NewClient(target, cmdChannelPort, evtChannelPort string, connectWai...

FILE: pkg/app/master/inspectors/pod/pod_inspector.go
  constant sensorVolumeName (line 41) | sensorVolumeName      = "slim-sensor"
  constant sensorVolumeMountPath (line 42) | sensorVolumeMountPath = "/opt/_slim/bin"
  constant sensorBinFileAbs (line 43) | sensorBinFileAbs      = sensorVolumeMountPath + "/" + sensor.LocalBinFile
  constant sensorLoaderContainer (line 44) | sensorLoaderContainer = "slim-sensor-loader"
  constant artifactsVolumeName (line 46) | artifactsVolumeName = "slim-artifacts"
  constant targetPodLabelName (line 48) | targetPodLabelName = "dockersl.im/target-pod"
  constant targetPodLabelPat (line 49) | targetPodLabelPat  = "slimk_%v_%v"
  type portInfo (line 52) | type portInfo struct
  type Inspector (line 62) | type Inspector struct
    method TargetHost (line 164) | func (i *Inspector) TargetHost() string {
    method RunPod (line 169) | func (i *Inspector) RunPod() error {
    method PodName (line 204) | func (i *Inspector) PodName() string {
    method PodPortsInfo (line 208) | func (i *Inspector) PodPortsInfo() string {
    method PodPortList (line 212) | func (i *Inspector) PodPortList() string {
    method AvailablePorts (line 216) | func (i *Inspector) AvailablePorts() map[dockerapi.Port]dockerapi.Port...
    method FinishMonitoring (line 220) | func (i *Inspector) FinishMonitoring() {
    method ShowPodLogs (line 254) | func (i *Inspector) ShowPodLogs() {
    method ShutdownPod (line 261) | func (i *Inspector) ShutdownPod(resetChanges bool) {
    method HasCollectedData (line 287) | func (i *Inspector) HasCollectedData() bool {
    method ProcessCollectedData (line 291) | func (i *Inspector) ProcessCollectedData() error {
    method Exec (line 301) | func (i *Inspector) Exec(cmd string, args ...string) ([]byte, error) {
    method prepareWorkload (line 312) | func (i *Inspector) prepareWorkload() error {
    method applyWorkload (line 371) | func (i *Inspector) applyWorkload() error {
    method publishPorts (line 394) | func (i *Inspector) publishPorts() error {
    method exitIPCPortConflict (line 472) | func (i *Inspector) exitIPCPortConflict(port []dockerapi.PortBinding, ...
    method injectSensor (line 491) | func (i *Inspector) injectSensor(localSensorPath string) error {
    method sensorConnect (line 521) | func (i *Inspector) sensorConnect() error {
    method sensorCommandStart (line 556) | func (i *Inspector) sensorCommandStart() error {
    method sensorCommandStop (line 674) | func (i *Inspector) sensorCommandStop() error {
    method sensorDisconnect (line 691) | func (i *Inspector) sensorDisconnect() {
  function NewInspector (line 104) | func NewInspector(
  function findPod (line 704) | func findPod(
  function waitForContainer (line 737) | func waitForContainer(
  function fatContainerCmd (line 765) | func fatContainerCmd(
  function boolPtr (line 799) | func boolPtr(v bool) *bool {
  function toDockerPort (line 803) | func toDockerPort(p int32) dockerapi.Port {
  function toStringPort (line 807) | func toStringPort(p int32) string {

FILE: pkg/app/master/inspectors/sensor/sensor.go
  constant LocalBinFile (line 18) | LocalBinFile       = "slim-sensor"
  constant DefaultConnectWait (line 19) | DefaultConnectWait = 60
  function EnsureLocalBinary (line 22) | func EnsureLocalBinary(xc *app.ExecutionContext, logger *log.Entry, stat...

FILE: pkg/app/master/kubernetes/client.go
  type Client (line 19) | type Client struct
    method Dynamic (line 45) | func (c *Client) Dynamic() dynamic.Interface {
    method Static (line 49) | func (c *Client) Static() kubernetes.Interface {
    method CreateOrUpdate (line 53) | func (c *Client) CreateOrUpdate(ctx context.Context, info *resource.In...
    method Delete (line 87) | func (c *Client) Delete(ctx context.Context, info *resource.Info) error {
  function NewClient (line 24) | func NewClient(kubeOpts config.KubernetesOptions) (*Client, error) {
  type ResourceBuilderFunc (line 99) | type ResourceBuilderFunc
  function NewResourceBuilder (line 101) | func NewResourceBuilder(kubeOpts config.KubernetesOptions) *resource.Bui...
  function NewResourceBuilderFunc (line 107) | func NewResourceBuilderFunc(kubeOpts config.KubernetesOptions) ResourceB...

FILE: pkg/app/master/kubernetes/kubectl.go
  type Kubectl (line 15) | type Kubectl interface
  type kubectl (line 22) | type kubectl struct
    method CpFrom (line 34) | func (k *kubectl) CpFrom(
    method CpTo (line 94) | func (k *kubectl) CpTo(
    method Exec (line 112) | func (k *kubectl) Exec(
    method PortForward (line 131) | func (k *kubectl) PortForward(
  function NewKubectl (line 28) | func NewKubectl(opts config.KubernetesOptions) Kubectl {

FILE: pkg/app/master/kubernetes/manifests.go
  type Manifests (line 17) | type Manifests struct
    method Find (line 57) | func (ms *Manifests) Find(target config.KubernetesTarget) (*resource.I...
    method Apply (line 100) | func (ms *Manifests) Apply(ctx context.Context, predicate func(info *r...
    method Delete (line 115) | func (ms *Manifests) Delete(ctx context.Context) error {
  function ManifestsFromFiles (line 24) | func ManifestsFromFiles(

FILE: pkg/app/master/kubernetes/workload.go
  constant namespaceDefault (line 17) | namespaceDefault           = "default"
  constant annotationDefaultContainer (line 18) | annotationDefaultContainer = "kubectl.kubernetes.io/default-container"
  type Workload (line 21) | type Workload struct
    method Namespace (line 35) | func (w *Workload) Namespace() string {
    method Name (line 39) | func (w *Workload) Name() string {
    method Info (line 43) | func (w *Workload) Info() *resource.Info {
    method Template (line 47) | func (w *Workload) Template() *corev1.PodTemplateSpec {
    method Container (line 67) | func (w *Workload) Container(name string) *corev1.Container {
    method DefaultContainer (line 76) | func (w *Workload) DefaultContainer() *corev1.Container {
    method TargetContainer (line 90) | func (w *Workload) TargetContainer() *corev1.Container {
    method AddEmptyDirVolume (line 97) | func (w *Workload) AddEmptyDirVolume(name string) {
    method AddInitContainer (line 107) | func (w *Workload) AddInitContainer(cont corev1.Container) {
    method SetReplicasIfApplicable (line 111) | func (w *Workload) SetReplicasIfApplicable(n int32) bool {
    method ResetChanges (line 125) | func (w *Workload) ResetChanges() {
  function newWorkload (line 27) | func newWorkload(info *resource.Info, targetContainerName string) *Workl...
  type WorkloadFinder (line 133) | type WorkloadFinder struct
    method Find (line 145) | func (f *WorkloadFinder) Find(target config.KubernetesTarget) (*Worklo...
    method findInCluster (line 162) | func (f *WorkloadFinder) findInCluster(target config.KubernetesTarget)...
  function NewWorkloadFinder (line 138) | func NewWorkloadFinder(manifests *Manifests, resourceBuilderFn ResourceB...

FILE: pkg/app/master/probe/http/crawler.go
  constant defaultCrawlMaxDepth (line 16) | defaultCrawlMaxDepth         = 3
  constant defaultCrawlMaxPageCount (line 17) | defaultCrawlMaxPageCount     = 1000
  constant defaultCrawlConcurrency (line 18) | defaultCrawlConcurrency      = 10
  constant defaultMaxConcurrentCrawlers (line 19) | defaultMaxConcurrentCrawlers = 1
  method crawl (line 22) | func (p *CustomProbe) crawl(proto, domain, addr string) {

FILE: pkg/app/master/probe/http/custom_probe.go
  constant probeRetryCount (line 25) | probeRetryCount = 5
  constant defaultHTTPPortStr (line 27) | defaultHTTPPortStr    = "80"
  constant defaultHTTPSPortStr (line 28) | defaultHTTPSPortStr   = "443"
  constant defaultFastCGIPortStr (line 29) | defaultFastCGIPortStr = "9000"
  type CustomProbe (line 35) | type CustomProbe struct
    method Ports (line 258) | func (p *CustomProbe) Ports() []string {
    method Start (line 263) | func (p *CustomProbe) Start() {
    method probeAPISpecs (line 615) | func (p *CustomProbe) probeAPISpecs(proto, targetHost, port string) {
    method DoneChan (line 640) | func (p *CustomProbe) DoneChan() <-chan struct{} {
  function NewEndpointProbe (line 57) | func NewEndpointProbe(
  function NewContainerProbe (line 81) | func NewContainerProbe(
  function NewPodProbe (line 173) | func NewPodProbe(
  function newCustomProbe (line 215) | func newCustomProbe(
  function newHTTPRequestFromCmd (line 644) | func newHTTPRequestFromCmd(cmd config.HTTPProbeCmd, addr string, reqBody...

FILE: pkg/app/master/probe/http/httpclient.go
  function getHTTP1Client (line 16) | func getHTTP1Client() *http.Client {
  function getHTTP2Client (line 31) | func getHTTP2Client(h2c bool) *http.Client {
  function getHTTPClient (line 53) | func getHTTPClient(proto string) (*http.Client, error) {
  function getHTTPAddr (line 66) | func getHTTPAddr(proto, targetHost, port string) string {
  function getHTTPScheme (line 71) | func getHTTPScheme(proto string) string {
  function getFastCGIClient (line 87) | func getFastCGIClient(cfg *config.FastCGIProbeWrapperConfig) *http.Client {

FILE: pkg/app/master/probe/http/internal/client.go
  constant FCGIListenSockFileno (line 53) | FCGIListenSockFileno uint8 = 0
  constant FCGIHeaderLen (line 56) | FCGIHeaderLen uint8 = 8
  constant Version1 (line 59) | Version1 uint8 = 1
  constant FCGINullRequestID (line 62) | FCGINullRequestID uint8 = 0
  constant FCGIKeepConn (line 65) | FCGIKeepConn uint8 = 1
  constant BeginRequest (line 69) | BeginRequest uint8 = iota + 1
  constant AbortRequest (line 71) | AbortRequest
  constant EndRequest (line 73) | EndRequest
  constant Params (line 75) | Params
  constant Stdin (line 77) | Stdin
  constant Stdout (line 79) | Stdout
  constant Stderr (line 81) | Stderr
  constant Data (line 83) | Data
  constant GetValues (line 85) | GetValues
  constant GetValuesResult (line 87) | GetValuesResult
  constant UnknownType (line 89) | UnknownType
  constant MaxType (line 91) | MaxType = UnknownType
  constant Responder (line 96) | Responder uint8 = iota + 1
  constant Authorizer (line 98) | Authorizer
  constant Filter (line 100) | Filter
  constant RequestComplete (line 105) | RequestComplete uint8 = iota
  constant CantMultiplexConns (line 107) | CantMultiplexConns
  constant Overloaded (line 109) | Overloaded
  constant UnknownRole (line 111) | UnknownRole
  constant MaxConns (line 116) | MaxConns string = "MAX_CONNS"
  constant MaxRequests (line 118) | MaxRequests string = "MAX_REQS"
  constant MultiplexConns (line 120) | MultiplexConns string = "MPXS_CONNS"
  constant maxWrite (line 124) | maxWrite = 65500
  constant maxPad (line 125) | maxPad   = 255
  type header (line 128) | type header struct
    method init (line 141) | func (h *header) init(recType uint8, reqID uint16, contentLength int) {
  type record (line 149) | type record struct
    method read (line 154) | func (rec *record) read(r io.Reader) (buf []byte, err error) {
  type FCGIClient (line 180) | type FCGIClient struct
    method Close (line 210) | func (c *FCGIClient) Close() {
    method writeRecord (line 214) | func (c *FCGIClient) writeRecord(recType uint8, content []byte) (err e...
    method writeBeginRequest (line 232) | func (c *FCGIClient) writeBeginRequest(role uint16, flags uint8) error {
    method writePairs (line 237) | func (c *FCGIClient) writePairs(recType uint8, pairs map[string]string...
    method Do (line 370) | func (c *FCGIClient) Do(p map[string]string, req io.Reader) (r io.Read...
    method Request (line 402) | func (c *FCGIClient) Request(p map[string]string, req io.Reader) (resp...
    method Get (line 446) | func (c *FCGIClient) Get(p map[string]string, body io.Reader, l int64)...
    method Head (line 455) | func (c *FCGIClient) Head(p map[string]string) (resp *http.Response, e...
    method Options (line 464) | func (c *FCGIClient) Options(p map[string]string) (resp *http.Response...
    method Post (line 474) | func (c *FCGIClient) Post(p map[string]string, method string, bodyType...
    method PostForm (line 497) | func (c *FCGIClient) PostForm(p map[string]string, data url.Values) (r...
    method PostFile (line 505) | func (c *FCGIClient) PostFile(p map[string]string, data url.Values, fi...
    method SetReadTimeout (line 546) | func (c *FCGIClient) SetReadTimeout(t time.Duration) error {
    method SetWriteTimeout (line 555) | func (c *FCGIClient) SetWriteTimeout(t time.Duration) error {
  function DialWithDialerContext (line 193) | func DialWithDialerContext(ctx context.Context, network, address string,...
  function encodeSize (line 270) | func encodeSize(b []byte, size uint32) int {
  type bufWriter (line 282) | type bufWriter struct
    method Close (line 287) | func (w *bufWriter) Close() error {
  function newWriter (line 295) | func newWriter(c *FCGIClient, recType uint8) *bufWriter {
  type streamWriter (line 303) | type streamWriter struct
    method Write (line 308) | func (w *streamWriter) Write(p []byte) (int, error) {
    method Close (line 324) | func (w *streamWriter) Close() error {
  type streamReader (line 329) | type streamReader struct
    method Read (line 334) | func (w *streamReader) Read(p []byte) (n int, err error) {
  type clientCloser (line 393) | type clientCloser struct
    method Close (line 398) | func (f clientCloser) Close() error { return f.rwc.Close() }
  function chunked (line 563) | func chunked(te []string) bool { return len(te) > 0 && te[0] == "chunked" }

FILE: pkg/app/master/probe/http/internal/fastcgi.go
  type FastCGITransport (line 39) | type FastCGITransport struct
    method init (line 64) | func (t *FastCGITransport) init() {
    method RoundTrip (line 71) | func (t FastCGITransport) RoundTrip(r *http.Request) (*http.Response, ...
    method buildEnv (line 124) | func (t FastCGITransport) buildEnv(r *http.Request) (map[string]string...
    method splitPos (line 260) | func (t FastCGITransport) splitPos(path string) int {

FILE: pkg/app/master/probe/http/swagger.go
  type apiSpecInfo (line 20) | type apiSpecInfo struct
  method loadAPISpecFiles (line 25) | func (p *CustomProbe) loadAPISpecFiles() {
  function parseAPISpec (line 62) | func parseAPISpec(rdata []byte) (*openapi3.T, error) {
  function loadAPISpecFromEndpoint (line 97) | func loadAPISpecFromEndpoint(client *http.Client, endpoint string) (*ope...
  function loadAPISpecFromFile (line 129) | func loadAPISpecFromFile(name string) (*openapi3.T, error) {
  function isSwagger (line 139) | func isSwagger(data []byte) bool {
  function isOpenAPI (line 149) | func isOpenAPI(data []byte) bool {
  function apiSpecPrefix (line 159) | func apiSpecPrefix(spec *openapi3.T) (string, error) {
  method loadAPISpecs (line 202) | func (p *CustomProbe) loadAPISpecs(proto, targetHost, port string) {
  function pathOps (line 254) | func pathOps(pinfo *openapi3.PathItem) map[string]*openapi3.Operation {
  function addPathOp (line 268) | func addPathOp(m *map[string]*openapi3.Operation, op *openapi3.Operation...
  method probeAPISpecEndpoints (line 274) | func (p *CustomProbe) probeAPISpecEndpoints(proto, targetHost, port, pre...
  method apiSpecEndpointCall (line 311) | func (p *CustomProbe) apiSpecEndpointCall(client *http.Client, endpoint,...

FILE: pkg/app/master/probe/http/wsclient.go
  constant ProtoWS (line 14) | ProtoWS  = "ws"
  constant ProtoWSS (line 15) | ProtoWSS = "wss"
  type WebsocketClient (line 18) | type WebsocketClient struct
    method Connect (line 62) | func (wc *WebsocketClient) Connect() error {
    method CheckConnection (line 139) | func (wc *WebsocketClient) CheckConnection() error {
    method WriteString (line 158) | func (wc *WebsocketClient) WriteString(data string) error {
    method WriteBinary (line 168) | func (wc *WebsocketClient) WriteBinary(data []byte) error {
    method Disconnect (line 178) | func (wc *WebsocketClient) Disconnect() error {
  type WebsocketMessage (line 30) | type WebsocketMessage struct
  function NewWebsocketClient (line 35) | func NewWebsocketClient(proto, host, port string) (*WebsocketClient, err...
  function IsValidWSProto (line 53) | func IsValidWSProto(proto string) bool {
  function wsMessageType (line 122) | func wsMessageType(val int) string {

FILE: pkg/app/master/security/apparmor/apparmor.go
  constant appArmorTemplate (line 12) | appArmorTemplate = `
  type appArmorFileRule (line 26) | type appArmorFileRule struct
  type appArmorProfileData (line 31) | type appArmorProfileData struct
  function GenProfile (line 44) | func GenProfile(artifactLocation string, profileName string) error {

FILE: pkg/app/master/security/seccomp/seccomp.go
  function archNameToSeccompArch (line 23) | func archNameToSeccompArch(name string) specs.Arch {
  function GenProfile (line 66) | func GenProfile(artifactLocation string, profileName string) error {

FILE: pkg/app/master/signals/signals.go
  function InitHandlers (line 18) | func InitHandlers() {

FILE: pkg/app/master/update/update.go
  constant hdrUserAgent (line 26) | hdrUserAgent     = "User-Agent"
  constant hdrContentLength (line 27) | hdrContentLength = "Content-Length"
  constant downloadEndpoint (line 28) | downloadEndpoint = "https://downloads.dockerslim.com/releases"
  constant masterAppName (line 29) | masterAppName    = "slim"
  constant sensorAppName (line 30) | sensorAppName    = "slim-sensor"
  constant distDirName (line 31) | distDirName      = "dist"
  constant artifactsPerms (line 32) | artifactsPerms   = 0740
  function Run (line 40) | func Run(doDebug bool, statePath string, inContainer, isDSImage, doShowP...
  function getReleaseBlobInfo (line 128) | func getReleaseBlobInfo() (base string, ext string) {
  function downloadRelease (line 148) | func downloadRelease(logger *log.Entry, localBlobPath, downloadSource st...
  function isGoodDownloadSource (line 219) | func isGoodDownloadSource(logger *log.Entry, location string) bool {
  function unpackRelease (line 254) | func unpackRelease(logger *log.Entry, blobPath, releaseRootPath, blobNam...
  function installRelease (line 296) | func installRelease(logger *log.Entry, appRootPath, statePath, releaseRo...
  function updateFile (line 317) | func updateFile(logger *log.Entry, sourcePath, targetPath string) error {
  type BlobReaderConstructor (line 339) | type BlobReaderConstructor
  function newPassThroughReader (line 341) | func newPassThroughReader(size int, rc io.ReadCloser) io.ReadCloser {
  function newProgressReader (line 345) | func newProgressReader(size int, rc io.ReadCloser) io.ReadCloser {
  type progressReader (line 363) | type progressReader struct
    method Read (line 371) | func (pr *progressReader) Read(b []byte) (int, error) {
    method Close (line 383) | func (pr *progressReader) Close() error {

FILE: pkg/app/master/version/version.go
  constant versionCheckEndpoint (line 22) | versionCheckEndpoint = "https://versions.api.dockerslim.com/check"
  constant jsonContentType (line 23) | jsonContentType      = "application/json"
  constant versionAuthKey (line 24) | versionAuthKey       = "1JZg1RXvS6mZ0ANgf7p9PoYWQ9q.1JZg3zytWMmBVH50c0Rv...
  type CheckVersionRequest (line 28) | type CheckVersionRequest struct
  type CheckVersionInfo (line 32) | type CheckVersionInfo struct
  function PrintCheckVersion (line 39) | func PrintCheckVersion(
  function GetCheckVersionVerdict (line 61) | func GetCheckVersionVerdict(info *CheckVersionInfo) string {
  function Print (line 74) | func Print(xc *app.ExecutionContext, cmdNameParam string, logger *log.En...
  function Check (line 156) | func Check(inContainer, isDSImage bool) *CheckVersionInfo {
  function CheckAsync (line 214) | func CheckAsync(doCheckVersion, inContainer, isDSImage bool) <-chan *Che...
  function CheckAndPrintAsync (line 229) | func CheckAndPrintAsync(printPrefix string, inContainer, isDSImage bool) {

FILE: pkg/app/sensor/app.go
  constant sensorModeControlled (line 38) | sensorModeControlled = "controlled"
  constant sensorModeStandalone (line 39) | sensorModeStandalone = "standalone"
  constant getAppBomFlagUsage (line 43) | getAppBomFlagUsage   = "get sensor application BOM"
  constant getAppBomFlagDefault (line 44) | getAppBomFlagDefault = false
  constant enableDebugFlagUsage (line 46) | enableDebugFlagUsage   = "enable debug logging"
  constant enableDebugFlagDefault (line 47) | enableDebugFlagDefault = false
  constant logLevelFlagUsage (line 49) | logLevelFlagUsage   = "set the logging level ('debug', 'info', 'warn', '...
  constant logLevelFlagDefault (line 50) | logLevelFlagDefault = "info"
  constant logFormatFlagUsage (line 52) | logFormatFlagUsage   = "set the logging format ('text', or 'json')"
  constant logFormatFlagDefault (line 53) | logFormatFlagDefault = "text"
  constant logFileFlagUsage (line 55) | logFileFlagUsage   = "enable logging redirection to a file (allowing to ...
  constant logFileFlagDefault (line 56) | logFileFlagDefault = ""
  constant sensorModeFlagUsage (line 58) | sensorModeFlagUsage   = "set the sensor execution mode ('controlled' whe...
  constant sensorModeFlagDefault (line 59) | sensorModeFlagDefault = sensorModeControlled
  constant commandsFileFlagUsage (line 61) | commandsFileFlagUsage   = "provide a JSONL-encoded file with one ore mor...
  constant commandsFileFlagDefault (line 62) | commandsFileFlagDefault = "/opt/_slim/commands.json"
  constant lifecycleHookCommandFlagUsage (line 64) | lifecycleHookCommandFlagUsage   = "set path to an executable that'll be ...
  constant lifecycleHookCommandFlagDefault (line 65) | lifecycleHookCommandFlagDefault = ""
  constant stopSignalFlagUsage (line 70) | stopSignalFlagUsage   = "set the signal to stop the target app (and, eve...
  constant stopSignalFlagDefault (line 71) | stopSignalFlagDefault = "TERM"
  constant stopGracePeriodFlagUsage (line 73) | stopGracePeriodFlagUsage   = "set the time to wait for the graceful term...
  constant stopGracePeriodFlagDefault (line 74) | stopGracePeriodFlagDefault = 5 * time.Second
  constant artifactsDirFlagUsage (line 76) | artifactsDirFlagUsage   = "output director for all sensor artifacts"
  constant artifactsDirFlagDefault (line 77) | artifactsDirFlagDefault = app.DefaultArtifactsDirPath
  constant enableMondelFlagUsage (line 79) | enableMondelFlagUsage   = "enable monitor data event logging"
  constant enableMondelFlagDefault (line 80) | enableMondelFlagDefault = false
  function eventsFilePath (line 100) | func eventsFilePath() string {
  function init (line 104) | func init() {
  function Run (line 120) | func Run() {
  function newExecution (line 201) | func newExecution(
  type sensor (line 223) | type sensor interface
  function newSensor (line 227) | func newSensor(
  function dumpAppBom (line 288) | func dumpAppBom() {
  function runControlCommand (line 303) | func runControlCommand(ctx context.Context) error {

FILE: pkg/app/sensor/app_test.go
  constant imageSimpleService (line 24) | imageSimpleService = "docker.io/library/nginx:1.21"
  constant imageSimpleCLI (line 25) | imageSimpleCLI     = "docker.io/library/alpine:3.16.2"
  function init (line 44) | func init() {
  function TestSimpleSensorRun_Controlled_CLI (line 48) | func TestSimpleSensorRun_Controlled_CLI(t *testing.T) {
  function TestSimpleSensorRun_Controlled_Service (line 81) | func TestSimpleSensorRun_Controlled_Service(t *testing.T) {
  function TestSimpleSensorRun_Standalone_CLI (line 126) | func TestSimpleSensorRun_Standalone_CLI(t *testing.T) {
  function TestSimpleSensorRun_Standalone_Service (line 150) | func TestSimpleSensorRun_Standalone_Service(t *testing.T) {
  function TestSensorLogsGoToFile (line 190) | func TestSensorLogsGoToFile(t *testing.T) {
  function TestAppStdoutToFile (line 210) | func TestAppStdoutToFile(t *testing.T) {
  function TestAppStderrToFile (line 237) | func TestAppStderrToFile(t *testing.T) {
  function TestAccessedButThenDeletedFilesShouldBeReported (line 264) | func TestAccessedButThenDeletedFilesShouldBeReported(t *testing.T) {
  function TestPreservedPathsWorkWithFilesDeletedDuringProbing (line 285) | func TestPreservedPathsWorkWithFilesDeletedDuringProbing(t *testing.T) {
  function newTestRun (line 309) | func newTestRun(t *testing.T) string {
  function TestLifecycleHook_Controlled_CLI (line 315) | func TestLifecycleHook_Controlled_CLI(t *testing.T) {
  function TestLifecycleHook_Standalone_CLI (line 351) | func TestLifecycleHook_Standalone_CLI(t *testing.T) {
  function TestRunTargetAsUser (line 374) | func TestRunTargetAsUser(t *testing.T) {
  function TestTargetAppEnvVars (line 393) | func TestTargetAppEnvVars(t *testing.T) {
  function TestArchiveArtifacts_HappyPath (line 451) | func TestArchiveArtifacts_HappyPath(t *testing.T) {
  function TestArchiveArtifacts_CustomLocation (line 484) | func TestArchiveArtifacts_CustomLocation(t *testing.T) {
  function TestArchiveArtifacts_SensorFailure_NoCaps (line 518) | func TestArchiveArtifacts_SensorFailure_NoCaps(t *testing.T) {
  function TestArchiveArtifacts_SensorFailure_NoRoot (line 557) | func TestArchiveArtifacts_SensorFailure_NoRoot(t *testing.T) {
  function TestStopSignal_ForceKill (line 562) | func TestStopSignal_ForceKill(t *testing.T) {
  function TestControlCommands_StopTargetApp (line 607) | func TestControlCommands_StopTargetApp(t *testing.T) {
  function TestEnableMondel (line 632) | func TestEnableMondel(t *testing.T) {

FILE: pkg/app/sensor/artifact/artifact.go
  constant pidFileSuffix (line 37) | pidFileSuffix    = ".pid"
  constant varRunDir (line 38) | varRunDir        = "/var/run/"
  constant fileTypeCmdName (line 39) | fileTypeCmdName  = "file"
  constant filesArchiveName (line 40) | filesArchiveName = "files.tar"
  constant runArchiveName (line 41) | runArchiveName   = "run.tar"
  constant preservedDirName (line 42) | preservedDirName = "preserved"
  constant ngxBinName (line 49) | ngxBinName    = "/nginx"
  constant ngxSubDir (line 50) | ngxSubDir     = "/nginx/"
  constant ngxCommonTemp (line 51) | ngxCommonTemp = "/var/lib/nginx"
  constant ngxLogTemp (line 52) | ngxLogTemp    = "/var/log/nginx"
  constant ngxCacheTemp (line 53) | ngxCacheTemp  = "/var/cache/nginx"
  constant rbBinName (line 58) | rbBinName           = "/ruby"
  constant rbIrbBinName (line 59) | rbIrbBinName        = "/irb"
  constant rbGemBinName (line 60) | rbGemBinName        = "/gem"
  constant rbBundleBinName (line 61) | rbBundleBinName     = "/bundle"
  constant rbRbenvBinName (line 62) | rbRbenvBinName      = "/rbenv"
  constant rbSrcFileExt (line 63) | rbSrcFileExt        = ".rb"
  constant rbGemSpecExt (line 64) | rbGemSpecExt        = ".gemspec"
  constant rbGemsSubDir (line 65) | rbGemsSubDir        = "/gems/"
  constant rbGemfile (line 66) | rbGemfile           = "Gemfile"
  constant rbGemfileLockFile (line 67) | rbGemfileLockFile   = "Gemfile.lock"
  constant rbDefaultSpecSubDir (line 68) | rbDefaultSpecSubDir = "/specifications/default/"
  constant rbSpecSubDir (line 69) | rbSpecSubDir        = "/specifications/"
  constant rgExtSibDir (line 70) | rgExtSibDir         = "extensions"
  constant rbGemBuildFlag (line 71) | rbGemBuildFlag      = "gem.build_complete"
  constant pyBinName (line 76) | pyBinName            = "/python"
  constant py2BinName (line 77) | py2BinName           = "/python2"
  constant py3BinName (line 78) | py3BinName           = "/python3"
  constant pyPipBinName (line 79) | pyPipBinName         = "/pip"
  constant pyPip2BinName (line 80) | pyPip2BinName        = "/pip2"
  constant pyPip3BinName (line 81) | pyPip3BinName        = "/pip3"
  constant pyPoetryBinName (line 82) | pyPoetryBinName      = "/poetry"
  constant pyCondaBinName (line 83) | pyCondaBinName       = "/conda"
  constant pyPipEnvBinName (line 84) | pyPipEnvBinName      = "/pipenv"
  constant pyEasyInstallBinName (line 85) | pyEasyInstallBinName = "/easy_install"
  constant pyPipxBinName (line 86) | pyPipxBinName        = "/pipx"
  constant pyVirtEnvBinName (line 87) | pyVirtEnvBinName     = "/virtualenv"
  constant pySrcFileExt (line 88) | pySrcFileExt         = ".py"
  constant pycExt (line 89) | pycExt               = ".pyc"
  constant pyoExt (line 90) | pyoExt               = ".pyo"
  constant pycacheDir (line 91) | pycacheDir           = "/__pycache__/"
  constant pycache (line 92) | pycache              = "__pycache__"
  constant pyReqsFile (line 93) | pyReqsFile           = "requirements.txt"
  constant pyPoetryProjectFile (line 94) | pyPoetryProjectFile  = "pyproject.toml"
  constant pyPipEnvProjectFile (line 95) | pyPipEnvProjectFile  = "Pipfile"
  constant pyPipEnvLockFile (line 96) | pyPipEnvLockFile     = "Pipfile.lock"
  constant pyDistPkgDir (line 97) | pyDistPkgDir         = "/dist-packages/"
  constant pySitePkgDir (line 98) | pySitePkgDir         = "/site-packages/"
  constant nodeBinName (line 103) | nodeBinName           = "/node"
  constant nodeNpmBinName (line 104) | nodeNpmBinName        = "/npm"
  constant nodeYarnBinName (line 105) | nodeYarnBinName       = "/yarn"
  constant nodePnpmBinName (line 106) | nodePnpmBinName       = "/pnpm"
  constant nodeRushBinName (line 107) | nodeRushBinName       = "/rush"
  constant nodeLernaBinName (line 108) | nodeLernaBinName      = "/lerna"
  constant nodeSrcFileExt (line 109) | nodeSrcFileExt        = ".js"
  constant nodePackageFile (line 110) | nodePackageFile       = "package.json"
  constant nodePackageLockFile (line 111) | nodePackageLockFile   = "package-lock.json"
  constant nodeNpmShrinkwrapFile (line 112) | nodeNpmShrinkwrapFile = "npm-shrinkwrap.json"
  constant nodeYarnLockFile (line 113) | nodeYarnLockFile      = "yarn.lock"
  constant nodePackageDirPath (line 114) | nodePackageDirPath    = "/node_modules/"
  constant nodePackageDirName (line 115) | nodePackageDirName    = "node_modules"
  constant nodeNPMNodeGypPackage (line 116) | nodeNPMNodeGypPackage = "/npm/node_modules/node-gyp/package.json"
  constant nodeNPMNodeGypFile (line 117) | nodeNPMNodeGypFile    = "bin/node-gyp.js"
  constant nuxtConfigFile (line 122) | nuxtConfigFile      = "nuxt.config.js"
  constant nuxtBuildDirKey (line 123) | nuxtBuildDirKey     = "buildDir"
  constant nuxtSrcDirKey (line 124) | nuxtSrcDirKey       = "srcDir"
  constant nuxtDistDirKey (line 125) | nuxtDistDirKey      = "dir"
  constant nuxtDefaultDistDir (line 126) | nuxtDefaultDistDir  = "dist"
  constant nuxtDefaultBuildDir (line 127) | nuxtDefaultBuildDir = ".nuxt"
  constant nuxtStaticDir (line 128) | nuxtStaticDir       = "static"
  constant nextConfigFile (line 133) | nextConfigFile                = "next.config.js"
  constant nextConfigFileAlt (line 134) | nextConfigFileAlt             = "next.config.mjs"
  constant nextDefaultBuildDir (line 135) | nextDefaultBuildDir           = ".next"
  constant nextDefaultBuildStandaloneDir (line 136) | nextDefaultBuildStandaloneDir = ".next/standalone"
  constant nextDefaultBuildStaticDir (line 137) | nextDefaultBuildStaticDir     = ".next/static"
  constant nextStaticDir (line 138) | nextStaticDir                 = "public"
  constant nextDefaultStaticSpaDir (line 139) | nextDefaultStaticSpaDir       = "out"
  constant nextDefaultStaticSpaDirPath (line 140) | nextDefaultStaticSpaDirPath   = "/out/_next/"
  type NodePackageConfigSimple (line 143) | type NodePackageConfigSimple struct
  type appStackInfo (line 149) | type appStackInfo struct
  function isAppMetadataFile (line 175) | func isAppMetadataFile(filePath string) bool {
  function appMetadataFileUpdater (line 199) | func appMetadataFileUpdater(filePath string) error {
  function nodePackageJSONVerUpdater (line 211) | func nodePackageJSONVerUpdater(target string, data []byte) ([]byte, erro...
  function init (line 243) | func init() {
  function findFileTypeCmd (line 247) | func findFileTypeCmd() {
  type Processor (line 258) | type Processor interface
  type processor (line 283) | type processor struct
    method ArtifactsDir (line 299) | func (a *processor) ArtifactsDir() string {
    method GetCurrentPaths (line 303) | func (a *processor) GetCurrentPaths(root string, excludes []string) (m...
    method PrepareEnv (line 371) | func (a *processor) PrepareEnv(cmd *command.StartMonitor) error {
    method Process (line 435) | func (a *processor) Process(
    method Archive (line 463) | func (a *processor) Archive() error {
  function NewProcessor (line 291) | func NewProcessor(seReport *report.SensorReport, artifactsDirName string...
  function saveResults (line 501) | func saveResults(
  type store (line 534) | type store struct
    method getArtifactFlags (line 580) | func (p *store) getArtifactFlags(artifactFileName string) map[string]b...
    method prepareArtifact (line 605) | func (p *store) prepareArtifact(artifactFileName string) {
    method prepareArtifacts (line 696) | func (p *store) prepareArtifacts() {
    method resolveLinks (line 797) | func (p *store) resolveLinks() {
    method saveWorkdir (line 972) | func (p *store) saveWorkdir(excludePatterns []string) {
    method saveZoneInfo (line 1034) | func (p *store) saveZoneInfo() {
    method saveSSHClient (line 1163) | func (ref *store) saveSSHClient() {
    method saveOSLibsNetwork (line 1347) | func (p *store) saveOSLibsNetwork() {
    method saveCertsData (line 1500) | func (p *store) saveCertsData() {
    method saveArtifacts (line 1681) | func (p *store) saveArtifacts() {
    method detectAppStack (line 2481) | func (p *store) detectAppStack(fileName string) {
    method archiveArtifacts (line 2655) | func (p *store) archiveArtifacts() error {
    method enumerateArtifacts (line 2671) | func (p *store) enumerateArtifacts() {
    method saveReport (line 2739) | func (p *store) saveReport() error {
  function newStore (line 551) | func newStore(
  function preparePaths (line 910) | func preparePaths(pathList []string) map[string]bool {
  function getKeys (line 933) | func getKeys(m map[string]*fsutil.AccessInfo) []string {
  function getRecordsWithPerms (line 946) | func getRecordsWithPerms(m map[string]*fsutil.AccessInfo) map[string]*fs...
  function linkTargetToFullPath (line 958) | func linkTargetToFullPath(fullPath, target string) string {
  constant ziDirOne (line 1015) | ziDirOne    = "/usr/lib/zoneinfo"
  constant ziDirTwo (line 1016) | ziDirTwo    = "/usr/share/zoneinfo"
  constant ziDirThree (line 1017) | ziDirThree  = "/usr/share/zoneinfo-icu"
  constant ziEnv (line 1018) | ziEnv       = "TZDIR"
  constant ziTimezone (line 1019) | ziTimezone  = "/etc/timezone"
  constant ziLocaltime (line 1020) | ziLocaltime = "/etc/localtime"
  constant sshUserSSHDir (line 1081) | sshUserSSHDir    = ".ssh"
  constant sshUserSSHDirPat (line 1082) | sshUserSSHDirPat = "/.ssh/"
  constant sshEtc (line 1083) | sshEtc           = "/etc/ssh"
  constant sshLibOpenSSH (line 1084) | sshLibOpenSSH    = "/usr/lib/openssh"
  constant sshDefaultExeDir (line 1085) | sshDefaultExeDir = "/usr/bin"
  constant sshExeName (line 1087) | sshExeName        = "ssh"
  constant sshAddExeName (line 1088) | sshAddExeName     = "ssh-add"
  constant sshAgentExeName (line 1089) | sshAgentExeName   = "ssh-agent"
  constant sshKeygenExeName (line 1090) | sshKeygenExeName  = "ssh-keygen"
  constant sshKeyscanExeName (line 1091) | sshKeyscanExeName = "ssh-keyscan"
  constant sshArgv0ExeName (line 1092) | sshArgv0ExeName   = "ssh-argv0"
  constant sshCopyIDExeName (line 1093) | sshCopyIDExeName  = "ssh-copy-id"
  function homeDirs (line 1114) | func homeDirs() []string {
  constant osLibDir (line 1329) | osLibDir          = "/lib/"
  constant osUsrLibDir (line 1330) | osUsrLibDir       = "/usr/lib/"
  constant osUsrLib64Dir (line 1331) | osUsrLib64Dir     = "/usr/lib64/"
  constant osLibNssDns (line 1332) | osLibNssDns       = "/libnss_dns"
  constant osLibNssResolv (line 1333) | osLibNssResolv    = "/libresolv"
  constant osLibNssFiles (line 1334) | osLibNssFiles     = "/libnss_files"
  constant osLibSO (line 1335) | osLibSO           = ".so"
  constant osLibResolveConf (line 1336) | osLibResolveConf  = "/etc/resolv.conf"
  constant osLibNsswitchConf (line 1337) | osLibNsswitchConf = "/etc/nsswitch.conf"
  constant osLibHostConf (line 1338) | osLibHostConf     = "/etc/host.conf"
  function resloveLink (line 1461) | func resloveLink(fpath string) ([]string, error) {
  function isFileExt (line 2581) | func isFileExt(filePath, match string) bool {
  function getPathElementPrefix (line 2586) | func getPathElementPrefix(filePath, match string) string {
  function getPathElementPrefixLast (line 2599) | func getPathElementPrefixLast(filePath, match string) string {
  function detectPythonCodeFile (line 2611) | func detectPythonCodeFile(fileName string) bool {
  function detectPythonPkgDir (line 2615) | func detectPythonPkgDir(fileName string) string {
  function detectRubyCodeFile (line 2629) | func detectRubyCodeFile(fileName string) bool {
  function detectRubyPkgDir (line 2633) | func detectRubyPkgDir(fileName string) string {
  function detectNodeCodeFile (line 2642) | func detectNodeCodeFile(fileName string) bool {
  function detectNodePkgDir (line 2646) | func detectNodePkgDir(fileName string) string {
  function getFileHash (line 2805) | func getFileHash(artifactFileName string) (string, error) {
  function getDataType (line 2815) | func getDataType(artifactFileName string) (string, error) {
  function py3FileNameFromCache (line 2903) | func py3FileNameFromCache(p string) string {
  function fixPy3CacheFile (line 2933) | func fixPy3CacheFile(src, dst string) error {
  function rbEnsureGemFiles (line 2955) | func rbEnsureGemFiles(src, storeLocation, prefix string) error {
  type nuxtDirs (line 3008) | type nuxtDirs struct
  function getNuxtConfig (line 3013) | func getNuxtConfig(path string) (*nuxtDirs, error) {
  function isNuxtConfigFile (line 3063) | func isNuxtConfigFile(filePath string) bool {
  function isNextConfigFile (line 3075) | func isNextConfigFile(filePath string) bool {
  function isRbGemSpecFile (line 3087) | func isRbGemSpecFile(filePath string) bool {
  function isNodePackageFile (line 3097) | func isNodePackageFile(filePath string) bool {
  function getNodePackageFileData (line 3108) | func getNodePackageFileData(filePath string) (*NodePackageConfigSimple, ...
  function nodeEnsurePackageFiles (line 3124) | func nodeEnsurePackageFiles(keepPerms bool, src, storeLocation, prefix s...
  function isKnownPidFilePath (line 3149) | func isKnownPidFilePath(filePath string) bool {
  function hasPidFileSuffix (line 3159) | func hasPidFileSuffix(filePath string) bool {
  function isNgxArtifact (line 3167) | func isNgxArtifact(filePath string) bool {
  function ngxEnsure (line 3175) | func ngxEnsure(prefix string) {
  function shellDependencies (line 3236) | func shellDependencies() ([]string, error) {
  function artifactProps (line 3280) | func artifactProps(filename string) (*report.ArtifactProps, error) {
  function list2map (line 3305) | func list2map(l []string) map[string]bool {
  function findSymlinks (line 3313) | func findSymlinks(files []string, mountPoint string, excludes []string) ...
  function filesToInodesNative (line 3565) | func filesToInodesNative(files []string) (map[uint64]struct{}, map[uint6...
  function getFileSysStats (line 3583) | func getFileSysStats(fullName string) (*syscall.Stat_t, error) {
  function getFileDevice (line 3597) | func getFileDevice(fullName string) (uint64, error) {

FILE: pkg/app/sensor/controlled/controlled.go
  type Sensor (line 22) | type Sensor struct
    method Run (line 65) | func (s *Sensor) Run() error {
    method run (line 83) | func (s *Sensor) run() error {
    method runWithoutMonitor (line 115) | func (s *Sensor) runWithoutMonitor() (monitor.CompositeMonitor, error) {
    method startMonitor (line 141) | func (s *Sensor) startMonitor(cmd *command.StartMonitor) (monitor.Comp...
    method runWithMonitor (line 179) | func (s *Sensor) runWithMonitor(mon monitor.CompositeMonitor) error {
    method processMonitoringResults (line 231) | func (s *Sensor) processMonitoringResults(mon monitor.CompositeMonitor...
  function NewSensor (line 34) | func NewSensor(

FILE: pkg/app/sensor/controlled/controlled_test.go
  function newStubMonitorFunc (line 22) | func newStubMonitorFunc(
  type artifactorStub (line 54) | type artifactorStub struct
    method ArtifactsDir (line 58) | func (a *artifactorStub) ArtifactsDir() string {
    method GetCurrentPaths (line 62) | func (a *artifactorStub) GetCurrentPaths(root string, excludes []strin...
    method PrepareEnv (line 66) | func (a *artifactorStub) PrepareEnv(cmd *command.StartMonitor) error {
    method Archive (line 70) | func (a *artifactorStub) Archive() error {
    method Process (line 74) | func (a *artifactorStub) Process(
  function TestStartStopShutdown (line 85) | func TestStartStopShutdown(t *testing.T) {
  function TestShutdownBeforeStart (line 113) | func TestShutdownBeforeStart(t *testing.T) {
  function TestStartFollowedByShutdown (line 134) | func TestStartFollowedByShutdown(t *testing.T) {
  function TestStopNonStartedMonitor (line 156) | func TestStopNonStartedMonitor(t *testing.T) {

FILE: pkg/app/sensor/detector/binfile/binfile.go
  type BinProps (line 10) | type BinProps struct
  function Detected (line 16) | func Detected(filePath string) (*BinProps, error) {

FILE: pkg/app/sensor/detector/filetype/filetype.go
  constant fileTypeCmdName (line 13) | fileTypeCmdName = "file"
  function init (line 18) | func init() {
  function findFileTypeCmd (line 22) | func findFileTypeCmd() {
  function Detect (line 32) | func Detect(filePath string) (string, error) {

FILE: pkg/app/sensor/execution/controlled.go
  type controlledExe (line 13) | type controlledExe struct
    method Close (line 43) | func (e *controlledExe) Close() {
    method Commands (line 47) | func (e *controlledExe) Commands() <-chan command.Message {
    method PubEvent (line 51) | func (e *controlledExe) PubEvent(etype event.Type, data ...interface{}) {
  function NewControlled (line 19) | func NewControlled(

FILE: pkg/app/sensor/execution/hook.go
  type kind (line 15) | type kind
  constant sensorPostStart (line 18) | sensorPostStart     kind = "sensor-post-start"
  constant sensorPreShutdown (line 19) | sensorPreShutdown   kind = "sensor-pre-shutdown"
  constant monitorPreStart (line 20) | monitorPreStart     kind = "monitor-pre-start"
  constant targetAppRunning (line 21) | targetAppRunning    kind = "target-app-running"
  constant monitorPostShutdown (line 22) | monitorPostShutdown kind = "monitor-post-shutdown"
  constant monitorFailed (line 23) | monitorFailed       kind = "monitor-failed"
  type LifecycleEvent (line 29) | type LifecycleEvent struct
  type hookExecutor (line 34) | type hookExecutor struct
    method State (line 41) | func (h *hookExecutor) State() string {
    method HookSensorPostStart (line 45) | func (h *hookExecutor) HookSensorPostStart() {
    method HookSensorPreShutdown (line 49) | func (h *hookExecutor) HookSensorPreShutdown() {
    method HookMonitorPreStart (line 53) | func (h *hookExecutor) HookMonitorPreStart() {
    method HookTargetAppRunning (line 57) | func (h *hookExecutor) HookTargetAppRunning() {
    method HookMonitorPostShutdown (line 61) | func (h *hookExecutor) HookMonitorPostShutdown() {
    method HookMonitorFailed (line 65) | func (h *hookExecutor) HookMonitorFailed() {
    method doHook (line 69) | func (h *hookExecutor) doHook(k kind) {

FILE: pkg/app/sensor/execution/interface.go
  type Interface (line 8) | type Interface interface

FILE: pkg/app/sensor/execution/standalone.go
  type standaloneExe (line 21) | type standaloneExe struct
    method Close (line 73) | func (e *standaloneExe) Close() {
    method Commands (line 78) | func (e *standaloneExe) Commands() <-chan command.Message {
    method PubEvent (line 82) | func (e *standaloneExe) PubEvent(name event.Type, data ...interface{}) {
  function NewStandalone (line 28) | func NewStandalone(
  function readCommandFile (line 96) | func readCommandFile(filename string) (command.StartMonitor, error) {

FILE: pkg/app/sensor/inspector/sodeps/sodeps.go
  constant resolverExeName (line 24) | resolverExeName = "ldd"
  function AllExeDependencies (line 27) | func AllExeDependencies(exeFileName string, find bool) ([]string, error) {
  constant strExitStatus (line 45) | strExitStatus       = "exit status 127"
  constant strErrorReloc (line 46) | strErrorReloc       = "Error relocating"
  constant strErrorSymNotFound (line 47) | strErrorSymNotFound = "symbol not found"
  function AllDependencies (line 50) | func AllDependencies(binFilePath string) ([]string, error) {
  function resolveDepArtifacts (line 192) | func resolveDepArtifacts(names []string) (files, links []string) {

FILE: pkg/app/sensor/ipc/ipc.go
  type Server (line 14) | type Server struct
    method initChannels (line 35) | func (s *Server) initChannels() error {
    method shutdownChannels (line 47) | func (s *Server) shutdownChannels() error {
    method Stop (line 61) | func (s *Server) Stop() {
    method CommandChan (line 65) | func (s *Server) CommandChan() <-chan command.Message {
    method OnRequest (line 69) | func (s *Server) OnRequest(data []byte) ([]byte, error) {
    method Run (line 90) | func (s *Server) Run() error {
    method TryPublishEvt (line 122) | func (s *Server) TryPublishEvt(evt *event.Message, retries uint) error {
  function NewServer (line 21) | func NewServer(doneChan <-chan struct{}) (*Server, error) {

FILE: pkg/app/sensor/logger.go
  function configureLogger (line 14) | func configureLogger(
  function setLogFormat (line 45) | func setLogFormat(format string) error {
  function setLogLevel (line 58) | func setLogLevel(enableDebug bool, levelName string) error {

FILE: pkg/app/sensor/monitor/composite.go
  constant signalChanBufSize (line 25) | signalChanBufSize = 10
  constant errorChanBufSize (line 27) | errorChanBufSize   = 100
  constant errorChanDrainTime (line 28) | errorChanDrainTime = 200 * time.Millisecond
  constant minPassiveMonitoring (line 34) | minPassiveMonitoring = 1 * time.Second
  type CompositeReport (line 41) | type CompositeReport struct
  type CompositeMonitor (line 47) | type CompositeMonitor interface
  type monitor (line 85) | type monitor struct
    method Start (line 216) | func (m *monitor) Start() error {
    method StartCommand (line 248) | func (m *monitor) StartCommand() *command.StartMonitor {
    method SignalTargetApp (line 252) | func (m *monitor) SignalTargetApp(s os.Signal) {
    method Cancel (line 256) | func (m *monitor) Cancel() {
    method Done (line 262) | func (m *monitor) Done() <-chan struct{} {
    method Errors (line 305) | func (m *monitor) Errors() <-chan error {
    method DrainErrors (line 309) | func (m *monitor) DrainErrors() (errors []error) {
    method Status (line 323) | func (m *monitor) Status() (*CompositeReport, error) {
  type NewCompositeMonitorFunc (line 108) | type NewCompositeMonitorFunc
  function NewCompositeMonitor (line 118) | func NewCompositeMonitor(
  function Compose (line 193) | func Compose(
  function NonCriticalError (line 342) | func NonCriticalError(err error) error {
  function dupAppStdStream (line 351) | func dupAppStdStream(artifactsDir string, w io.Writer, kind string) (*os...
  function closeAll (line 373) | func closeAll(cs []io.Closer) {

FILE: pkg/app/sensor/monitor/composite_test.go
  function init (line 14) | func init() {
  function TestCompositeMonitor_Lifecycle (line 18) | func TestCompositeMonitor_Lifecycle(t *testing.T) {
  function TestCompositeMonitor_DrainErrors (line 51) | func TestCompositeMonitor_DrainErrors(t *testing.T) {

FILE: pkg/app/sensor/monitor/fanotify/monitor.go
  constant errorBufSize (line 23) | errorBufSize   = 10
  constant eventBufSize (line 24) | eventBufSize   = 1000
  constant procFsFdInfo (line 25) | procFsFdInfo   = "/proc/self/fd/%d"
  constant procFsFilePath (line 26) | procFsFilePath = "/proc/%v/%v"
  type Event (line 30) | type Event struct
  type Monitor (line 38) | type Monitor interface
  type status (line 56) | type status struct
  type monitor (line 61) | type monitor struct
    method Start (line 113) | func (m *monitor) Start() error {
    method Cancel (line 260) | func (m *monitor) Cancel() {
    method Done (line 264) | func (m *monitor) Done() <-chan struct{} {
    method Status (line 268) | func (m *monitor) Status() (*report.FanMonitorReport, error) {
    method processEvent (line 272) | func (m *monitor) processEvent(e Event, fanReport *report.FanMonitorRe...
  function NewMonitor (line 81) | func NewMonitor(
  function procFilePath (line 384) | func procFilePath(pid int, key string) string {
  function getProcessInfo (line 388) | func getProcessInfo(pid int32) (*report.ProcessInfo, error) {

FILE: pkg/app/sensor/monitor/pevent/monitor.go
  function Run (line 18) | func Run(stopChan <-chan struct{}) <-chan *report.PeMonitorReport {

FILE: pkg/app/sensor/monitor/ptrace/interface.go
  type Monitor (line 10) | type Monitor interface

FILE: pkg/app/sensor/monitor/ptrace/monitor.go
  type status (line 19) | type status struct
  type monitor (line 24) | type monitor struct
    method Start (line 87) | func (m *monitor) Start() error {
    method Cancel (line 150) | func (m *monitor) Cancel() {
    method Done (line 154) | func (m *monitor) Done() <-chan struct{} {
    method Status (line 158) | func (m *monitor) Status() (*report.PtMonitorReport, error) {
  function NewMonitor (line 50) | func NewMonitor(

FILE: pkg/app/sensor/monitor/ptrace/monitor_arm64.go
  type syscallEvent (line 24) | type syscallEvent struct
  constant eventBufSize (line 30) | eventBufSize = 500
  constant ptOptions (line 31) | ptOptions    = unix.PTRACE_O_TRACECLONE | unix.PTRACE_O_TRACEFORK | unix...
  type status (line 46) | type status struct
  type monitor (line 51) | type monitor struct
    method Start (line 102) | func (m *monitor) Start() error {
    method Cancel (line 333) | func (m *monitor) Cancel() {
    method Done (line 337) | func (m *monitor) Done() <-chan struct{} {
    method Status (line 341) | func (m *monitor) Status() (*report.PtMonitorReport, error) {
  function NewMonitor (line 72) | func NewMonitor(
  function startSignalForwarding (line 345) | func startSignalForwarding(

FILE: pkg/app/sensor/signals.go
  function startSystemSignalsMonitor (line 25) | func startSystemSignalsMonitor(cleanup func()) {
  function signalFromString (line 36) | func signalFromString(s string) syscall.Signal {

FILE: pkg/app/sensor/standalone/control/commands.go
  type Command (line 3) | type Command
  constant StopTargetAppCommand (line 6) | StopTargetAppCommand Command = "stop-target-app"
  constant WaitForEventCommand (line 7) | WaitForEventCommand  Command = "wait-for-event"

FILE: pkg/app/sensor/standalone/control/queue.go
  function HandleControlCommandQueue (line 16) | func HandleControlCommandQueue(ctx context.Context, commandsFile string,...
  function getFIFOPath (line 29) | func getFIFOPath(commandsFile string) string {
  function createFIFOIfNeeded (line 33) | func createFIFOIfNeeded(fifoPath string) bool {
  function processCommandsFromFIFO (line 44) | func processCommandsFromFIFO(ctx context.Context, fifoPath string, comma...
  function readAndHandleCommands (line 58) | func readAndHandleCommands(fifo *os.File, commandCh chan command.Message) {
  function handleCommand (line 76) | func handleCommand(line []byte, commandCh chan command.Message) {

FILE: pkg/app/sensor/standalone/control/stop.go
  function ExecuteStopTargetAppCommand (line 11) | func ExecuteStopTargetAppCommand(ctx context.Context, commandsFile strin...

FILE: pkg/app/sensor/standalone/control/wait.go
  function ExecuteWaitEvenCommand (line 14) | func ExecuteWaitEvenCommand(
  function waitForEvent (line 26) | func waitForEvent(ctx context.Context, eventsFile string, target event.T...
  function findEvent (line 43) | func findEvent(eventsFile string, target event.Type) (bool, error) {

FILE: pkg/app/sensor/standalone/standalone.go
  type Sensor (line 23) | type Sensor struct
    method Run (line 65) | func (s *Sensor) Run() error {
    method run (line 100) | func (s *Sensor) run() error {
    method runMonitor (line 203) | func (s *Sensor) runMonitor(mon monitor.CompositeMonitor) {
    method runSignalForwarder (line 250) | func (s *Sensor) runSignalForwarder(mon monitor.CompositeMonitor) {
    method signalTargetApp (line 283) | func (s *Sensor) signalTargetApp(mon monitor.CompositeMonitor, sig os....
  function NewSensor (line 41) | func NewSensor(

FILE: pkg/appbom/appbom.go
  constant SettingBuildMode (line 41) | SettingBuildMode = "-buildmode"
  constant SettingCompiler (line 42) | SettingCompiler  = "-compiler"
  constant SettingTags (line 43) | SettingTags      = "-tags"
  constant SettingTrimPath (line 44) | SettingTrimPath  = "-trimpath"
  constant SettingLdFlags (line 45) | SettingLdFlags   = "-ldflags"
  constant SettingMod (line 46) | SettingMod       = "-mod"
  constant SettingEnvVarCgoEnabled (line 48) | SettingEnvVarCgoEnabled  = "CGO_ENABLED"
  constant SettingEnvVarCgoCFlags (line 49) | SettingEnvVarCgoCFlags   = "CGO_CFLAGS"
  constant SettingEnvVarCgoCppFlags (line 50) | SettingEnvVarCgoCppFlags = "CGO_CPPFLAGS"
  constant SettingEnvVarCgoCxxFlags (line 51) | SettingEnvVarCgoCxxFlags = "CGO_CXXFLAGS"
  constant SettingEnvVarCgoLdFlags (line 52) | SettingEnvVarCgoLdFlags  = "CGO_LDFLAGS"
  constant SettingEnvVarGoOs (line 53) | SettingEnvVarGoOs        = "GOOS"
  constant SettingEnvVarGoArch (line 54) | SettingEnvVarGoArch      = "GOARCH"
  constant SettingEnvVarGoAmd64 (line 57) | SettingEnvVarGoAmd64  = "GOAMD64"
  constant SettingEnvVarGoArm64 (line 58) | SettingEnvVarGoArm64  = "GOARM64"
  constant SettingEnvVarGoArm (line 59) | SettingEnvVarGoArm    = "GOARM"
  constant SettingEnvVarGo386 (line 60) | SettingEnvVarGo386    = "GO386"
  constant SettingEnvVarGoPpc64 (line 61) | SettingEnvVarGoPpc64  = "GOPPC64"
  constant SettingEnvVarGoMips (line 62) | SettingEnvVarGoMips   = "GOMIPS"
  constant SettingEnvVarGoMips64 (line 63) | SettingEnvVarGoMips64 = "GOMIPS64"
  constant SettingEnvVarGoWasm (line 64) | SettingEnvVarGoWasm   = "GOWASM"
  constant SettingVcsType (line 66) | SettingVcsType     = "vcs"
  constant SettingVcsRevision (line 67) | SettingVcsRevision = "vcs.revision"
  constant SettingVcsTime (line 68) | SettingVcsTime     = "vcs.time"
  constant SettingVcsModified (line 69) | SettingVcsModified = "vcs.modified"
  type MainPackageInfo (line 74) | type MainPackageInfo struct
  type PackageInfo (line 79) | type PackageInfo struct
  type SourceControlInfo (line 87) | type SourceControlInfo struct
  type ParamType (line 94) | type ParamType
  constant PTFlag (line 97) | PTFlag   ParamType = "flag"
  constant PTEnvVar (line 98) | PTEnvVar           = "envvar"
  type ParamName (line 101) | type ParamName
  constant PNBuildMode (line 104) | PNBuildMode   = ParamName(SettingBuildMode)
  constant PNCompiler (line 105) | PNCompiler    = ParamName(SettingCompiler)
  constant PNTags (line 106) | PNTags        = ParamName(SettingTags)
  constant PNTrimPath (line 107) | PNTrimPath    = ParamName(SettingTrimPath)
  constant PNLdFlags (line 108) | PNLdFlags     = ParamName(SettingLdFlags)
  constant PNMod (line 109) | PNMod         = ParamName(SettingMod)
  constant PNCgoEnabled (line 110) | PNCgoEnabled  = ParamName(SettingEnvVarCgoEnabled)
  constant PNCgoCFlags (line 111) | PNCgoCFlags   = ParamName(SettingEnvVarCgoCFlags)
  constant PNCgoCppFlags (line 112) | PNCgoCppFlags = ParamName(SettingEnvVarCgoCppFlags)
  constant PNCgoCxxFlags (line 113) | PNCgoCxxFlags = ParamName(SettingEnvVarCgoCxxFlags)
  constant PNCgoLdFlags (line 114) | PNCgoLdFlags  = ParamName(SettingEnvVarCgoLdFlags)
  constant PNGoOs (line 115) | PNGoOs        = ParamName(SettingEnvVarGoOs)
  constant PNGoArch (line 116) | PNGoArch      = ParamName(SettingEnvVarGoArch)
  constant PNGoAmd64 (line 118) | PNGoAmd64  = ParamName(SettingEnvVarGoAmd64)
  constant PNGoArm64 (line 119) | PNGoArm64  = ParamName(SettingEnvVarGoArm64)
  constant PNGoArm (line 120) | PNGoArm    = ParamName(SettingEnvVarGoArm)
  constant PNGo386 (line 121) | PNGo386    = ParamName(SettingEnvVarGo386)
  constant PNGoPpc64 (line 122) | PNGoPpc64  = ParamName(SettingEnvVarGoPpc64)
  constant PNGoMips (line 123) | PNGoMips   = ParamName(SettingEnvVarGoMips)
  constant PNGoMips64 (line 124) | PNGoMips64 = ParamName(SettingEnvVarGoMips64)
  constant PNGoWasm (line 125) | PNGoWasm   = ParamName(SettingEnvVarGoWasm)
  type ParamInfo (line 128) | type ParamInfo struct
  type BuildParams (line 135) | type BuildParams struct
  type Info (line 148) | type Info struct
  function Get (line 158) | func Get() *Info {

FILE: pkg/appbom/gobinhasher.go
  function main (line 14) | func main() {
  constant goBinName (line 39) | goBinName    = "go"
  constant goEnvCmd (line 40) | goEnvCmd     = "env"
  constant goRootEnvVar (line 41) | goRootEnvVar = "GOROOT"
  constant goBinPathPat (line 42) | goBinPathPat = "%s/bin/%s"
  function getGoExeFullPath (line 45) | func getGoExeFullPath() (string, error) {
  function hashFile (line 61) | func hashFile(fullPath string) (string, error) {

FILE: pkg/artifact/artifact.go
  function IsFilteredPath (line 40) | func IsFilteredPath(name string) bool {

FILE: pkg/certdiscover/certdiscover.go
  function CertFileList (line 109) | func CertFileList() []string {
  function IsCertFile (line 113) | func IsCertFile(name string) bool {
  function IsCertDirPath (line 118) | func IsCertDirPath(name string) bool {
  function CertDirList (line 129) | func CertDirList() []string {
  function IsCertDir (line 133) | func IsCertDir(name string) bool {
  function CertExtraDirList (line 138) | func CertExtraDirList() []string {
  function CertPKDirList (line 142) | func CertPKDirList() []string {
  function IsCertPKDir (line 146) | func IsCertPKDir(name string) bool {
  function IsCertPKDirPath (line 151) | func IsCertPKDirPath(name string) bool {
  function CACertFileList (line 162) | func CACertFileList() []string {
  function IsCACertFile (line 166) | func IsCACertFile(name string) bool {
  function CACertDirList (line 171) | func CACertDirList() []string {
  function IsCACertDir (line 175) | func IsCACertDir(name string) bool {
  function IsCACertDirPath (line 180) | func IsCACertDirPath(name string) bool {
  function CACertPKFileList (line 191) | func CACertPKFileList() []string {
  function IsCACertPKFile (line 195) | func IsCACertPKFile(name string) bool {
  function IsCACertPKDir (line 200) | func IsCACertPKDir(name string) bool {
  function IsCACertPKDirPath (line 205) | func IsCACertPKDirPath(name string) bool {
  function CACertPKDirList (line 216) | func CACertPKDirList() []string {
  constant LanguageNomatch (line 221) | LanguageNomatch = "nomatch"
  constant LanguagePython (line 222) | LanguagePython  = "python"
  constant LanguageNode (line 223) | LanguageNode    = "node.js"
  constant LanguageRuby (line 224) | LanguageRuby    = "ruby"
  constant LanguageJava (line 225) | LanguageJava    = "java"
  constant AppCertPackageName (line 228) | AppCertPackageName = "certifi"
  constant AppCertPathSuffixPython (line 231) | AppCertPathSuffixPython = "certifi/cacert.pem"
  constant AppCertPathSuffixNode (line 232) | AppCertPathSuffixNode   = "certifi/cacert.pem"
  constant AppCertPathSuffixRuby (line 233) | AppCertPathSuffixRuby   = "lib/certifi/vendor/cacert.pem"
  constant AppCertPathSuffixJava (line 234) | AppCertPathSuffixJava   = "security/cacerts"
  constant AppCertPathMatcherPython (line 238) | AppCertPathMatcherPython = "-packages/certifi/cacert.pem"
  constant AppCertPathMatcherNode (line 239) | AppCertPathMatcherNode   = "/node_modules/certifi/cacert.pem"
  constant AppCertPathMatcherRuby (line 240) | AppCertPathMatcherRuby   = "/lib/certifi/vendor/cacert.pem"
  constant AppCertPathMatcherJava (line 241) | AppCertPathMatcherJava   = "/jre/lib/security/cacerts"
  function IsAppCertFile (line 252) | func IsAppCertFile(name string) bool {
  function IsAppCertFileWithInfo (line 262) | func IsAppCertFileWithInfo(name string) string {
  constant beginCert (line 273) | beginCert = "-----BEGIN CERTIFICATE-----"
  constant endCert (line 274) | endCert   = "-----END CERTIFICATE-----"
  function IsCertData (line 277) | func IsCertData(data []byte) bool {
  constant beginRSAPK (line 291) | beginRSAPK = "-----BEGIN RSA PRIVATE KEY-----"
  constant endRSAPK (line 292) | endRSAPK   = "-----END RSA PRIVATE KEY-----"
  constant beginEncPK (line 294) | beginEncPK = "-----BEGIN ENCRYPTED PRIVATE KEY-----"
  constant endEncPK (line 295) | endEncPK   = "-----END ENCRYPTED PRIVATE KEY-----"
  constant beginPK (line 297) | beginPK = "-----BEGIN PRIVATE KEY-----"
  constant endPK (line 298) | endPK   = "-----END PRIVATE KEY-----"
  constant pkPart (line 300) | pkPart = " PRIVATE KEY-----"
  function IsPrivateKeyData (line 303) | func IsPrivateKeyData(data []byte) bool {
  function IsCertHashName (line 320) | func IsCertHashName(name string) bool {
  function init (line 330) | func init() {
  function initItemSet (line 344) | func initItemSet(items []string) map[string]struct{} {

FILE: pkg/command/command.go
  constant Build (line 5) | Build         Type = "build"
  constant Profile (line 6) | Profile       Type = "profile"
  constant Xray (line 7) | Xray          Type = "xray"
  constant Lint (line 8) | Lint          Type = "lint"
  constant Images (line 9) | Images        Type = "images"
  constant Containerize (line 10) | Containerize  Type = "containerize"
  constant Convert (line 11) | Convert       Type = "convert"
  constant Merge (line 12) | Merge         Type = "merge"
  constant Edit (line 13) | Edit          Type = "edit"
  constant Debug (line 14) | Debug         Type = "debug"
  constant Probe (line 15) | Probe         Type = "probe"
  constant Run (line 16) | Run           Type = "run"
  constant Server (line 17) | Server        Type = "server"
  constant Registry (line 18) | Registry      Type = "registry"
  constant Vulnerability (line 19) | Vulnerability Type = "vulnerability"
  constant Version (line 20) | Version       Type = "version"
  constant Update (line 21) | Update        Type = "update"
  type Type (line 25) | type Type
  constant StateUnknown (line 29) | StateUnknown   = "unknown"
  constant StateError (line 30) | StateError     = "error"
  constant StateStarted (line 31) | StateStarted   = "started"
  constant StateCompleted (line 32) | StateCompleted = "completed"
  constant StateExited (line 33) | StateExited    = "exited"
  constant StateDone (line 34) | StateDone      = "done"
  type State (line 38) | type State

FILE: pkg/consts/community.go
  constant CommunityCNCFSlack (line 5) | CommunityCNCFSlack   = "https://cloud-native.slack.com/archives/C059QP1R...
  constant CommunityGitter (line 6) | CommunityGitter      = "https://gitter.im/docker-slim/community"
  constant CommunityDiscord (line 7) | CommunityDiscord     = "https://discord.gg/9tDyxYS"
  constant CommunityDiscussions (line 8) | CommunityDiscussions = "https://github.com/slimtoolkit/slim/discussions"

FILE: pkg/consts/external.go
  constant DSLabelVersion (line 5) | DSLabelVersion           = "slimtoolkit.version"
  constant DSLabelSourceImage (line 6) | DSLabelSourceImage       = "slimtoolkit.source.image"
  constant DSLabelSourceImageID (line 7) | DSLabelSourceImageID     = "slimtoolkit.source.image.id"
  constant DSLabelSourceImageDigest (line 8) | DSLabelSourceImageDigest = "slimtoolkit.source.image.digest"
  constant ReversedDockerfile (line 14) | ReversedDockerfile        = "Dockerfile.reversed"
  constant ReversedDockerfileOldName (line 15) | ReversedDockerfileOldName = "Dockerfile.fat"

FILE: pkg/consts/version.go
  constant AppName (line 5) | AppName        = "slim"
  constant AppVersionName (line 6) | AppVersionName = "Transformer"

FILE: pkg/docker/buildpackinfo/buildpackinfo.go
  constant LabelKeyStackID (line 5) | LabelKeyStackID           = "io.buildpacks.stack.id"
  constant LabelKeyProjectMetadata (line 6) | LabelKeyProjectMetadata   = "io.buildpacks.project.metadata"
  constant LabelKeyBuildMetadata (line 7) | LabelKeyBuildMetadata     = "io.buildpacks.build.metadata"
  constant LabelKeyLifecycleMetadata (line 8) | LabelKeyLifecycleMetadata = "io.buildpacks.lifecycle.metadata"
  constant LabelKeyStackMaintainer (line 9) | LabelKeyStackMaintainer   = "io.buildpacks.stack.maintainer"
  constant StackHeroku18 (line 13) | StackHeroku18 = "heroku-18"
  constant StackGoogle (line 14) | StackGoogle   = "google"
  constant StackPaketo (line 15) | StackPaketo   = "io.buildpacks.stacks.bionic"
  constant VendorHeroku (line 19) | VendorHeroku = "heroku"
  constant VendorGoogle (line 20) | VendorGoogle = "google"
  constant VendorPaketo (line 21) | VendorPaketo = "paketo"
  constant Entrypoint (line 24) | Entrypoint = "/cnb/process/web"
  function HasBuildbackLabels (line 34) | func HasBuildbackLabels(labels map[string]string) bool {

FILE: pkg/docker/dockerclient/client.go
  constant EnvDockerAPIVer (line 19) | EnvDockerAPIVer      = "DOCKER_API_VERSION"
  constant EnvDockerHost (line 20) | EnvDockerHost        = "DOCKER_HOST"
  constant EnvDockerTLSVerify (line 21) | EnvDockerTLSVerify   = "DOCKER_TLS_VERIFY"
  constant EnvDockerCertPath (line 22) | EnvDockerCertPath    = "DOCKER_CERT_PATH"
  constant UnixSocketPath (line 23) | UnixSocketPath       = "/var/run/docker.sock"
  constant UnixSocketAddr (line 24) | UnixSocketAddr       = "unix:///var/run/docker.sock"
  constant unixUserSocketSuffix (line 25) | unixUserSocketSuffix = ".docker/run/docker.sock"
  function UserDockerSocket (line 39) | func UserDockerSocket() string {
  type SocketInfo (line 44) | type SocketInfo struct
  function getSocketInfo (line 56) | func getSocketInfo(filePath string) (*SocketInfo, error) {
  function GetUnixSocketAddr (line 105) | func GetUnixSocketAddr() (*SocketInfo, error) {
  function New (line 134) | func New(config *config.DockerClient) (*docker.Client, error) {

FILE: pkg/docker/dockerfile/ast/line_parsers.go
  type NameValError (line 22) | type NameValError struct
  function nve (line 26) | func nve(context, data, message string) NameValError {
  type OldFormatNameValError (line 32) | type OldFormatNameValError struct
  function ofnve (line 36) | func ofnve(context, message string) OldFormatNameValError {
  type NewFormatNameValError (line 42) | type NewFormatNameValError struct
  function nfnve (line 46) | func nfnve(context, data, message string) NewFormatNameValError {
  function parseIgnore (line 58) | func parseIgnore(rest string, d *Directive) (*Node, map[string]bool, err...
  function parseSubCommand (line 66) | func parseSubCommand(rest string, d *Directive) (*Node, map[string]bool,...
  function parseWords (line 82) | func parseWords(rest string, d *Directive) []string {
  function parseNameVal (line 169) | func parseNameVal(rest string, key string, d *Directive) (*Node, error) {
  function newKeyValueNode (line 207) | func newKeyValueNode(key, value string) *Node {
  function appendKeyValueNode (line 214) | func appendKeyValueNode(node, rootNode, prevNode *Node) (*Node, *Node) {
  function parseEnv (line 226) | func parseEnv(rest string, d *Directive) (*Node, map[string]bool, error) {
  function parseLabel (line 231) | func parseLabel(rest string, d *Directive) (*Node, map[string]bool, erro...
  function parseNameOrNameVal (line 244) | func parseNameOrNameVal(rest string, d *Directive) (*Node, map[string]bo...
  function parseStringsWhitespaceDelimited (line 270) | func parseStringsWhitespaceDelimited(rest string, d *Directive) (*Node, ...
  function parseString (line 294) | func parseString(rest string, d *Directive) (*Node, map[string]bool, err...
  function parseJSON (line 304) | func parseJSON(rest string, d *Directive) (*Node, map[string]bool, error) {
  function parseMaybeJSON (line 340) | func parseMaybeJSON(rest string, d *Directive) (*Node, map[string]bool, ...
  function parseMaybeJSONToList (line 362) | func parseMaybeJSONToList(rest string, d *Directive) (*Node, map[string]...
  function parseHealthConfig (line 376) | func parseHealthConfig(rest string, d *Directive) (*Node, map[string]boo...

FILE: pkg/docker/dockerfile/ast/parser.go
  constant UnknownInstMsg (line 21) | UnknownInstMsg = "unknown instruction"
  type ParseError (line 28) | type ParseError struct
    method Error (line 34) | func (e ParseError) Error() string {
  function pe (line 38) | func pe(context, data, message string) ParseError {
  type Node (line 57) | type Node struct
    method Dump (line 73) | func (node *Node) Dump() string {
    method lines (line 109) | func (node *Node) lines(start, end int) {
    m
Copy disabled (too large) Download .json
Condensed preview — 5488 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (17,161K chars).
[
  {
    "path": ".deepsource.toml",
    "chars": 130,
    "preview": "version = 1\n\n[[analyzers]]\nname = \"go\"\nenabled = true\n\n  [analyzers.meta]\n  import_paths = [\"github.com/docker-slim/dock"
  },
  {
    "path": ".dockerignore",
    "chars": 134,
    "preview": "**\n!dist_linux/**\n!dist_linux_arm64/**\n!build/package/docker/.ds.container.d3e2c84f976743bdb92a7044ef12e381\n**/.DS_Store"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 582,
    "preview": "# These are supported funding model platforms\n\ngithub: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [u"
  },
  {
    "path": ".github/ISSUE_TEMPLATE.md",
    "chars": 503,
    "preview": "Expected Behavior\n=================\n\n\n\n---\nActual Behavior\n=================\n\n\n\n---\nSteps to Reproduce the Problem\n====="
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 209,
    "preview": "[Fixes-###](https://github.com/docker-slim/docker-slim/issues/###)\n====================================================="
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 216,
    "preview": "---\nversion: 2\nupdates:\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"daily\""
  },
  {
    "path": ".github/workflows/acceptance-testing-bats.yml",
    "chars": 630,
    "preview": "name: Acceptance testing (using bats tests)\non:\n  push:\n    branches:\n      - master\n  pull_request:\n    branches:\n     "
  },
  {
    "path": ".github/workflows/acceptance-testing-e2e.yml",
    "chars": 3812,
    "preview": "name: Acceptance testing (using e2e framework and examples)\non:\n  push:\n    branches:\n      - master\n  pull_request:\n   "
  },
  {
    "path": ".github/workflows/codesee-arch-diagram.yml",
    "chars": 392,
    "preview": "name: CodeSee\n\npermissions: read-all\non:\n  push:\n    branches:\n      - master\n  pull_request_target:\n    types: [opened,"
  },
  {
    "path": ".github/workflows/unit-testing.yml",
    "chars": 462,
    "preview": "name: Unit testing\non:\n  push:\n    branches:\n      - master\n  pull_request:\n    branches:\n      - master\n    types: [ope"
  },
  {
    "path": ".gitignore",
    "chars": 217,
    "preview": ".DS_Store\n/docker-slim\n/slim\n/docker-slim-sensor\n/slim-sensor\n/dist_linux*/\n/dist_mac/\n/dist_mac_m1/\n/bin/\n/_gopath/\nsli"
  },
  {
    "path": ".gitmodules",
    "chars": 359,
    "preview": "[submodule \"test/bats\"]\n\tpath = test/bats\n\turl = https://github.com/bats-core/bats-core.git\n[submodule \"test/test_helper"
  },
  {
    "path": ".gitpod.yml",
    "chars": 469,
    "preview": "# List the start up tasks. You can start them in parallel in multiple terminals.\n# https://www.gitpod.io/docs/config-sta"
  },
  {
    "path": ".markdownlint.json",
    "chars": 39,
    "preview": "{\n  \"MD024\": false,\n  \"MD013\": false\n}\n"
  },
  {
    "path": ".vscode/launch.json",
    "chars": 695,
    "preview": "{\n    // Use IntelliSense to learn about possible attributes.\n    // Hover to view descriptions of existing attributes.\n"
  },
  {
    "path": "ADOPTERS.md",
    "chars": 16,
    "preview": "# Adopters\n\nTBD\n"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 19968,
    "preview": "# Releases\n\n## 1.40.11 (2/2/2024)\n\n### New Features\n\n- New `build` command flags (`--include-dir-bins` and `--include-ss"
  },
  {
    "path": "COMMUNITY_ACTIVITY_LOG.md",
    "chars": 174,
    "preview": "# Community Activity Log\n\n## Meetings/Events\n\nTBD\n\n## Engaging with CNCF TAGs\n\nTBD\n\n## Collaborating/Integrating with Ot"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 2484,
    "preview": "# Contributing to SlimToolkit\n\nIf you want to contribute submit a GitHub pull request or open an issue. Thank you!\n\n## T"
  },
  {
    "path": "GOVERNANCE.md",
    "chars": 18,
    "preview": "# Governance\n\nTBD\n"
  },
  {
    "path": "LICENSE",
    "chars": 10765,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "MAINTAINERS.md",
    "chars": 118,
    "preview": "# Maintainers\n\n- [Kyle Quest](https://github.com/kcq) (@kcq)\n- [Ivan Velichko](https://github.com/iximiuz) (@iximiuz)\n"
  },
  {
    "path": "Makefile",
    "chars": 1180,
    "preview": "default: build_in_docker ## build docker-slim in docker by default\n\nbuild_in_docker:   ## build docker-slim in docker\n\tr"
  },
  {
    "path": "README.md",
    "chars": 100418,
    "preview": "![SK](assets/images/dslim/logo.png)\n\n[![Gitter chat](https://img.shields.io/badge/chat-on%20gitter-brightgreen.svg?style"
  },
  {
    "path": "ROADMAP.md",
    "chars": 1608,
    "preview": "# High Level Project Roadmap\n\nThis is a high level roadmap that identies the current areas of focus. Note that it's not "
  },
  {
    "path": "SECURITY.md",
    "chars": 699,
    "preview": "# All Things Security\n\n## Reporting Security Issues\n\nTo report a security issue in the project itself, please use the Gi"
  },
  {
    "path": "WISHLIST.md",
    "chars": 1522,
    "preview": "# Enhancements Wishlist\n\nIf you want to help feel free to submit a PR! You can also open an issue to track the work and "
  },
  {
    "path": "assets/images/docs/SlimHow.excalidraw",
    "chars": 41887,
    "preview": "{\n  \"type\": \"excalidraw\",\n  \"version\": 2,\n  \"source\": \"https://excalidraw.com\",\n  \"elements\": [\n    {\n      \"type\": \"rec"
  },
  {
    "path": "build/package/docker/.dockerignore",
    "chars": 113,
    "preview": "**\n!dist_linux/**\n!build/package/docker/.ds.container.d3e2c84f976743bdb92a7044ef12e381\n**/.DS_Store\n**/*.command\n"
  },
  {
    "path": "build/package/docker/.ds.container.d3e2c84f976743bdb92a7044ef12e381",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "build/package/docker/Dockerfile",
    "chars": 484,
    "preview": "FROM alpine:latest as ca-certs\nLABEL build-role=ca-certs\nRUN apk update && apk upgrade && apk add --no-cache ca-certific"
  },
  {
    "path": "build/package/docker/Dockerfile.arm",
    "chars": 490,
    "preview": "FROM alpine:latest as ca-certs\nLABEL build-role=ca-certs\nRUN apk update && apk upgrade && apk add --no-cache ca-certific"
  },
  {
    "path": "build/package/docker/build.sh",
    "chars": 189,
    "preview": "#!/usr/bin/env bash\n\nset -e\n\ndocker build --squash --rm -t slim -f Dockerfile ../../..\ndocker image prune --filter label"
  },
  {
    "path": "build/package/docker/build_arm.sh",
    "chars": 206,
    "preview": "#!/usr/bin/env bash\n\nset -e\n\ndocker build --platform linux/arm64 -t slim-arm -f Dockerfile.arm ../../..\ndocker image pru"
  },
  {
    "path": "build/package/docker/dockerhub_publish.sh",
    "chars": 408,
    "preview": "#!/usr/bin/env bash\n\nset -e\n\nSOURCE=\"${BASH_SOURCE[0]}\"\nwhile [ -h \"$SOURCE\" ] ; do SOURCE=\"$(readlink \"$SOURCE\")\"; done"
  },
  {
    "path": "build/package/docker/dockerhub_publish_arm.sh",
    "chars": 432,
    "preview": "#!/usr/bin/env bash\n\nset -e\n\nSOURCE=\"${BASH_SOURCE[0]}\"\nwhile [ -h \"$SOURCE\" ] ; do SOURCE=\"$(readlink \"$SOURCE\")\"; done"
  },
  {
    "path": "build/package/docker/mac/build.command",
    "chars": 59,
    "preview": "here=\"$(dirname \"$BASH_SOURCE\")\"\ncd $here/..\n./build.sh\n\n\n\n"
  },
  {
    "path": "build/package/docker/mac/build_arm.command",
    "chars": 63,
    "preview": "here=\"$(dirname \"$BASH_SOURCE\")\"\ncd $here/..\n./build_arm.sh\n\n\n\n"
  },
  {
    "path": "build/package/docker/mac/dockerhub_login.command",
    "chars": 74,
    "preview": "here=\"$(dirname \"$BASH_SOURCE\")\"\ncd $here\n\ndocker login --username dslim\n\n"
  },
  {
    "path": "build/package/docker/mac/dockerhub_publish.command",
    "chars": 71,
    "preview": "here=\"$(dirname \"$BASH_SOURCE\")\"\ncd $here/..\n./dockerhub_publish.sh\n\n\n\n"
  },
  {
    "path": "build/package/docker/mac/dockerhub_publish_arm.command",
    "chars": 75,
    "preview": "here=\"$(dirname \"$BASH_SOURCE\")\"\ncd $here/..\n./dockerhub_publish_arm.sh\n\n\n\n"
  },
  {
    "path": "build/package/rpm/slim.spec",
    "chars": 2133,
    "preview": "%global go_version 1.18.2\n\nName: slim\nVersion: 1.40.6\nRelease: 1%{?dist}\nSummary: Slim Toolkit helps you make your conta"
  },
  {
    "path": "cmd/slim/main.go",
    "chars": 252,
    "preview": "package main\n\nimport (\n\t\"os\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master\"\n)\n\nfunc main() {\n\tif len(os.Args) > 1 && os."
  },
  {
    "path": "cmd/slim-sensor/main.go",
    "chars": 102,
    "preview": "package main\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/sensor\"\n)\n\nfunc main() {\n\tsensor.Run()\n}\n"
  },
  {
    "path": "examples/README.md",
    "chars": 360,
    "preview": "# Examples\n\nThe containerized application examples have been moved to a separate repo: https://github.com/slimtoolkit/ex"
  },
  {
    "path": "examples/k8s_nginx_cgr/manifest.yaml",
    "chars": 230,
    "preview": "apiVersion: v1\nkind: Pod\nmetadata:\n  name: example-pod\n  labels:\n    name: nginx\nspec:\n  containers:\n  - name: example-c"
  },
  {
    "path": "go.mod",
    "chars": 7560,
    "preview": "module github.com/slimtoolkit/slim\n\ngo 1.24.0\n\nrequire (\n\tgithub.com/armon/go-radix v1.0.0\n\tgithub.com/bmatcuk/doublesta"
  },
  {
    "path": "go.sum",
    "chars": 62724,
    "preview": "cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=\ncloud.google.com/go v0.34.0/go.mod h1"
  },
  {
    "path": "pkg/acounter/acounter.go",
    "chars": 296,
    "preview": "package acounter\n\nimport (\n\t\"sync/atomic\"\n)\n\ntype Type struct {\n\tval uint64\n}\n\nfunc (self *Type) Value() uint64 {\n\tretur"
  },
  {
    "path": "pkg/aflag/aflag.go",
    "chars": 705,
    "preview": "package aflag\n\nimport (\n\t\"sync/atomic\"\n)\n\nconst (\n\tNone uint32 = iota\n\tOff\n\tOn\n)\n\ntype Type struct {\n\tval uint32\n}\n\nfunc"
  },
  {
    "path": "pkg/app/constants.go",
    "chars": 108,
    "preview": "package app\n\nconst (\n\tDefaultArtifactsDirPath = \"/opt/_slim/artifacts\"\n\tArtifactFilesDirName    = \"files\"\n)\n"
  },
  {
    "path": "pkg/app/execontext.go",
    "chars": 8982,
    "preview": "package app\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"os\"\n\t\"runtime/debug\"\n\t\"strings\"\n\n\t\"github.com/fatih/color\"\n\tlog \"github."
  },
  {
    "path": "pkg/app/master/app.go",
    "chars": 268,
    "preview": "package app\n\nimport (\n\t\"os\"\n\n\tlog \"github.com/sirupsen/logrus\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/signals\"\n)\n"
  },
  {
    "path": "pkg/app/master/builder/image_builder.go",
    "chars": 10762,
    "preview": "package builder\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"path/filepath\"\n\t\"strings\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/m"
  },
  {
    "path": "pkg/app/master/cli.go",
    "chars": 5664,
    "preview": "package app\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"strings\"\n\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.c"
  },
  {
    "path": "pkg/app/master/command/appbom/cli.go",
    "chars": 540,
    "preview": "package appbom\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n\n\t"
  },
  {
    "path": "pkg/app/master/command/appbom/handler.go",
    "chars": 2544,
    "preview": "package appbom\n\nimport (\n\t//log \"github.com/sirupsen/logrus\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimto"
  },
  {
    "path": "pkg/app/master/command/appbom/init/init.go",
    "chars": 129,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/appbom\"\n)\n\nfunc init() {\n\tappbom.RegisterCom"
  },
  {
    "path": "pkg/app/master/command/appbom/prompt.go",
    "chars": 142,
    "preview": "package appbom\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n)\n\nvar CommandSuggestion = prompt.Suggest{\n\tText:        Name,\n\t"
  },
  {
    "path": "pkg/app/master/command/appbom/register.go",
    "chars": 176,
    "preview": "package appbom\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddC"
  },
  {
    "path": "pkg/app/master/command/build/cli.go",
    "chars": 24257,
    "preview": "package build\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"strings\"\n\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github"
  },
  {
    "path": "pkg/app/master/command/build/flags.go",
    "chars": 30919,
    "preview": "package build\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"strings\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n\t\"githu"
  },
  {
    "path": "pkg/app/master/command/build/handler.go",
    "chars": 48997,
    "preview": "package build\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"context\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"ru"
  },
  {
    "path": "pkg/app/master/command/build/image.go",
    "chars": 18714,
    "preview": "package build\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/dustin/go-humanize\"\n\tdockerapi \"g"
  },
  {
    "path": "pkg/app/master/command/build/init/init.go",
    "chars": 127,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/build\"\n)\n\nfunc init() {\n\tbuild.RegisterComma"
  },
  {
    "path": "pkg/app/master/command/build/kubernetes.go",
    "chars": 11441,
    "preview": "package build\n\nimport (\n\t\"bufio\"\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"os\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/slimtoolkit/s"
  },
  {
    "path": "pkg/app/master/command/build/prompt.go",
    "chars": 22288,
    "preview": "package build\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n\n\t\"github.com/c-bata/go-prompt\"\n)\n\nvar Com"
  },
  {
    "path": "pkg/app/master/command/build/register.go",
    "chars": 194,
    "preview": "package build\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddCL"
  },
  {
    "path": "pkg/app/master/command/cliflags.go",
    "chars": 36980,
    "preview": "package command\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/urfave/cli/v2\"\n\t\"k8s.io/client-go/tools/clientc"
  },
  {
    "path": "pkg/app/master/command/clifvgetter.go",
    "chars": 11538,
    "preview": "package command\n\n//Flag value getters\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"os\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\tlog \"githu"
  },
  {
    "path": "pkg/app/master/command/clifvparser.go",
    "chars": 17729,
    "preview": "package command\n\n//Flag value parsers\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strconv\"\n\t\"str"
  },
  {
    "path": "pkg/app/master/command/cliprompt.go",
    "chars": 14760,
    "preview": "package command\n\n//CLI prompts\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"runtime\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/c-bata/go-prompt\"\n\t\"gi"
  },
  {
    "path": "pkg/app/master/command/common.go",
    "chars": 7497,
    "preview": "package command\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com"
  },
  {
    "path": "pkg/app/master/command/containerize/cli.go",
    "chars": 829,
    "preview": "package containerize\n\nimport (\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtool"
  },
  {
    "path": "pkg/app/master/command/containerize/handler.go",
    "chars": 2119,
    "preview": "package containerize\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolkit/slim/pkg/app/master/comma"
  },
  {
    "path": "pkg/app/master/command/containerize/init/init.go",
    "chars": 141,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/containerize\"\n)\n\nfunc init() {\n\tcontainerize"
  },
  {
    "path": "pkg/app/master/command/containerize/prompt.go",
    "chars": 148,
    "preview": "package containerize\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n)\n\nvar CommandSuggestion = prompt.Suggest{\n\tText:        N"
  },
  {
    "path": "pkg/app/master/command/containerize/register.go",
    "chars": 182,
    "preview": "package containerize\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcomman"
  },
  {
    "path": "pkg/app/master/command/convert/cli.go",
    "chars": 815,
    "preview": "package convert\n\nimport (\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolkit/s"
  },
  {
    "path": "pkg/app/master/command/convert/handler.go",
    "chars": 2104,
    "preview": "package convert\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n\t"
  },
  {
    "path": "pkg/app/master/command/convert/init/init.go",
    "chars": 131,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/convert\"\n)\n\nfunc init() {\n\tconvert.RegisterC"
  },
  {
    "path": "pkg/app/master/command/convert/prompt.go",
    "chars": 143,
    "preview": "package convert\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n)\n\nvar CommandSuggestion = prompt.Suggest{\n\tText:        Name,\n"
  },
  {
    "path": "pkg/app/master/command/convert/register.go",
    "chars": 177,
    "preview": "package convert\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.Add"
  },
  {
    "path": "pkg/app/master/command/debug/cli.go",
    "chars": 7259,
    "preview": "package debug\n\nimport (\n\t\"strings\"\n\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/sli"
  },
  {
    "path": "pkg/app/master/command/debug/debug_images.go",
    "chars": 2726,
    "preview": "package debug\n\nimport (\n// \"strings\"\n)\n\nconst (\n\tCgrSlimToolkitDebugImage = \"cgr.dev/chainguard/slim-toolkit-debug:lates"
  },
  {
    "path": "pkg/app/master/command/debug/flags.go",
    "chars": 6701,
    "preview": "package debug\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/urfave/cli/v2\"\n)\n\n// Debug command flag names and"
  },
  {
    "path": "pkg/app/master/command/debug/handle_docker_runtime.go",
    "chars": 10472,
    "preview": "package debug\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"strings\"\n\t\"time\"\n\n\tdockerapi \"github.com/fsouza/go-dockerclient\"\n\tlog \"gith"
  },
  {
    "path": "pkg/app/master/command/debug/handle_kubernetes_runtime.go",
    "chars": 31852,
    "preview": "package debug\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net/http\"\n\t\"os\"\n\t\"strings\"\n\t\"time\"\n\n"
  },
  {
    "path": "pkg/app/master/command/debug/handler.go",
    "chars": 3348,
    "preview": "package debug\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolk"
  },
  {
    "path": "pkg/app/master/command/debug/init/init.go",
    "chars": 127,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/debug\"\n)\n\nfunc init() {\n\tdebug.RegisterComma"
  },
  {
    "path": "pkg/app/master/command/debug/prompt.go",
    "chars": 10099,
    "preview": "package debug\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/c-bata/go-prompt\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n"
  },
  {
    "path": "pkg/app/master/command/debug/register.go",
    "chars": 194,
    "preview": "package debug\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddCL"
  },
  {
    "path": "pkg/app/master/command/debug/session.go",
    "chars": 1283,
    "preview": "package debug\n\nimport (\n\t\"encoding/hex\"\n\t\"fmt\"\n\t\"os\"\n\t\"time\"\n\n\t\"github.com/segmentio/ksuid\"\n\tlog \"github.com/sirupsen/lo"
  },
  {
    "path": "pkg/app/master/command/debug/shell.go",
    "chars": 4007,
    "preview": "package debug\n\nimport (\n\t\"strings\"\n\t//log \"github.com/sirupsen/logrus\"\n)\n\nconst (\n\tsidKey   = \"_SESSION_ID_\"\n\tshellKey ="
  },
  {
    "path": "pkg/app/master/command/dockerclipm/cli.go",
    "chars": 942,
    "preview": "package dockerclipm\n\nimport (\n\t\"encoding/json\"\n\t\"os\"\n\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/ver"
  },
  {
    "path": "pkg/app/master/command/dockerclipm/register.go",
    "chars": 212,
    "preview": "package dockerclipm\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nf"
  },
  {
    "path": "pkg/app/master/command/edit/cli.go",
    "chars": 820,
    "preview": "package edit\n\nimport (\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolkit/slim"
  },
  {
    "path": "pkg/app/master/command/edit/handler.go",
    "chars": 2095,
    "preview": "package edit\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolki"
  },
  {
    "path": "pkg/app/master/command/edit/init/init.go",
    "chars": 125,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/edit\"\n)\n\nfunc init() {\n\tedit.RegisterCommand"
  },
  {
    "path": "pkg/app/master/command/edit/prompt.go",
    "chars": 140,
    "preview": "package edit\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n)\n\nvar CommandSuggestion = prompt.Suggest{\n\tText:        Name,\n\tDe"
  },
  {
    "path": "pkg/app/master/command/edit/register.go",
    "chars": 174,
    "preview": "package edit\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddCLI"
  },
  {
    "path": "pkg/app/master/command/help/cli.go",
    "chars": 286,
    "preview": "package help\n\nimport (\n\t\"github.com/urfave/cli/v2\"\n)\n\nconst (\n\tName  = \"help\"\n\tUsage = \"Show help info\"\n\tAlias = \"h\"\n)\n\n"
  },
  {
    "path": "pkg/app/master/command/help/init/init.go",
    "chars": 125,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/help\"\n)\n\nfunc init() {\n\thelp.RegisterCommand"
  },
  {
    "path": "pkg/app/master/command/help/prompt.go",
    "chars": 140,
    "preview": "package help\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n)\n\nvar CommandSuggestion = prompt.Suggest{\n\tText:        Name,\n\tDe"
  },
  {
    "path": "pkg/app/master/command/help/register.go",
    "chars": 174,
    "preview": "package help\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddCLI"
  },
  {
    "path": "pkg/app/master/command/images/cli.go",
    "chars": 755,
    "preview": "package images\n\nimport (\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolkit/sl"
  },
  {
    "path": "pkg/app/master/command/images/handler.go",
    "chars": 3220,
    "preview": "package images\n\nimport (\n\t\"fmt\"\n\t\"time\"\n\n\t\"github.com/dustin/go-humanize\"\n\t\"github.com/jedib0t/go-pretty/v6/table\"\n\tlog "
  },
  {
    "path": "pkg/app/master/command/images/init/init.go",
    "chars": 129,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/images\"\n)\n\nfunc init() {\n\timages.RegisterCom"
  },
  {
    "path": "pkg/app/master/command/images/prompt.go",
    "chars": 142,
    "preview": "package images\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n)\n\nvar CommandSuggestion = prompt.Suggest{\n\tText:        Name,\n\t"
  },
  {
    "path": "pkg/app/master/command/images/register.go",
    "chars": 176,
    "preview": "package images\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddC"
  },
  {
    "path": "pkg/app/master/command/install/cli.go",
    "chars": 1308,
    "preview": "package install\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n\n\t\"github.com/urfave/cli/v2\"\n)\n\nconst (\n"
  },
  {
    "path": "pkg/app/master/command/install/handler.go",
    "chars": 4480,
    "preview": "package install\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/slimtoolkit/go-u"
  },
  {
    "path": "pkg/app/master/command/install/init/init.go",
    "chars": 131,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/install\"\n)\n\nfunc init() {\n\tinstall.RegisterC"
  },
  {
    "path": "pkg/app/master/command/install/prompt.go",
    "chars": 492,
    "preview": "package install\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nvar C"
  },
  {
    "path": "pkg/app/master/command/install/register.go",
    "chars": 196,
    "preview": "package install\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.Add"
  },
  {
    "path": "pkg/app/master/command/lint/cli.go",
    "chars": 3710,
    "preview": "package lint\n\nimport (\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolkit/slim"
  },
  {
    "path": "pkg/app/master/command/lint/flags.go",
    "chars": 4366,
    "preview": "package lint\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/"
  },
  {
    "path": "pkg/app/master/command/lint/handler.go",
    "chars": 6518,
    "preview": "package lint\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\n\tdockerapi \"github.com/fsouza/go-dockerclient\"\n\tlog \"github.com/sirupsen/logru"
  },
  {
    "path": "pkg/app/master/command/lint/init/init.go",
    "chars": 125,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/lint\"\n)\n\nfunc init() {\n\tlint.RegisterCommand"
  },
  {
    "path": "pkg/app/master/command/lint/prompt.go",
    "chars": 3512,
    "preview": "package lint\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n\t\"github.co"
  },
  {
    "path": "pkg/app/master/command/lint/register.go",
    "chars": 193,
    "preview": "package lint\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddCLI"
  },
  {
    "path": "pkg/app/master/command/merge/cli.go",
    "chars": 2408,
    "preview": "package merge\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoo"
  },
  {
    "path": "pkg/app/master/command/merge/flags.go",
    "chars": 1252,
    "preview": "package merge\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/urfave/cli/v2\"\n)\n\n// Merge command flag names\ncon"
  },
  {
    "path": "pkg/app/master/command/merge/handler.go",
    "chars": 11299,
    "preview": "package merge\n\nimport (\n\t\"archive/tar\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"strings\"\n\n\t\"github.com/cespare/xxhash/v2\"\n\tlog \"gi"
  },
  {
    "path": "pkg/app/master/command/merge/init/init.go",
    "chars": 127,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/merge\"\n)\n\nfunc init() {\n\tmerge.RegisterComma"
  },
  {
    "path": "pkg/app/master/command/merge/prompt.go",
    "chars": 645,
    "preview": "package merge\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nvar Com"
  },
  {
    "path": "pkg/app/master/command/merge/register.go",
    "chars": 194,
    "preview": "package merge\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddCL"
  },
  {
    "path": "pkg/app/master/command/probe/cli.go",
    "chars": 1210,
    "preview": "package probe\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n\n\t\""
  },
  {
    "path": "pkg/app/master/command/probe/flags.go",
    "chars": 798,
    "preview": "package probe\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/urfave/cli/v2\"\n)\n\n// Probe command flag names and"
  },
  {
    "path": "pkg/app/master/command/probe/handler.go",
    "chars": 2696,
    "preview": "package probe\n\nimport (\n\t\"fmt\"\n\n\tlog \"github.com/sirupsen/logrus\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/s"
  },
  {
    "path": "pkg/app/master/command/probe/init/init.go",
    "chars": 127,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/probe\"\n)\n\nfunc init() {\n\tprobe.RegisterComma"
  },
  {
    "path": "pkg/app/master/command/probe/prompt.go",
    "chars": 2496,
    "preview": "package probe\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nvar Com"
  },
  {
    "path": "pkg/app/master/command/probe/register.go",
    "chars": 194,
    "preview": "package probe\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddCL"
  },
  {
    "path": "pkg/app/master/command/profile/cli.go",
    "chars": 10362,
    "preview": "package profile\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"githu"
  },
  {
    "path": "pkg/app/master/command/profile/handler.go",
    "chars": 15375,
    "preview": "package profile\n\nimport (\n\t\"bufio\"\n\t\"fmt\"\n\t\"os\"\n\t\"runtime\"\n\t\"time\"\n\n\t\"github.com/dustin/go-humanize\"\n\tdocker \"github.com"
  },
  {
    "path": "pkg/app/master/command/profile/init/init.go",
    "chars": 131,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/profile\"\n)\n\nfunc init() {\n\tprofile.RegisterC"
  },
  {
    "path": "pkg/app/master/command/profile/prompt.go",
    "chars": 8583,
    "preview": "package profile\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nvar C"
  },
  {
    "path": "pkg/app/master/command/profile/register.go",
    "chars": 196,
    "preview": "package profile\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.Add"
  },
  {
    "path": "pkg/app/master/command/registry/auth.go",
    "chars": 781,
    "preview": "package registry\n\nimport (\n\t\"github.com/google/go-containerregistry/pkg/authn\"\n\t\"github.com/google/go-containerregistry/"
  },
  {
    "path": "pkg/app/master/command/registry/cli.go",
    "chars": 7847,
    "preview": "package registry\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slim"
  },
  {
    "path": "pkg/app/master/command/registry/flags.go",
    "chars": 6257,
    "preview": "package registry\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/urfave/cli/v2\"\n)\n\n// Registry command flag nam"
  },
  {
    "path": "pkg/app/master/command/registry/handler_copy.go",
    "chars": 2270,
    "preview": "package registry\n\nimport (\n\t//\"github.com/google/go-containerregistry/pkg/crane\"\n\t//\"github.com/google/go-containerregis"
  },
  {
    "path": "pkg/app/master/command/registry/handler_image_index.go",
    "chars": 7345,
    "preview": "package registry\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"fmt\"\n\t\"net/http\"\n\n\t\"github.com/google/go-containerregistry/pkg/name\"\n\t"
  },
  {
    "path": "pkg/app/master/command/registry/handler_pull.go",
    "chars": 4260,
    "preview": "package registry\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/google/go-containerregistry/pkg/name\"\n\t\"github.com/google/go-"
  },
  {
    "path": "pkg/app/master/command/registry/handler_push.go",
    "chars": 4620,
    "preview": "package registry\n\nimport (\n\t\"context\"\n\t\"os\"\n\n\t\"github.com/google/go-containerregistry/pkg/name\"\n\t\"github.com/google/go-c"
  },
  {
    "path": "pkg/app/master/command/registry/handler_server.go",
    "chars": 4063,
    "preview": "package registry\n\nimport (\n\t\"crypto/tls\"\n\t\"errors\"\n\t\"fmt\"\n\t\"golang.org/x/crypto/acme/autocert\"\n\tstdlog \"log\"\n\t\"net/http\""
  },
  {
    "path": "pkg/app/master/command/registry/init/init.go",
    "chars": 133,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/registry\"\n)\n\nfunc init() {\n\tregistry.Registe"
  },
  {
    "path": "pkg/app/master/command/registry/prompt.go",
    "chars": 872,
    "preview": "package registry\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nvar "
  },
  {
    "path": "pkg/app/master/command/registry/register.go",
    "chars": 197,
    "preview": "package registry\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.Ad"
  },
  {
    "path": "pkg/app/master/command/run/cli.go",
    "chars": 3302,
    "preview": "package run\n\nimport (\n\tdockerapi \"github.com/fsouza/go-dockerclient\"\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolk"
  },
  {
    "path": "pkg/app/master/command/run/flags.go",
    "chars": 1613,
    "preview": "package run\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/urfave/cli/v2\"\n)\n\n// Run command flag names\nconst ("
  },
  {
    "path": "pkg/app/master/command/run/handler.go",
    "chars": 4821,
    "preview": "package run\n\nimport (\n\t\"fmt\"\n\n\tlog \"github.com/sirupsen/logrus\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/sli"
  },
  {
    "path": "pkg/app/master/command/run/init/init.go",
    "chars": 123,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/run\"\n)\n\nfunc init() {\n\trun.RegisterCommand()"
  },
  {
    "path": "pkg/app/master/command/run/prompt.go",
    "chars": 139,
    "preview": "package run\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n)\n\nvar CommandSuggestion = prompt.Suggest{\n\tText:        Name,\n\tDes"
  },
  {
    "path": "pkg/app/master/command/run/register.go",
    "chars": 173,
    "preview": "package run\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddCLIC"
  },
  {
    "path": "pkg/app/master/command/server/cli.go",
    "chars": 541,
    "preview": "package server\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n\n\t"
  },
  {
    "path": "pkg/app/master/command/server/handler.go",
    "chars": 2014,
    "preview": "package server\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n\t\""
  },
  {
    "path": "pkg/app/master/command/server/init/init.go",
    "chars": 129,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/server\"\n)\n\nfunc init() {\n\tserver.RegisterCom"
  },
  {
    "path": "pkg/app/master/command/server/prompt.go",
    "chars": 142,
    "preview": "package server\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n)\n\nvar CommandSuggestion = prompt.Suggest{\n\tText:        Name,\n\t"
  },
  {
    "path": "pkg/app/master/command/server/register.go",
    "chars": 176,
    "preview": "package server\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddC"
  },
  {
    "path": "pkg/app/master/command/update/cli.go",
    "chars": 1444,
    "preview": "package update\n\nimport (\n\t\"fmt\"\n\t\"runtime\"\n\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/co"
  },
  {
    "path": "pkg/app/master/command/update/handler.go",
    "chars": 313,
    "preview": "package update\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/update\"\n)\n\n// OnCommand implements the 'update' co"
  },
  {
    "path": "pkg/app/master/command/update/init/init.go",
    "chars": 129,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/update\"\n)\n\nfunc init() {\n\tupdate.RegisterCom"
  },
  {
    "path": "pkg/app/master/command/update/prompt.go",
    "chars": 510,
    "preview": "package update\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nvar Co"
  },
  {
    "path": "pkg/app/master/command/update/register.go",
    "chars": 195,
    "preview": "package update\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddC"
  },
  {
    "path": "pkg/app/master/command/version/cli.go",
    "chars": 639,
    "preview": "package version\n\nimport (\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtoolkit/s"
  },
  {
    "path": "pkg/app/master/command/version/handler.go",
    "chars": 1384,
    "preview": "package version\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t//\"github.com/slimt"
  },
  {
    "path": "pkg/app/master/command/version/init/init.go",
    "chars": 131,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/version\"\n)\n\nfunc init() {\n\tversion.RegisterC"
  },
  {
    "path": "pkg/app/master/command/version/prompt.go",
    "chars": 143,
    "preview": "package version\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n)\n\nvar CommandSuggestion = prompt.Suggest{\n\tText:        Name,\n"
  },
  {
    "path": "pkg/app/master/command/version/register.go",
    "chars": 177,
    "preview": "package version\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.Add"
  },
  {
    "path": "pkg/app/master/command/vulnerability/cli.go",
    "chars": 4584,
    "preview": "package vulnerability\n\nimport (\n\t\"fmt\"\n\t\"time\"\n\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"gi"
  },
  {
    "path": "pkg/app/master/command/vulnerability/flags.go",
    "chars": 4130,
    "preview": "package vulnerability\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/urfave/cli/v2\"\n)\n\n// Vulnerability comman"
  },
  {
    "path": "pkg/app/master/command/vulnerability/handler_tool_epss.go",
    "chars": 6647,
    "preview": "package vulnerability\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"time\"\n\n\t\"github.com/jedib0t/go-pretty/v6/table\"\n\tlog \"github.com/sir"
  },
  {
    "path": "pkg/app/master/command/vulnerability/init/init.go",
    "chars": 143,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/vulnerability\"\n)\n\nfunc init() {\n\tvulnerabili"
  },
  {
    "path": "pkg/app/master/command/vulnerability/prompt.go",
    "chars": 495,
    "preview": "package vulnerability\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n"
  },
  {
    "path": "pkg/app/master/command/vulnerability/register.go",
    "chars": 202,
    "preview": "package vulnerability\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcomma"
  },
  {
    "path": "pkg/app/master/command/xray/cli.go",
    "chars": 17937,
    "preview": "package xray\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/urfave/cli/v2\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\""
  },
  {
    "path": "pkg/app/master/command/xray/flags.go",
    "chars": 12803,
    "preview": "package xray\n\nimport (\n\tlog \"github.com/sirupsen/logrus\"\n\t\"github.com/urfave/cli/v2\"\n)\n\n// Xray command flag names\nconst"
  },
  {
    "path": "pkg/app/master/command/xray/handler.go",
    "chars": 41154,
    "preview": "package xray\n\nimport (\n\t\"fmt\"\n\t\"path/filepath\"\n\t\"regexp\"\n\t\"strings\"\n\t\"time\"\n\n\t//\"github.com/bmatcuk/doublestar/v3\"\n\t\"git"
  },
  {
    "path": "pkg/app/master/command/xray/init/init.go",
    "chars": 125,
    "preview": "package init\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command/xray\"\n)\n\nfunc init() {\n\txray.RegisterCommand"
  },
  {
    "path": "pkg/app/master/command/xray/prompt.go",
    "chars": 6020,
    "preview": "package xray\n\nimport (\n\t\"github.com/c-bata/go-prompt\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nvar Comm"
  },
  {
    "path": "pkg/app/master/command/xray/register.go",
    "chars": 193,
    "preview": "package xray\n\nimport (\n\t\"github.com/slimtoolkit/slim/pkg/app/master/command\"\n)\n\nfunc RegisterCommand() {\n\tcommand.AddCLI"
  },
  {
    "path": "pkg/app/master/compose/execution.go",
    "chars": 46444,
    "preview": "package compose\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"sync"
  },
  {
    "path": "pkg/app/master/config/config.go",
    "chars": 8084,
    "preview": "package config\n\nimport (\n\t\"errors\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"time\"\n\n\tdocker \"github.com/fsouza/go-dockerclient"
  },
  {
    "path": "pkg/app/master/container/execution.go",
    "chars": 15136,
    "preview": "package container\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"os/signal\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"sy"
  },
  {
    "path": "pkg/app/master/docker/dockerhost/host.go",
    "chars": 990,
    "preview": "package dockerhost\n\nimport (\n\t\"net\"\n\t\"net/url\"\n\t\"os\"\n\n\tdockerapi \"github.com/fsouza/go-dockerclient\"\n\tlog \"github.com/si"
  },
  {
    "path": "pkg/app/master/inspectors/container/container_inspector.go",
    "chars": 44942,
    "preview": "package container\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"os/signal\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"syscall\""
  },
  {
    "path": "pkg/app/master/inspectors/container/container_startup.go",
    "chars": 1698,
    "preview": "package container\n\nimport (\n\t\"strings\"\n)\n\nvar defaultShellFormPrefix = []string{\"/bin/sh\", \"-c\"}\n\nfunc hasPrefixSlice(in"
  },
  {
    "path": "pkg/app/master/inspectors/image/extract_registry_test.go",
    "chars": 1928,
    "preview": "package image\n\nimport (\n\t\"reflect\"\n\t\"testing\"\n)\n\nfunc TestRegistryExtraction(t *testing.T) {\n\ttt := []struct {\n\t\tin     "
  },
  {
    "path": "pkg/app/master/inspectors/image/image_inspector.go",
    "chars": 11234,
    "preview": "package image\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"path/filepath\"\n\t\"regexp\"\n\t\"strings\"\n\n\tdocker \"github.com/fsouza/go-dockerclien"
  },
  {
    "path": "pkg/app/master/inspectors/ipc/ipc.go",
    "chars": 3573,
    "preview": "package ipc\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"os\"\n\n\tlog \"github.com/sirupsen/logrus\"\n\n\t\"github.com/slimtoolkit/slim/pk"
  },
  {
    "path": "pkg/app/master/inspectors/pod/pod_inspector.go",
    "chars": 21732,
    "preview": "package pod\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github"
  },
  {
    "path": "pkg/app/master/inspectors/sensor/sensor.go",
    "chars": 2088,
    "preview": "package sensor\n\nimport (\n\t\"os\"\n\t\"path/filepath\"\n\t\"runtime\"\n\n\t\"github.com/slimtoolkit/slim/pkg/app\"\n\t\"github.com/slimtool"
  },
  {
    "path": "pkg/app/master/kubernetes/client.go",
    "chars": 2725,
    "preview": "package kubernetes\n\nimport (\n\t\"context\"\n\n\tapierrors \"k8s.io/apimachinery/pkg/api/errors\"\n\tmetav1 \"k8s.io/apimachinery/pk"
  },
  {
    "path": "pkg/app/master/kubernetes/kubectl.go",
    "chars": 3677,
    "preview": "package kubernetes\n\nimport (\n\t\"bufio\"\n\t\"context\"\n\t\"errors\"\n\t\"fmt\"\n\t\"os/exec\"\n\t\"path/filepath\"\n\t\"strings\"\n\n\t\"github.com/s"
  },
  {
    "path": "pkg/app/master/kubernetes/manifests.go",
    "chars": 2758,
    "preview": "package kubernetes\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\tapierrors \"k8s.io/apimachinery/pkg/api/errors\"\n\t\"k8s.io/cli-runtime/pkg"
  },
  {
    "path": "pkg/app/master/kubernetes/workload.go",
    "chars": 4369,
    "preview": "package kubernetes\n\nimport (\n\t\"errors\"\n\n\tappsv1 \"k8s.io/api/apps/v1\"\n\tbatchv1 \"k8s.io/api/batch/v1\"\n\tcorev1 \"k8s.io/api/"
  },
  {
    "path": "pkg/app/master/probe/http/crawler.go",
    "chars": 3991,
    "preview": "package http\n\nimport (\n\t\"net/http\"\n\t\"net/http/cookiejar\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/gocolly/colly/v2\"\n\tlog \"github"
  },
  {
    "path": "pkg/app/master/probe/http/custom_probe.go",
    "chars": 18003,
    "preview": "package http\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"os\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\tdocke"
  },
  {
    "path": "pkg/app/master/probe/http/httpclient.go",
    "chars": 2392,
    "preview": "package http\n\nimport (\n\t\"crypto/tls\"\n\t\"fmt\"\n\t\"net\"\n\t\"net/http\"\n\t\"time\"\n\n\t\"golang.org/x/net/http2\"\n\n\t\"github.com/slimtool"
  }
]

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

About this extraction

This page contains the full source code of the slimtoolkit/slim GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 5488 files (59.5 MB), approximately 4.3M tokens, and a symbol index with 26703 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!