Compare commits

...
Author SHA1 Message Date
github-actions[bot] d38bb2c695 [dependabot skip] chore: update generated content 2026-09-17 19:24:41 +00:00
dependabot[bot] bdd9dbab8f chore(deps): Bump moment from 2.30.1 to 2.31.0
Bumps [moment](https://github.com/moment/moment) from 2.30.1 to 2.31.0.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.30.1...2.31.0)

---
updated-dependencies:
- dependency-name: moment
  dependency-version: 2.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-17 19:23:42 +00:00
CrazyMax 8e671d84a3 Merge pull request #729 from crazy-max/git-working-directory
support custom paths in Git context
2026-09-15 13:39:47 +02:00
CrazyMax a539373280 Merge pull request #728 from docker/dependabot/npm_and_yarn/js-yaml-4.3.2
chore(deps): Bump js-yaml from 4.3.1 to 4.3.2
2026-09-15 12:30:34 +02:00
CrazyMax a60f99ff25 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-09-15 12:24:19 +02:00
CrazyMax 1c7071ce1e support custom paths in Git context
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-09-15 12:24:18 +02:00
dependabot[bot] 78ec08d276 chore(deps): Bump js-yaml from 4.3.1 to 4.3.2
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.3.1 to 4.3.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.2/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.1...4.3.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-15 10:07:05 +00:00
CrazyMax 00741899ac Merge pull request #727 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.100.0
chore(deps): Bump @docker/actions-toolkit from 0.92.0 to 0.100.0
2026-09-15 12:05:09 +02:00
github-actions[bot] 25b012154c [dependabot skip] chore: update generated content 2026-09-15 09:48:08 +00:00
dependabot[bot] 821a65235e chore(deps): Bump @docker/actions-toolkit from 0.92.0 to 0.100.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.92.0 to 0.100.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.92.0...v0.100.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.100.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-15 09:47:02 +00:00
CrazyMax 0eef5a8fde Merge pull request #726 from docker/dependabot/github_actions/actions/setup-node-7.0.0
chore(deps): Bump actions/setup-node from 6.4.0 to 7.0.0
2026-09-15 11:44:56 +02:00
CrazyMax 9a3496a831 Merge pull request #725 from docker/dependabot/github_actions/actions/checkout-7.0.1
chore(deps): Bump actions/checkout from 7.0.0 to 7.0.1
2026-09-15 11:44:46 +02:00
CrazyMax 36c0ebbaab Merge pull request #724 from docker/dependabot/github_actions/docker/setup-buildx-action-4.3.0
chore(deps): Bump docker/setup-buildx-action from 4.2.0 to 4.3.0
2026-09-15 11:44:36 +02:00
CrazyMax 105ecbec2c Merge pull request #723 from docker/dependabot/github_actions/codeql-actions-03ad6eec6c
chore(deps): Bump the codeql-actions group with 2 updates
2026-09-15 11:44:26 +02:00
CrazyMax 77a5bf1476 Merge pull request #721 from docker/dependabot/github_actions/crazy-max-dot-github-6f52f8ed50
chore(deps): Bump the crazy-max-dot-github group with 2 updates
2026-09-15 11:44:14 +02:00
CrazyMax d734c39441 Merge pull request #712 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.18
chore(deps): Bump brace-expansion from 1.1.14 to 1.1.18
2026-09-15 11:44:03 +02:00
dependabot[bot] d1a36161f1 chore(deps): Bump actions/setup-node from 6.4.0 to 7.0.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.4.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e...820762786026740c76f36085b0efc47a31fe5020)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 19:25:16 +00:00
dependabot[bot] 2a4bfb6409 chore(deps): Bump actions/checkout from 7.0.0 to 7.0.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 19:25:10 +00:00
dependabot[bot] 51af017501 chore(deps): Bump docker/setup-buildx-action from 4.2.0 to 4.3.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/bb05f3f5519dd87d3ba754cc423b652a5edd6d2c...37fe631027851001ddb9b187196cc803df7f5f0e)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 19:24:40 +00:00
dependabot[bot] 85c1a712c2 chore(deps): Bump the codeql-actions group with 2 updates
Bumps the codeql-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.36.3 to 4.38.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/54f647b7e1bb85c95cddabcd46b0c578ec92bc1a...b96794f015dfd88f77b49b1c93e0fa7110f94c63)

Updates `github/codeql-action/analyze` from 4.36.3 to 4.38.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/54f647b7e1bb85c95cddabcd46b0c578ec92bc1a...b96794f015dfd88f77b49b1c93e0fa7110f94c63)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 19:24:34 +00:00
dependabot[bot] 3fd1b59294 chore(deps): Bump the crazy-max-dot-github group with 2 updates
Bumps the crazy-max-dot-github group with 2 updates: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.10.1 to 1.11.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/46267a6e61cd56aac2fc79943df180152f4c89d6...f91220cba053bd54299ba645a599ee8ed436f222)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.10.1 to 1.11.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/46267a6e61cd56aac2fc79943df180152f4c89d6...f91220cba053bd54299ba645a599ee8ed436f222)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 19:22:28 +00:00
github-actions[bot] cefe75597d [dependabot skip] chore: update generated content 2026-09-11 12:22:06 +00:00
dependabot[bot] 44a747c14e chore(deps): Bump brace-expansion from 1.1.14 to 1.1.18
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.14 to 1.1.18.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.18)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.18
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 12:21:12 +00:00
CrazyMax 334e73ab86 Merge pull request #710 from docker/dependabot/npm_and_yarn/postcss-8.5.25
chore(deps): Bump postcss from 8.5.10 to 8.5.28
2026-09-11 14:19:10 +02:00
CrazyMax a65e287521 Merge pull request #707 from docker/dependabot/npm_and_yarn/moment-timezone-0.6.3
chore(deps): Bump moment-timezone from 0.6.2 to 0.6.3
2026-09-11 14:02:25 +02:00
github-actions[bot] 06076441e4 [dependabot skip] chore: update generated content 2026-09-11 11:57:50 +00:00
dependabot[bot] 16b2402ae8 chore(deps): Bump moment-timezone from 0.6.2 to 0.6.3
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.6.2 to 0.6.3.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.6.2...0.6.3)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-version: 0.6.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 11:56:50 +00:00
CrazyMax fe5ae53f8c Merge pull request #701 from docker/dependabot/npm_and_yarn/csv-parse-7.0.1
chore(deps): Bump csv-parse from 7.0.0 to 7.0.2
2026-09-11 13:54:30 +02:00
github-actions[bot] 8c322d0993 [dependabot skip] chore: update generated content 2026-09-11 11:46:11 +00:00
dependabot[bot] b85971cc18 chore(deps): Bump postcss from 8.5.10 to 8.5.28
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.10 to 8.5.28.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.10...8.5.28)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.25
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 11:46:01 +00:00
dependabot[bot] 5faed39cb8 chore(deps): Bump csv-parse from 7.0.0 to 7.0.2
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 7.0.0 to 7.0.2.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@7.0.2/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 11:45:15 +00:00
CrazyMax fa86a8e19a Merge pull request #715 from docker/dependabot/npm_and_yarn/js-yaml-4.3.1
chore(deps): Bump js-yaml from 4.3.0 to 4.3.1
2026-09-11 13:44:37 +02:00
CrazyMax 818bf39daf Merge pull request #713 from docker/dependabot/npm_and_yarn/undici-6.28.0
chore(deps): Bump undici from 6.27.0 to 6.28.0
2026-09-11 13:43:18 +02:00
CrazyMax 7e7495626c Merge pull request #716 from docker/dependabot/npm_and_yarn/postcss-selector-parser-7.1.5
chore(deps): Bump postcss-selector-parser from 7.1.1 to 7.1.5
2026-09-11 13:43:00 +02:00
CrazyMax 63f5656707 Merge pull request #717 from docker/dependabot/npm_and_yarn/humanfs/node-0.16.8
chore(deps): Bump @humanfs/node from 0.16.7 to 0.16.8
2026-09-11 13:42:31 +02:00
CrazyMax 8457f1474c Merge pull request #718 from docker/dependabot/npm_and_yarn/nanoid-3.3.18
chore(deps): Bump nanoid from 3.3.11 to 3.3.18
2026-09-11 13:40:31 +02:00
CrazyMax c1ce55cf4b Merge pull request #704 from docker/dependabot/github_actions/codeql-actions-af2beed448
chore(deps): Bump the codeql-actions group with 2 updates
2026-09-11 13:40:02 +02:00
CrazyMax 0b24e01e4b Merge pull request #700 from docker/dependabot/github_actions/docker/setup-buildx-action-4.2.0
chore(deps): Bump docker/setup-buildx-action from 4.1.0 to 4.2.0
2026-09-11 13:39:52 +02:00
CrazyMax 6630998811 Merge pull request #699 from docker/dependabot/github_actions/docker/bake-action/subaction/matrix-7.3.0
chore(deps): Bump docker/bake-action/subaction/matrix from 7.2.0 to 7.3.0
2026-09-11 13:39:42 +02:00
CrazyMax 721ab41eb2 Merge pull request #698 from docker/dependabot/github_actions/docker/build-push-action-7.3.0
chore(deps): Bump docker/build-push-action from 7.2.0 to 7.3.0
2026-09-11 13:39:32 +02:00
CrazyMax 3c48aca360 Merge pull request #697 from docker/dependabot/github_actions/docker/bake-action-7.3.0
chore(deps): Bump docker/bake-action from 7.2.0 to 7.3.0
2026-09-11 13:39:22 +02:00
dependabot[bot] be5123e520 chore(deps): Bump nanoid from 3.3.11 to 3.3.18
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.11 to 3.3.18.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/3.3.18/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.11...3.3.18)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-version: 3.3.18
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-05 08:05:43 +00:00
dependabot[bot] 5e134fc3cf chore(deps): Bump @humanfs/node from 0.16.7 to 0.16.8
Bumps [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node) from 0.16.7 to 0.16.8.
- [Release notes](https://github.com/humanwhocodes/humanfs/releases)
- [Changelog](https://github.com/humanwhocodes/humanfs/blob/main/packages/node/CHANGELOG.md)
- [Commits](https://github.com/humanwhocodes/humanfs/commits/node-v0.16.8/packages/node)

---
updated-dependencies:
- dependency-name: "@humanfs/node"
  dependency-version: 0.16.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-03 12:25:39 +00:00
dependabot[bot] 75c1523541 chore(deps): Bump postcss-selector-parser from 7.1.1 to 7.1.5
Bumps [postcss-selector-parser](https://github.com/postcss/postcss-selector-parser) from 7.1.1 to 7.1.5.
- [Release notes](https://github.com/postcss/postcss-selector-parser/releases)
- [Changelog](https://github.com/postcss/postcss-selector-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss-selector-parser/compare/v7.1.1...7.1.5)

---
updated-dependencies:
- dependency-name: postcss-selector-parser
  dependency-version: 7.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-01 22:32:21 +00:00
dependabot[bot] 31e817f601 chore(deps): Bump js-yaml from 4.3.0 to 4.3.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.3.0 to 4.3.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.0...4.3.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-28 00:41:15 +00:00
github-actions[bot] fd428be62d [dependabot skip] chore: update generated content 2026-08-05 16:18:40 +00:00
dependabot[bot] 85f67a52da chore(deps): Bump undici from 6.27.0 to 6.28.0
Bumps [undici](https://github.com/nodejs/undici) from 6.27.0 to 6.28.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.27.0...v6.28.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.28.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-05 16:17:43 +00:00
dependabot[bot] d6d4c02fe1 chore(deps): Bump the codeql-actions group with 2 updates
Bumps the codeql-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.36.2 to 4.36.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...54f647b7e1bb85c95cddabcd46b0c578ec92bc1a)

Updates `github/codeql-action/analyze` from 4.36.2 to 4.36.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...54f647b7e1bb85c95cddabcd46b0c578ec92bc1a)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-09 12:01:34 +00:00
CrazyMax 703896b4f3 Merge pull request #703 from crazy-max/group-codeql-dependabot-updates
chore: group codeql dependabot updates
2026-07-09 13:58:27 +02:00
CrazyMax 1710a9f662 chore: group codeql dependabot updates
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-09 12:43:17 +02:00
dependabot[bot] 0b3ddf66f0 chore(deps): Bump docker/setup-buildx-action from 4.1.0 to 4.2.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5...bb05f3f5519dd87d3ba754cc423b652a5edd6d2c)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 19:22:36 +00:00
dependabot[bot] 02a9d84cbc chore(deps): Bump docker/bake-action/subaction/matrix
Bumps [docker/bake-action/subaction/matrix](https://github.com/docker/bake-action) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/6614cfa25eff9a0b2b2697efb0b6159e7680d584...d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b)

---
updated-dependencies:
- dependency-name: docker/bake-action/subaction/matrix
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-03 19:25:26 +00:00
dependabot[bot] e956db8a87 chore(deps): Bump docker/build-push-action from 7.2.0 to 7.3.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/f9f3042f7e2789586610d6e8b85c8f03e5195baf...53b7df96c91f9c12dcc8a07bcb9ccacbed38856a)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-03 19:25:10 +00:00
dependabot[bot] 9293eb8a8a chore(deps): Bump docker/bake-action from 7.2.0 to 7.3.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/6614cfa25eff9a0b2b2697efb0b6159e7680d584...d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-03 19:22:33 +00:00
CrazyMax dc80280410 Merge pull request #696 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.92.0
chore(deps): Bump @docker/actions-toolkit from 0.91.0 to 0.92.0
2026-07-02 10:48:54 +02:00
github-actions[bot] 2b9fe830ef [dependabot skip] chore: update generated content 2026-07-02 08:41:54 +00:00
dependabot[bot] 8128ce30ab chore(deps): Bump @docker/actions-toolkit from 0.91.0 to 0.92.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.91.0 to 0.92.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.91.0...v0.92.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.92.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 08:40:54 +00:00
CrazyMax 1d1c89551e Merge pull request #695 from docker/dependabot/npm_and_yarn/semver-7.8.5
chore(deps): Bump semver from 7.8.1 to 7.8.5
2026-07-02 10:17:31 +02:00
CrazyMax 7f0c2dd4c8 Merge pull request #694 from docker/dependabot/npm_and_yarn/sigstore-4.1.1
chore(deps): Bump sigstore from 4.1.0 to 4.1.1
2026-07-02 10:16:57 +02:00
github-actions[bot] 025f8c5c81 [dependabot skip] chore: update generated content 2026-07-02 08:15:28 +00:00
dependabot[bot] e98d63c308 chore(deps): Bump semver from 7.8.1 to 7.8.5
Bumps [semver](https://github.com/npm/node-semver) from 7.8.1 to 7.8.5.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.8.1...v7.8.5)

---
updated-dependencies:
- dependency-name: semver
  dependency-version: 7.8.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 08:14:30 +00:00
dependabot[bot] 37d9379950 chore(deps): Bump sigstore from 4.1.0 to 4.1.1
Bumps [sigstore](https://github.com/sigstore/sigstore-js) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@4.1.0...sigstore@4.1.1)

---
updated-dependencies:
- dependency-name: sigstore
  dependency-version: 4.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 08:14:02 +00:00
CrazyMax a1b8072847 Merge pull request #690 from docker/dependabot/npm_and_yarn/sigstore/core-3.2.1
chore(deps): Bump @sigstore/core from 3.1.0 to 3.2.1
2026-07-02 10:12:02 +02:00
github-actions[bot] e0e338106d [dependabot skip] chore: update generated content 2026-07-02 08:08:04 +00:00
dependabot[bot] 8740eb24f1 chore(deps): Bump @sigstore/core from 3.1.0 to 3.2.1
Bumps [@sigstore/core](https://github.com/sigstore/sigstore-js) from 3.1.0 to 3.2.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/core@3.2.1)

---
updated-dependencies:
- dependency-name: "@sigstore/core"
  dependency-version: 3.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 08:07:05 +00:00
CrazyMax 829d9deafc Merge pull request #686 from docker/dependabot/npm_and_yarn/undici-6.27.0
chore(deps): Bump undici from 6.25.0 to 6.27.0
2026-07-02 10:04:48 +02:00
github-actions[bot] c6f28b352d [dependabot skip] chore: update generated content 2026-07-02 08:03:27 +00:00
dependabot[bot] 2538bcf92b chore(deps): Bump undici from 6.25.0 to 6.27.0
Bumps [undici](https://github.com/nodejs/undici) from 6.25.0 to 6.27.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.25.0...v6.27.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.27.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 08:02:28 +00:00
CrazyMax d90dd465e0 Merge pull request #688 from docker/dependabot/npm_and_yarn/js-yaml-4.2.0
chore(deps): Bump js-yaml from 4.1.1 to 4.3.0
2026-07-02 10:00:21 +02:00
CrazyMax 25e0734ed4 Merge pull request #685 from docker/dependabot/npm_and_yarn/vite-7.3.5
chore(deps): Bump vite from 7.3.2 to 7.3.6
2026-07-02 09:59:54 +02:00
CrazyMax e9f6281329 Merge pull request #683 from docker/dependabot/npm_and_yarn/csv-parse-7.0.0
chore(deps): Bump csv-parse from 6.2.1 to 7.0.0
2026-07-02 09:59:28 +02:00
github-actions[bot] 662982e6ad [dependabot skip] chore: update generated content 2026-07-02 07:57:51 +00:00
github-actions[bot] 8cb42a736d [dependabot skip] chore: update generated content 2026-07-02 07:57:45 +00:00
dependabot[bot] a2ac6757c7 chore(deps): Bump js-yaml from 4.1.1 to 4.3.0
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.3.0.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.1...4.3.0)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 07:56:52 +00:00
dependabot[bot] 2f18853aff chore(deps): Bump csv-parse from 6.2.1 to 7.0.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 6.2.1 to 7.0.0.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@7.0.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 07:56:48 +00:00
CrazyMax 99b992b69c Merge pull request #693 from docker/dependabot/npm_and_yarn/sigstore/verify-3.1.1
chore(deps): Bump @sigstore/verify from 3.1.0 to 3.1.1
2026-07-02 09:55:59 +02:00
CrazyMax f5d3f0bb4f Merge pull request #678 from docker/dependabot/github_actions/crazy-max-dot-github-a6a0ecf511
chore(deps): Bump the crazy-max-dot-github group across 1 directory with 2 updates
2026-07-02 09:43:01 +02:00
CrazyMax ad815f93b1 Merge pull request #684 from docker/dependabot/github_actions/actions/checkout-7.0.0
chore(deps): Bump actions/checkout from 6.0.2 to 7.0.0
2026-07-02 09:42:40 +02:00
CrazyMax e7c990b5e8 Merge pull request #681 from docker/dependabot/github_actions/github/codeql-action-4.36.2
chore(deps): Bump github/codeql-action from 4.36.0 to 4.36.2
2026-07-02 09:42:18 +02:00
CrazyMax 41cf1318aa Merge pull request #679 from docker/dependabot/github_actions/codecov/codecov-action-7.0.0
chore(deps): Bump codecov/codecov-action from 6.0.1 to 7.0.0
2026-07-02 09:41:52 +02:00
dependabot[bot] 4f8aff440c chore(deps): Bump @sigstore/verify from 3.1.0 to 3.1.1
Bumps [@sigstore/verify](https://github.com/sigstore/sigstore-js) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/verify@3.1.1)

---
updated-dependencies:
- dependency-name: "@sigstore/verify"
  dependency-version: 3.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 04:23:50 +00:00
dependabot[bot] 2785aeedfc chore(deps): Bump the crazy-max-dot-github group across 1 directory with 2 updates
Bumps the crazy-max-dot-github group with 2 updates in the / directory: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.8.0 to 1.10.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/9ba6e6f9450baf3b1237f8035c1fdc45932510bd...46267a6e61cd56aac2fc79943df180152f4c89d6)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.8.0 to 1.10.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/9ba6e6f9450baf3b1237f8035c1fdc45932510bd...46267a6e61cd56aac2fc79943df180152f4c89d6)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 19:22:23 +00:00
CrazyMax 860a41aba4 Merge pull request #692 from crazy-max/fix-yarn-preapprove-actions-toolkit
chore: allow actions-toolkit to bypass yarn age gate
2026-07-01 14:00:37 +02:00
CrazyMax 23422a030c Merge pull request #691 from crazy-max/dependabot-skip-update-dist
dependabot: skip for update-dist commits
2026-07-01 14:00:23 +02:00
CrazyMax 2a674ccb52 chore: allow actions-toolkit to bypass yarn age gate
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-01 11:43:32 +02:00
CrazyMax 5185deded3 dependabot: skip for update-dist commits
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-30 11:09:07 +02:00
dependabot[bot] 9f63154d50 chore(deps): Bump vite from 7.3.2 to 7.3.6
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.2 to 7.3.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 14:18:11 +00:00
CrazyMax 45b1914810 Merge pull request #689 from crazy-max/fix-esbuild
preserve names in esbuild bundle
2026-06-29 16:14:58 +02:00
CrazyMax d3cc900f2d preserve names in esbuild bundle
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-29 15:01:08 +02:00
dependabot[bot] d8b45f9c76 chore(deps): Bump actions/checkout from 6.0.2 to 7.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-19 19:22:37 +00:00
temenuzhka-thede 020b7354dd Merge pull request #682 from docker/sec-cli/npm-ci-20260612-184903
fix: replace npm install with npm ci (20260612-184903)
2026-06-12 14:10:33 -05:00
securityeng-bot[bot] 7f842e879c fix: use lockfile-aware install commands 2026-06-12 18:49:05 +00:00
dependabot[bot] 58711ad468 chore(deps): Bump github/codeql-action from 4.36.0 to 4.36.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.36.0 to 4.36.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/7211b7c8077ea37d8641b6271f6a365a22a5fbfa...8aad20d150bbac5944a9f9d289da16a4b0d87c1e)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-08 19:24:29 +00:00
dependabot[bot] 7a9d9fefe1 chore(deps): Bump codecov/codecov-action from 6.0.1 to 7.0.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.1 to 7.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/e79a6962e0d4c0c17b229090214935d2e33f8354...fb8b3582c8e4def4969c97caa2f19720cb33a72f)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-08 19:22:35 +00:00
CrazyMax 3caf19fbe3 Merge pull request #675 from crazy-max/yarn-update
update yarn to 4.15.0
2026-05-28 18:43:59 +02:00
CrazyMax 8016b4facd update yarn to 4.15.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-28 15:13:30 +02:00
CrazyMax 530a407188 Merge pull request #672 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.91.0
chore(deps): Bump @docker/actions-toolkit from 0.90.0 to 0.91.0
2026-05-28 12:59:33 +02:00
github-actions[bot] afa75d4359 chore: update generated content 2026-05-28 10:57:17 +00:00
dependabot[bot] 26a83f6e31 chore(deps): Bump @docker/actions-toolkit from 0.90.0 to 0.91.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.90.0 to 0.91.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.90.0...v0.91.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.91.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 10:56:20 +00:00
CrazyMax 585dfe4a50 Merge pull request #663 from docker/dependabot/npm_and_yarn/actions/core-3.0.1
chore(deps): Bump @actions/core from 3.0.0 to 3.0.1
2026-05-28 12:54:14 +02:00
github-actions[bot] 829c7e6ce9 chore: update generated content 2026-05-28 10:25:16 +00:00
dependabot[bot] 246bbe8935 chore(deps): Bump @actions/core from 3.0.0 to 3.0.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 3.0.0 to 3.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 10:24:18 +00:00
CrazyMax ebb6b285fa Merge pull request #666 from docker/dependabot/npm_and_yarn/actions/github-9.1.1
chore(deps): Bump @actions/github from 9.0.0 to 9.1.1
2026-05-28 12:22:11 +02:00
github-actions[bot] cbc0ced701 chore: update generated content 2026-05-28 10:18:59 +00:00
dependabot[bot] 55d77601d7 chore(deps): Bump @actions/github from 9.0.0 to 9.1.1
Bumps [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) from 9.0.0 to 9.1.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

---
updated-dependencies:
- dependency-name: "@actions/github"
  dependency-version: 9.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 10:17:58 +00:00
CrazyMax f25e8d2521 Merge pull request #665 from docker/dependabot/npm_and_yarn/semver-7.8.0
chore(deps): Bump semver from 7.7.4 to 7.8.1
2026-05-28 11:35:07 +02:00
github-actions[bot] 8707af5b28 chore: update generated content 2026-05-28 08:44:56 +00:00
dependabot[bot] f5b5258ae1 chore(deps): Bump semver from 7.7.4 to 7.8.1
Bumps [semver](https://github.com/npm/node-semver) from 7.7.4 to 7.8.1.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.7.4...v7.8.1)

---
updated-dependencies:
- dependency-name: semver
  dependency-version: 7.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 08:43:59 +00:00
CrazyMax 83fa4edf37 Merge pull request #664 from docker/dependabot/npm_and_yarn/moment-timezone-0.6.2
chore(deps): Bump moment-timezone from 0.6.1 to 0.6.2
2026-05-28 10:41:57 +02:00
github-actions[bot] c57fc5591a chore: update generated content 2026-05-28 08:28:29 +00:00
dependabot[bot] 9c446bddcb chore(deps): Bump moment-timezone from 0.6.1 to 0.6.2
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.6.1 to 0.6.2.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.6.1...0.6.2)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-version: 0.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 08:27:31 +00:00
CrazyMax 9da27ef7f4 Merge pull request #673 from docker/dependabot/npm_and_yarn/tmp-0.2.7
chore(deps): Bump tmp from 0.2.5 to 0.2.7
2026-05-28 10:24:48 +02:00
github-actions[bot] ba2f556688 chore: update generated content 2026-05-28 08:21:40 +00:00
dependabot[bot] 47ed4f4109 chore(deps): Bump tmp from 0.2.5 to 0.2.7
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.5 to 0.2.7.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.7)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 08:20:41 +00:00
CrazyMax e25b2146bd Merge pull request #674 from docker/dependabot/github_actions/crazy-max/ghaction-dump-context-3.1.0
chore(deps): Bump crazy-max/ghaction-dump-context from 3.0.0 to 3.1.0
2026-05-28 09:57:10 +02:00
dependabot[bot] a8639b7509 chore(deps): Bump crazy-max/ghaction-dump-context from 3.0.0 to 3.1.0
Bumps [crazy-max/ghaction-dump-context](https://github.com/crazy-max/ghaction-dump-context) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/crazy-max/ghaction-dump-context/releases)
- [Commits](https://github.com/crazy-max/ghaction-dump-context/compare/5d2753e7076f4568c7729971e25231f32147e2d8...4d9eeaf15dd59aa4346919ea84a84ccf514b4db8)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-dump-context
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 07:55:44 +00:00
CrazyMax 4e03f56500 Merge pull request #671 from docker/sec-cli/ignore-scripts-fix-20260527-193116
ci: add ignore-scripts to Node package manager config (20260527-193116)
2026-05-28 09:53:58 +02:00
securityeng-bot[bot] 620026c7c4 ci: enforce ignore-scripts policy for Node package managers 2026-05-27 20:04:39 +00:00
CrazyMax 17e943b674 Merge pull request #667 from docker/dependabot/github_actions/docker/build-push-action-7.2.0
chore(deps): Bump docker/build-push-action from 7.1.0 to 7.2.0
2026-05-26 17:30:38 +02:00
CrazyMax da0e8cb6fa Merge pull request #669 from docker/dependabot/github_actions/docker/setup-buildx-action-4.1.0
chore(deps): Bump docker/setup-buildx-action from 4.0.0 to 4.1.0
2026-05-26 17:30:36 +02:00
CrazyMax 62878a8cd8 Merge pull request #670 from docker/dependabot/github_actions/github/codeql-action-4.36.0
chore(deps): Bump github/codeql-action from 4.35.5 to 4.36.0
2026-05-26 17:30:33 +02:00
dependabot[bot] 7fff4a866b chore(deps): Bump github/codeql-action from 4.35.5 to 4.36.0
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.5 to 4.36.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/9e0d7b8d25671d64c341c19c0152d693099fb5ba...7211b7c8077ea37d8641b6271f6a365a22a5fbfa)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 15:28:46 +00:00
dependabot[bot] 80c12fa72e chore(deps): Bump docker/build-push-action from 7.1.0 to 7.2.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/bcafcacb16a39f128d818304e6c9c0c18556b85f...f9f3042f7e2789586610d6e8b85c8f03e5195baf)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 15:27:35 +00:00
dependabot[bot] cb88e1e24e chore(deps): Bump docker/setup-buildx-action from 4.0.0 to 4.1.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd...d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 15:27:27 +00:00
CrazyMax 8904ec6ac8 Merge pull request #668 from docker/dependabot/github_actions/docker/bake-action-7.2.0
chore(deps): Bump docker/bake-action from 7.1.0 to 7.2.0
2026-05-26 17:26:12 +02:00
dependabot[bot] 133aa67758 chore(deps): Bump docker/bake-action from 7.1.0 to 7.2.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/a66e1c87e2eca0503c343edf1d208c716d54b8a8...6614cfa25eff9a0b2b2697efb0b6159e7680d584)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 00:56:40 +00:00
CrazyMax 80c7e94dd9 Merge pull request #613 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.80.0
chore(deps): Bump @docker/actions-toolkit from 0.79.0 to 0.90.0
2026-05-22 14:37:45 +02:00
github-actions[bot] 8e0ddab90c chore: update generated content 2026-05-22 12:36:07 +00:00
dependabot[bot] a8db14bd86 chore(deps): Bump @docker/actions-toolkit from 0.79.0 to 0.90.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.79.0 to 0.90.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.79.0...v0.90.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.80.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:35:07 +00:00
CrazyMax 63a7371ee0 Merge pull request #617 from docker/dependabot/npm_and_yarn/csv-parse-6.2.0
chore(deps): Bump csv-parse from 6.1.0 to 6.2.1
2026-05-22 14:32:06 +02:00
github-actions[bot] c6916a6cf8 chore: update generated content 2026-05-22 12:26:28 +00:00
dependabot[bot] aca9205632 chore(deps): Bump csv-parse from 6.1.0 to 6.2.1
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 6.1.0 to 6.2.1.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@6.2.1/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:25:32 +00:00
CrazyMax 9dcfe60f10 Merge pull request #629 from docker/dependabot/npm_and_yarn/handlebars-4.7.9
chore(deps): Bump handlebars from 4.7.8 to 4.7.9
2026-05-22 14:23:33 +02:00
github-actions[bot] 43dea7677c chore: update generated content 2026-05-22 12:20:24 +00:00
dependabot[bot] 7a56f5af0a chore(deps): Bump handlebars from 4.7.8 to 4.7.9
Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.8 to 4.7.9.
- [Release notes](https://github.com/handlebars-lang/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.9/release-notes.md)
- [Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.8...v4.7.9)

---
updated-dependencies:
- dependency-name: handlebars
  dependency-version: 4.7.9
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:19:23 +00:00
CrazyMax e49e0aa5de Merge pull request #658 from docker/dependabot/npm_and_yarn/brace-expansion-5.0.6
chore(deps): Bump brace-expansion from 1.1.14 to 5.0.6
2026-05-22 14:16:38 +02:00
github-actions[bot] 97ffca02cc chore: update generated content 2026-05-22 12:14:39 +00:00
dependabot[bot] 792ab493f0 chore(deps): Bump brace-expansion from 1.1.14 to 5.0.6
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.14 to 5.0.6.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v5.0.6)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:13:43 +00:00
CrazyMax 47a52a8886 Merge pull request #657 from docker/dependabot/npm_and_yarn/tar-7.5.15
chore(deps): Bump tar from 6.2.1 to 7.5.15
2026-05-22 14:11:51 +02:00
CrazyMax 30e3a5c71b Merge pull request #620 from docker/dependabot/npm_and_yarn/fast-xml-parser-5.5.6
chore(deps): Bump fast-xml-parser from 5.4.2 to 5.8.0
2026-05-22 14:10:03 +02:00
github-actions[bot] 5677a062dd chore: update generated content 2026-05-22 12:07:22 +00:00
dependabot[bot] 27ad663c44 chore(deps): Bump fast-xml-parser from 5.4.2 to 5.8.0
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.4.2 to 5.8.0.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.4.2...v5.8.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:06:30 +00:00
CrazyMax b83758ab83 Merge pull request #614 from docker/dependabot/npm_and_yarn/undici-6.24.0
chore(deps): Bump undici from 6.23.0 to 6.25.0
2026-05-22 14:04:30 +02:00
github-actions[bot] b08aa41573 chore: update generated content 2026-05-22 12:01:11 +00:00
dependabot[bot] 1b54296ddb chore(deps): Bump undici from 6.23.0 to 6.25.0
Bumps [undici](https://github.com/nodejs/undici) from 6.23.0 to 6.25.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.23.0...v6.25.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.24.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:00:16 +00:00
CrazyMax 73ea5d3910 Merge pull request #651 from docker/dependabot/github_actions/crazy-max-dot-github-a3893cf95f
chore(deps): Bump the crazy-max-dot-github group across 1 directory with 2 updates
2026-05-22 13:57:53 +02:00
CrazyMax cbf5ecfb6e Merge pull request #652 from docker/dependabot/github_actions/actions/setup-node-6.4.0
chore(deps): Bump actions/setup-node from 6.3.0 to 6.4.0
2026-05-22 13:57:34 +02:00
CrazyMax 7635ada344 Merge pull request #656 from docker/dependabot/github_actions/actions/create-github-app-token-3.2.0
chore(deps): Bump actions/create-github-app-token from 3.1.1 to 3.2.0
2026-05-22 13:57:13 +02:00
CrazyMax b97a91b21a Merge pull request #659 from docker/dependabot/github_actions/github/codeql-action-4.35.5
chore(deps): Bump github/codeql-action from 4.35.2 to 4.35.5
2026-05-22 13:56:50 +02:00
CrazyMax eb7e4a1a09 Merge pull request #660 from docker/dependabot/github_actions/codecov/codecov-action-6.0.1
chore(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1
2026-05-22 13:56:30 +02:00
dependabot[bot] 87b2898f8d chore(deps): Bump the crazy-max-dot-github group across 1 directory with 2 updates
Bumps the crazy-max-dot-github group with 2 updates in the / directory: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.6.0 to 1.8.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.6.0 to 1.8.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-21 19:56:04 +00:00
CrazyMax 1b2e78b2f1 Merge pull request #661 from crazy-max/zizmor-fixes
ci: restrict update-dist GitHub App token scope
2026-05-21 14:57:49 +02:00
CrazyMax 0569d83a01 ci: restrict update-dist GitHub App token scope
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-21 14:26:18 +02:00
dependabot[bot] 2852e5544b chore(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/57e3a136b779b570ffcdbf80b3bdc90e7fab3de2...e79a6962e0d4c0c17b229090214935d2e33f8354)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 02:54:20 +00:00
dependabot[bot] b2d63e72ae chore(deps): Bump github/codeql-action from 4.35.2 to 4.35.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.2 to 4.35.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/95e58e9a2cdfd71adc6e0353d5c52f41a045d225...9e0d7b8d25671d64c341c19c0152d693099fb5ba)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-19 04:34:16 +00:00
dependabot[bot] 15f2e7f938 chore(deps): Bump tar from 6.2.1 to 7.5.15
Bumps [tar](https://github.com/isaacs/node-tar) from 6.2.1 to 7.5.15.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.15)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.15
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 00:40:01 +00:00
dependabot[bot] c53b86815a chore(deps): Bump actions/create-github-app-token from 3.1.1 to 3.2.0
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Changelog](https://github.com/actions/create-github-app-token/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/create-github-app-token/compare/1b10c78c7865c340bc4f6099eb2f838309f1e8c3...bcd2ba49218906704ab6c1aa796996da409d3eb1)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-14 19:23:31 +00:00
dependabot[bot] 25b70a676c chore(deps): Bump actions/setup-node from 6.3.0 to 6.4.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/53b83947a5a98c8d113130e565377fae1a50d02f...48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-27 22:59:59 +00:00
CrazyMax 4f5b523467 Merge pull request #630 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.13
chore(deps): Bump brace-expansion from 1.1.12 to 1.1.14
2026-04-27 14:19:26 +02:00
github-actions[bot] fc08c1af45 chore: update generated content 2026-04-27 12:17:51 +00:00
dependabot[bot] 53adf7e0c2 chore(deps): Bump brace-expansion from 1.1.12 to 1.1.14
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.12 to 1.1.14.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.12...v1.1.14)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.13
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-27 12:16:56 +00:00
Tõnis Tiigi 9725dce4ec Merge pull request #650 from crazy-max/fix-yarnlock
fix malformed yarn.lock
2026-04-27 14:14:02 +02:00
CrazyMax 1ca9d11fdb fix malformed yarn.lock
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-27 09:55:53 +02:00
CrazyMax aa5e42bc43 Merge pull request #621 from docker/dependabot/npm_and_yarn/glob-10.5.0
chore(deps): Bump glob from 10.3.15 to 10.5.0
2026-04-27 09:42:19 +02:00
CrazyMax 09c39d7e3d Merge pull request #623 from docker/dependabot/npm_and_yarn/flatted-3.4.2
chore(deps): Bump flatted from 3.3.3 to 3.4.2
2026-04-27 09:41:59 +02:00
CrazyMax b0d9a8511d Merge pull request #626 from docker/dependabot/npm_and_yarn/picomatch-4.0.4
chore(deps): Bump picomatch from 4.0.3 to 4.0.4
2026-04-27 09:41:41 +02:00
CrazyMax 0b0cf52037 Merge pull request #637 from docker/dependabot/npm_and_yarn/vite-7.3.2
chore(deps): Bump vite from 7.3.1 to 7.3.2
2026-04-27 09:41:04 +02:00
CrazyMax 84dc0051ed Merge pull request #639 from docker/dependabot/npm_and_yarn/lodash-4.18.1
chore(deps): Bump lodash from 4.17.23 to 4.18.1
2026-04-27 09:40:45 +02:00
CrazyMax 6e706bd386 Merge pull request #649 from docker/dependabot/npm_and_yarn/postcss-8.5.10
chore(deps): Bump postcss from 8.5.6 to 8.5.10
2026-04-27 09:40:26 +02:00
CrazyMax b110e1928a Merge pull request #641 from docker/dependabot/github_actions/actions/github-script-9.0.0
chore(deps): Bump actions/github-script from 8.0.0 to 9.0.0
2026-04-27 09:38:25 +02:00
CrazyMax db51f20eda Merge pull request #642 from docker/dependabot/github_actions/docker/bake-action-7.1.0
chore(deps): Bump docker/bake-action from 7.0.0 to 7.1.0
2026-04-27 09:38:08 +02:00
CrazyMax 6600503189 Merge pull request #643 from docker/dependabot/github_actions/docker/build-push-action-7.1.0
chore(deps): Bump docker/build-push-action from 7.0.0 to 7.1.0
2026-04-27 09:37:51 +02:00
CrazyMax 03027a6dec Merge pull request #645 from docker/dependabot/github_actions/github/codeql-action-4.35.2
chore(deps): Bump github/codeql-action from 4.35.1 to 4.35.2
2026-04-27 09:37:35 +02:00
CrazyMax 56e4e9c0bb Merge pull request #640 from docker/dependabot/github_actions/actions/create-github-app-token-3.1.1
chore(deps): Bump actions/create-github-app-token from 3.0.0 to 3.1.1
2026-04-27 09:37:13 +02:00
dependabot[bot] 56dca0c993 chore(deps): Bump vite from 7.3.1 to 7.3.2
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 17:41:43 +00:00
dependabot[bot] 194d9dfbc5 chore(deps): Bump picomatch from 4.0.3 to 4.0.4
Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 17:41:30 +00:00
dependabot[bot] a39c67c6e6 chore(deps): Bump postcss from 8.5.6 to 8.5.10
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.6 to 8.5.10.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.6...8.5.10)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.10
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 17:41:15 +00:00
Tõnis Tiigi 59ccfb174a Merge pull request #648 from crazy-max/esbuild
replace ncc with esbuild for action bundling
2026-04-24 10:39:23 -07:00
CrazyMax 710075a097 replace ncc with esbuild for action bundling
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-24 11:12:40 +02:00
dependabot[bot] da96386992 chore(deps): Bump github/codeql-action from 4.35.1 to 4.35.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.1 to 4.35.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/c10b8064de6f491fea524254123dbe5e09572f13...95e58e9a2cdfd71adc6e0353d5c52f41a045d225)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-17 19:23:46 +00:00
Tõnis Tiigi deaa0dee56 Merge pull request #644 from crazy-max/fix-zizmor
ci(zizmor): update rules
2026-04-15 14:25:48 -07:00
CrazyMax 0865878ea7 ci(zizmor): update rules
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-15 16:01:58 +02:00
dependabot[bot] 264f94771d chore(deps): Bump docker/build-push-action from 7.0.0 to 7.1.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/d08e5c354a6adb9ed34480a06d141179aa583294...bcafcacb16a39f128d818304e6c9c0c18556b85f)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 20:25:05 +00:00
dependabot[bot] a78c5dda00 chore(deps): Bump docker/bake-action from 7.0.0 to 7.1.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/82490499d2e5613fcead7e128237ef0b0ea210f7...a66e1c87e2eca0503c343edf1d208c716d54b8a8)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 20:24:53 +00:00
dependabot[bot] c3bf319c22 chore(deps): Bump actions/github-script from 8.0.0 to 9.0.0
Bumps [actions/github-script](https://github.com/actions/github-script) from 8.0.0 to 9.0.0.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 20:23:26 +00:00
dependabot[bot] dd1f6cb7c8 chore(deps): Bump actions/create-github-app-token from 3.0.0 to 3.1.1
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.0.0 to 3.1.1.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/f8d387b68d61c58ab83c6c016672934102569859...1b10c78c7865c340bc4f6099eb2f838309f1e8c3)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 20:23:20 +00:00
dependabot[bot] 42970c56ae chore(deps): Bump lodash from 4.17.23 to 4.18.1
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-09 08:53:54 +00:00
CrazyMax a7807070e6 Merge pull request #638 from docker/dependabot/github_actions/crazy-max-dot-github-f0991e81fd
chore(deps): Bump the crazy-max-dot-github group with 2 updates
2026-04-09 10:22:09 +02:00
dependabot[bot] 445fddb648 chore(deps): Bump the crazy-max-dot-github group with 2 updates
Bumps the crazy-max-dot-github group with 2 updates: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.3.0 to 1.6.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.3.0 to 1.6.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-08 19:22:42 +00:00
CrazyMax c3b064c6d7 Merge pull request #636 from crazy-max/fix-update-dist
ci: stop update-dist reruns after generated dist pushes
2026-04-01 15:08:09 +02:00
CrazyMax 4254c7f183 ci: stop update-dist reruns after generated dist pushes
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-01 13:11:03 +02:00
CrazyMax 54262e8fce Merge pull request #634 from docker/dependabot/github_actions/codecov/codecov-action-6.0.0
chore(deps): Bump codecov/codecov-action from 5.5.4 to 6.0.0
2026-03-31 09:30:49 +02:00
CrazyMax 65e2f1ec2d Merge pull request #635 from docker/dependabot/github_actions/crazy-max/ghaction-dump-context-3.0.0
chore(deps): Bump crazy-max/ghaction-dump-context from 2.3.0 to 3.0.0
2026-03-31 09:30:33 +02:00
dependabot[bot] f612a659e4 chore(deps): Bump crazy-max/ghaction-dump-context from 2.3.0 to 3.0.0
Bumps [crazy-max/ghaction-dump-context](https://github.com/crazy-max/ghaction-dump-context) from 2.3.0 to 3.0.0.
- [Release notes](https://github.com/crazy-max/ghaction-dump-context/releases)
- [Commits](https://github.com/crazy-max/ghaction-dump-context/compare/5355a8e5e6ac5a302e746a1c4b7747a0393863c8...5d2753e7076f4568c7729971e25231f32147e2d8)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-dump-context
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 01:52:31 +00:00
dependabot[bot] 1077d4b182 chore(deps): Bump codecov/codecov-action from 5.5.4 to 6.0.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.4 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/75cd11691c0faa626561e295848008c8a7dddffe...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 01:52:14 +00:00
Tõnis Tiigi 12e32e61d3 Merge pull request #632 from crazy-max/zizmor
ci: zizmor workflow
2026-03-30 18:49:57 -07:00
CrazyMax 389e17934e fix zizmor findings
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 13:50:52 +02:00
CrazyMax 23d4d7612d ci: zizmor workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 13:49:18 +02:00
Tõnis Tiigi 4378dc6be7 Merge pull request #625 from crazy-max/update-crazy-max-actions
ci: bump crazy-max/.github to 1.1.0
2026-03-25 10:43:37 -07:00
CrazyMax 6884e07af7 ci: bump crazy-max/.github to 1.1.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-25 12:37:50 +01:00
dependabot[bot] c8a967b196 chore(deps): Bump flatted from 3.3.3 to 3.4.2
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 15:59:28 +00:00
CrazyMax 1107934206 Merge pull request #622 from crazy-max/codeql
ci: enable SAST scanning with CodeQL
2026-03-20 16:57:23 +01:00
CrazyMax 50e32640d5 ci: enable SAST scanning with CodeQL
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-20 11:51:51 +01:00
dependabot[bot] f5764bfd66 chore(deps): Bump glob from 10.3.15 to 10.5.0
Bumps [glob](https://github.com/isaacs/node-glob) from 10.3.15 to 10.5.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v10.3.15...v10.5.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 10.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 01:28:27 +00:00
CrazyMax d24d429af2 Merge pull request #619 from docker/dependabot/npm_and_yarn/moment-timezone-0.6.1
chore(deps): Bump moment-timezone from 0.6.0 to 0.6.1
2026-03-18 23:06:56 +01:00
github-actions[bot] d3cc762016 chore: update generated content 2026-03-18 19:24:41 +00:00
dependabot[bot] e724a31677 chore(deps): Bump moment-timezone from 0.6.0 to 0.6.1
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.6.0...0.6.1)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-version: 0.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-18 19:23:34 +00:00
Tõnis Tiigi dde548f160 Merge pull request #608 from crazy-max/update-readme
readme: update to v6
2026-03-16 17:57:09 -07:00
Tõnis Tiigi b13d25e5fc Merge pull request #609 from docker/dependabot/github_actions/docker/bake-action-7
chore(deps): Bump docker/bake-action from 6 to 7
2026-03-09 12:35:19 -07:00
CrazyMax f58488e265 Merge pull request #612 from docker/dependabot/github_actions/docker/build-push-action-7
chore(deps): Bump docker/build-push-action from 6 to 7
2026-03-09 16:25:29 +01:00
CrazyMax 414af88e96 ci: switch to matrix subaction
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-09 16:22:40 +01:00
dependabot[bot] 2c2d4fb584 chore(deps): Bump docker/build-push-action from 6 to 7
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 19:22:22 +00:00
CrazyMax 85e876bd3a Merge pull request #610 from docker/dependabot/github_actions/docker/setup-buildx-action-4
chore(deps): Bump docker/setup-buildx-action from 3 to 4
2026-03-06 09:54:50 +01:00
CrazyMax 0b0903be56 readme: update to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 22:25:27 +01:00
dependabot[bot] e2d26b25bd chore(deps): Bump docker/setup-buildx-action from 3 to 4
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 19:22:33 +00:00
dependabot[bot] a26abf68b2 chore(deps): Bump docker/bake-action from 6 to 7
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 6 to 7.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 19:22:30 +00:00
Tõnis Tiigi 030e881283 Merge pull request #607 from crazy-max/allow-comments
preserve comments in list input values with commentNoInfix
2026-03-05 08:21:07 -08:00
CrazyMax 4b529ac4e5 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 17:02:53 +01:00
CrazyMax b0082b33bc preserve comments in list input values with commentNoInfix
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 17:02:53 +01:00
CrazyMax 7b19fec715 Merge pull request #604 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.77.0
chore(deps): Bump @docker/actions-toolkit from 0.68.0 to 0.79.0
2026-03-05 17:00:40 +01:00
CrazyMax 281c9b0599 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 09:24:56 +01:00
CrazyMax 5f43b3b4f4 test: stabilize github mock setup since ESM
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 09:23:56 +01:00
CrazyMax 9d53276575 github class moved since actions-toolkit v0.77.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 09:23:56 +01:00
dependabot[bot] eaa3d3973e chore(deps): Bump @docker/actions-toolkit from 0.68.0 to 0.77.0
Dependabot couldn't find the original pull request head commit, cdad825a9dc17122e84ab473271a55d7b8b3da06.
2026-03-05 08:21:31 +00:00
Tõnis Tiigi 6b695f7a8a Merge pull request #605 from crazy-max/node24
node 24 as default runtime
2026-03-04 17:36:23 -08:00
CrazyMax a1afadcb28 node 24 as default runtime
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-04 12:40:47 +01:00
CrazyMax c769610e5c Merge pull request #603 from docker/dependabot/npm_and_yarn/semver-7.7.4
chore(deps): Bump semver from 7.7.3 to 7.7.4
2026-03-04 10:52:19 +01:00
github-actions[bot] f0f930b111 chore: update generated content 2026-03-04 09:19:30 +00:00
dependabot[bot] f4771c2b1f chore(deps): Bump semver from 7.7.3 to 7.7.4
Bumps [semver](https://github.com/npm/node-semver) from 7.7.3 to 7.7.4.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.7.3...v7.7.4)

---
updated-dependencies:
- dependency-name: semver
  dependency-version: 7.7.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-04 09:18:03 +00:00
CrazyMax 538feedf47 Merge pull request #597 from docker/dependabot/npm_and_yarn/actions/github-9.0.0
chore(deps): Bump @actions/github from 6.0.1 to 9.0.0
2026-03-04 10:07:45 +01:00
CrazyMax 2c6e6d9d3b chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 16:00:55 +01:00
CrazyMax 8fd476a5a7 replace actions/github/lib/context deep imports with public typing
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 15:59:05 +01:00
dependabot[bot] a33d385eb1 chore(deps): Bump @actions/github from 6.0.1 to 9.0.0
Bumps [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) from 6.0.1 to 9.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

---
updated-dependencies:
- dependency-name: "@actions/github"
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 13:57:21 +00:00
CrazyMax cb50be4508 Merge pull request #599 from docker/dependabot/npm_and_yarn/actions/core-3.0.0
chore(deps): Bump @actions/core from 1.11.1 to 3.0.0
2026-03-03 14:55:29 +01:00
github-actions[bot] 8fd95d6f08 chore: update generated content 2026-03-03 13:47:05 +00:00
dependabot[bot] a4e219a90d chore(deps): Bump @actions/core from 1.11.1 to 3.0.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.11.1 to 3.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 13:45:52 +00:00
CrazyMax 76c27c49eb Merge pull request #600 from docker/dependabot/npm_and_yarn/isaacs/brace-expansion-5.0.1
chore(deps): Bump @isaacs/brace-expansion from 5.0.0 to 5.0.1
2026-03-03 14:43:55 +01:00
github-actions[bot] 1ea5d4f1b0 chore: update generated content 2026-03-03 13:42:24 +00:00
dependabot[bot] 91c3fe061e chore(deps): Bump @isaacs/brace-expansion from 5.0.0 to 5.0.1
Bumps @isaacs/brace-expansion from 5.0.0 to 5.0.1.

---
updated-dependencies:
- dependency-name: "@isaacs/brace-expansion"
  dependency-version: 5.0.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 13:41:02 +00:00
CrazyMax f332e46fa5 Merge pull request #588 from docker/dependabot/npm_and_yarn/lodash-4.17.23
chore(deps): Bump lodash from 4.17.21 to 4.17.23
2026-03-03 14:38:56 +01:00
CrazyMax 51b601f22d Merge pull request #602 from crazy-max/esm
switch to ESM and update config/test wiring
2026-03-03 14:38:00 +01:00
CrazyMax 8480620af8 test: use github mock instead of fixture for context
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:44:39 +01:00
CrazyMax 8e71445576 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:44:39 +01:00
CrazyMax f57c915b64 dockerfile: fix vendoring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:44:38 +01:00
CrazyMax d92a8d0b86 update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 15:58:17 +01:00
CrazyMax cf6a6ce0f7 switch to ESM and update config/test wiring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 15:57:06 +01:00
CrazyMax d5be006250 switch from jest to vitest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 15:48:21 +01:00
CrazyMax a60f0f62b5 Merge pull request #598 from crazy-max/update-dist-workflow
ci: update-dist workflow
2026-01-29 21:27:37 +01:00
CrazyMax 10f4f1aaa5 ci: update-dist workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-29 16:25:39 +01:00
dependabot[bot] 70c914a6f8 chore(deps): Bump lodash from 4.17.21 to 4.17.23
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 00:40:49 +00:00
Tõnis Tiigi ed95091677 Merge pull request #579 from crazy-max/update-dev-deps
update dev dependencies
2026-01-07 16:39:57 -08:00
CrazyMax 57670b6268 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:09:10 +01:00
CrazyMax d636a41a2f update jest config since 30.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:07:43 +01:00
CrazyMax 9c747a7ed1 fix lint issues
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:07:42 +01:00
CrazyMax c98baa7757 migrate eslint config to new format required since 9.0.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:07:36 +01:00
CrazyMax ad1f8b1f99 update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 16:55:49 +01:00
CrazyMax f0a4bc3c2d Merge pull request #574 from osman-butt/update-checkout-v6
docs: update checkout action to v6 in README
2026-01-05 16:45:15 +01:00
osman-butt 9b6cf6ec37 docs: update checkout action to v6 in README
Signed-off-by: osman-butt <butt.osman@gmail.com>
2025-12-10 01:50:17 +01:00
CrazyMax c299e40c65 Merge pull request #569 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.68.0
chore(deps): Bump @docker/actions-toolkit from 0.67.0 to 0.68.0
2025-11-27 13:36:24 +01:00
CrazyMax f015d7914a chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-27 12:42:57 +01:00
dependabot[bot] 121bcc2ca8 chore(deps): Bump @docker/actions-toolkit from 0.67.0 to 0.68.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.67.0 to 0.68.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.67.0...v0.68.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.68.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-27 11:37:44 +00:00
CrazyMax f7b6bf41b9 Merge pull request #564 from docker/dependabot/npm_and_yarn/js-yaml-3.14.2
chore(deps): Bump js-yaml from 3.14.1 to 3.14.2
2025-11-27 12:35:12 +01:00
CrazyMax 0b95c6b860 Merge pull request #565 from docker/dependabot/github_actions/actions/checkout-6
chore(deps): Bump actions/checkout from 5 to 6
2025-11-27 12:34:57 +01:00
CrazyMax 17f70d7525 Merge pull request #568 from motoki317/docs/fix-to-24h-schedule-pattern
docs(README): Fix date format from 12h to 24h in schedule pattern
2025-11-27 12:34:33 +01:00
motoki317 afd7e6d7bb docs(README): Fix date format from 12h to 24h in schedule pattern
hh represents 12h format from 01 to 12 which is probably not suitable
for date tags.
The pattern example in the table below uses the 24h format HH, so this
makes the document consistent.

Signed-off-by: motoki317 <motoki317@gmail.com>
2025-11-27 12:57:49 +09:00
dependabot[bot] 602aff8e11 chore(deps): Bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-20 19:01:45 +00:00
dependabot[bot] aecb1a49a5 chore(deps): Bump js-yaml from 3.14.1 to 3.14.2
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-19 05:05:12 +00:00
CrazyMax 8d8c7c12f7 Merge pull request #559 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.67.0
chore(deps): Bump @docker/actions-toolkit from 0.66.0 to 0.67.0
2025-11-05 16:15:03 +01:00
CrazyMax 15bd03a177 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 15:55:58 +01:00
dependabot[bot] fdba5868fb chore(deps): Bump @docker/actions-toolkit from 0.66.0 to 0.67.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.66.0 to 0.67.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.66.0...v0.67.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.67.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 13:53:44 +00:00
CrazyMax 318604b99e Merge pull request #539 from docker/dependabot/npm_and_yarn/babel/runtime-corejs3-7.28.2
chore(deps): Bump @babel/runtime-corejs3 from 7.14.7 to 7.28.2
2025-11-04 16:31:36 +01:00
CrazyMax 49c0a55d55 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 16:28:52 +01:00
CrazyMax 486229e3f4 Merge pull request #558 from crazy-max/fix-dist
chore: fix dist
2025-11-04 16:25:53 +01:00
CrazyMax f02aeab1ee chore: fix dist
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 16:22:29 +01:00
dependabot[bot] beafb97305 chore(deps): Bump @babel/runtime-corejs3 from 7.14.7 to 7.28.2
Bumps [@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3) from 7.14.7 to 7.28.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.28.2/packages/babel-runtime-corejs3)

---
updated-dependencies:
- dependency-name: "@babel/runtime-corejs3"
  dependency-version: 7.28.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 15:16:45 +00:00
CrazyMax 3ff819c6c5 Merge pull request #557 from crazy-max/yarn-4.9.2
update yarn to 4.9.2
2025-11-04 16:14:33 +01:00
CrazyMax 05838e9769 update yarn to 4.9.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 16:05:10 +01:00
CrazyMax 43fa4ac0d3 Merge pull request #556 from crazy-max/dev-deps
update dev dependencies
2025-11-04 15:27:11 +01:00
CrazyMax b3120f2f18 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 15:22:53 +01:00
CrazyMax 1f469d21ee update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 15:21:47 +01:00
CrazyMax b0a2bcfe7b Merge pull request #555 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.66.0
chore(deps): Bump @docker/actions-toolkit from 0.62.1 to 0.66.0
2025-11-04 15:17:27 +01:00
CrazyMax 14973dfd4b chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 15:15:22 +01:00
dependabot[bot] dae123c2bf chore(deps): Bump @docker/actions-toolkit from 0.62.1 to 0.66.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.62.1 to 0.66.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.62.1...v0.66.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.66.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 14:10:29 +00:00
CrazyMax fdb90a51ae Merge pull request #554 from docker/dependabot/npm_and_yarn/multi-c9330d5d78
chore(deps): Bump semver and @types/semver
2025-11-04 15:08:10 +01:00
CrazyMax e5afe339d8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 15:05:58 +01:00
dependabot[bot] 17e37c2a42 chore(deps): Bump semver and @types/semver
Bumps [semver](https://github.com/npm/node-semver) and [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver). These dependencies needed to be updated together.

Updates `semver` from 7.7.2 to 7.7.3
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.7.2...v7.7.3)

Updates `@types/semver` from 7.7.0 to 7.7.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

---
updated-dependencies:
- dependency-name: semver
  dependency-version: 7.7.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: "@types/semver"
  dependency-version: 7.7.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 14:04:06 +00:00
CrazyMax aa0be5b84c Merge pull request #532 from docker/dependabot/npm_and_yarn/csv-parse-6.1.0
chore(deps): Bump csv-parse from 5.6.0 to 6.1.0
2025-11-04 15:01:36 +01:00
CrazyMax 136a4a23fe chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:58:59 +01:00
CrazyMax 5f9eb12581 tag: fix value type
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:58:00 +01:00
CrazyMax be25a4ce07 @types/csv-parse not needed anymore
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:57:39 +01:00
dependabot[bot] eced061233 chore(deps): Bump csv-parse from 5.6.0 to 6.1.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.6.0 to 6.1.0.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@6.1.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 13:53:34 +00:00
CrazyMax e7f20f98b1 Merge pull request #541 from docker/dependabot/npm_and_yarn/tmp-0.2.4
chore(deps): Bump tmp from 0.2.3 to 0.2.5
2025-11-04 14:51:27 +01:00
CrazyMax 95bdd37b1f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:49:05 +01:00
dependabot[bot] 3fb4efdf45 chore(deps): Bump tmp from 0.2.3 to 0.2.4
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.3 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.3...v0.2.4)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 13:47:59 +00:00
CrazyMax f31cd74edd Merge pull request #540 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.12
chore(deps): Bump brace-expansion from 1.1.11 to 1.1.12
2025-11-04 14:45:31 +01:00
CrazyMax 840a42f4cf chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:41:33 +01:00
dependabot[bot] ada8aa8ca0 chore(deps): Bump brace-expansion from 1.1.11 to 1.1.12
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 13:40:16 +00:00
CrazyMax 3fa6bb33cb Merge pull request #550 from osman-butt/docs/update-checkout-v5
docs: update checkout action to v5 in README examples
2025-11-04 14:33:31 +01:00
osman-butt 8aa9733355 docs: update checkout action to v5 in README
Signed-off-by: osman-butt <butt.osman@gmail.com>
2025-11-04 14:25:27 +01:00
CrazyMax d87caff40c Merge pull request #549 from docker/dependabot/github_actions/actions/github-script-8
chore(deps): Bump actions/github-script from 7 to 8
2025-11-04 14:23:12 +01:00
CrazyMax 83e4951424 Merge pull request #553 from crazy-max/tag-names
tag-names output to return tag names without image base name
2025-11-04 14:22:33 +01:00
CrazyMax 9efc8723fe chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:14:12 +01:00
CrazyMax ec2c9a30cf tag-names output to return tag names without image base name
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:14:11 +01:00
dependabot[bot] e427fa1e40 chore(deps): Bump actions/github-script from 7 to 8
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 19:01:57 +00:00
CrazyMax 032a4b3bda Merge pull request #544 from docker/dependabot/github_actions/actions/checkout-5
chore(deps): Bump actions/checkout from 4 to 5
2025-08-20 14:27:56 +02:00
dependabot[bot] 06e11bf926 chore(deps): Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 02:15:24 +00:00
CrazyMax c1e51972af Merge pull request #537 from crazy-max/pep440-match
allow to match part of the git tag or value for pep440 type
2025-08-01 10:56:28 +02:00
CrazyMax 89dd65a569 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-01 10:53:35 +02:00
CrazyMax 699ee45cf1 allow to match part of the git tag or value for pep440 type
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-01 10:52:31 +02:00
CrazyMax e0542a6360 Merge pull request #536 from crazy-max/semver-match
allow to match part of the git tag or value for semver type
2025-08-01 10:41:39 +02:00
CrazyMax b7facdfcef chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-31 18:15:00 +02:00
CrazyMax 81c60dfb8b allow to match part of the git tag or value for semver type
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-31 18:13:25 +02:00
CrazyMax de1119515d Merge pull request #535 from crazy-max/not_def_branch
is_not_default_branch global expression
2025-07-31 15:22:34 +02:00
CrazyMax 2f9c64b1b1 Merge pull request #533 from docker/dependabot/npm_and_yarn/form-data-2.5.5
chore(deps): Bump form-data from 2.5.1 to 2.5.5
2025-07-31 15:21:20 +02:00
CrazyMax 510f746975 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-31 15:19:52 +02:00
CrazyMax 2bc3f4e0f1 is_not_default_branch global expression
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-31 15:18:21 +02:00
dependabot[bot] f0cfcb57f6 chore(deps): Bump form-data from 2.5.1 to 2.5.5
Bumps [form-data](https://github.com/form-data/form-data) from 2.5.1 to 2.5.5.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/v2.5.5/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v2.5.1...v2.5.5)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 2.5.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 23:17:35 +00:00
CrazyMax be19121bfd Merge pull request #528 from crazy-max/update-readme
readme: show additional case for semver
2025-06-25 17:03:18 +02:00
CrazyMax c1eb0314a3 readme: show additional case for semver
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-25 16:56:20 +02:00
CrazyMax b798ed8388 Merge pull request #526 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.62.1
chore(deps): Bump @docker/actions-toolkit from 0.56.0 to 0.62.1
2025-06-13 16:17:57 +02:00
CrazyMax 07d42e0b4f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 16:11:25 +02:00
dependabot[bot] 495d5ce528 chore(deps): Bump @docker/actions-toolkit from 0.56.0 to 0.62.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.56.0 to 0.62.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.56.0...v0.62.1)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.62.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 14:09:35 +00:00
CrazyMax 54b10fa1b6 Merge pull request #525 from docker/dependabot/npm_and_yarn/moment-timezone-0.6.0
chore(deps): Bump moment-timezone from 0.5.47 to 0.6.0
2025-06-13 16:07:29 +02:00
CrazyMax c49a1eee09 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 16:01:14 +02:00
dependabot[bot] f37a3b6e88 chore(deps): Bump moment-timezone from 0.5.47 to 0.6.0
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.47 to 0.6.0.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.47...0.6.0)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 13:40:20 +00:00
CrazyMax 85eb7c9324 Merge pull request #524 from docker/dependabot/npm_and_yarn/multi-1172310dfd
chore(deps): Bump semver and @types/semver
2025-06-13 15:38:19 +02:00
CrazyMax a1c21022b0 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 15:32:30 +02:00
dependabot[bot] 6547919405 chore(deps): Bump semver and @types/semver
Bumps [semver](https://github.com/npm/node-semver) and [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver). These dependencies needed to be updated together.

Updates `semver` from 7.7.1 to 7.7.2
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.7.1...v7.7.2)

Updates `@types/semver` from 7.5.8 to 7.7.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

---
updated-dependencies:
- dependency-name: semver
  dependency-version: 7.7.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: "@types/semver"
  dependency-version: 7.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 13:20:36 +00:00
CrazyMax 2e80e58e70 Merge pull request #523 from docker/dependabot/npm_and_yarn/actions/github-6.0.1
chore(deps): Bump @actions/github from 6.0.0 to 6.0.1
2025-06-13 15:18:33 +02:00
CrazyMax a51254e5fa chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 15:16:17 +02:00
dependabot[bot] dee3324b00 chore(deps): Bump @actions/github from 6.0.0 to 6.0.1
Bumps [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) from 6.0.0 to 6.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

---
updated-dependencies:
- dependency-name: "@actions/github"
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 19:45:38 +00:00
CrazyMax 418e4b98bf Merge pull request #520 from crazy-max/pr-assign-author
pr-assign-author workflow
2025-04-23 16:10:09 +02:00
CrazyMax e8ece87dc8 pr-assign-author workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-23 14:17:36 +02:00
CrazyMax 12d9b9a905 Merge pull request #519 from crazy-max/fix-codecov
ci: fix missing source for codecov
2025-04-22 14:37:08 +02:00
CrazyMax c88acc31ec ci: fix missing source for codecov
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-22 14:29:47 +02:00
CrazyMax 902fa8ec7d Merge pull request #504 from docker/dependabot/npm_and_yarn/semver-7.7.1
chore(deps): Bump semver from 7.6.3 to 7.7.1
2025-02-26 16:12:33 +01:00
CrazyMax c30b9c27e6 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 16:08:18 +01:00
dependabot[bot] 0698804aab chore(deps): Bump semver from 7.6.3 to 7.7.1
Bumps [semver](https://github.com/npm/node-semver) from 7.6.3 to 7.7.1.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.6.3...v7.7.1)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 14:56:20 +00:00
CrazyMax bb3eecaaf8 Merge pull request #501 from docker/dependabot/npm_and_yarn/moment-timezone-0.5.47
chore(deps): Bump moment-timezone from 0.5.46 to 0.5.47
2025-02-26 15:53:52 +01:00
CrazyMax 94a839cf6a chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 15:34:33 +01:00
CrazyMax ecd51a0f6a Merge pull request #509 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.56.0
chore(deps): Bump @docker/actions-toolkit from 0.55.0 to 0.56.0
2025-02-26 15:29:14 +01:00
dependabot[bot] a85b1dbfe6 chore(deps): Bump @docker/actions-toolkit from 0.55.0 to 0.56.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.55.0 to 0.56.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.55.0...v0.56.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 14:25:36 +00:00
dependabot[bot] 5a76a0efcf chore(deps): Bump moment-timezone from 0.5.46 to 0.5.47
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.46 to 0.5.47.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.46...0.5.47)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 14:25:02 +00:00
CrazyMax 1cc4a9856a Merge pull request #482 from docker/dependabot/npm_and_yarn/csv-parse-5.6.0
chore(deps): Bump csv-parse from 5.5.6 to 5.6.0
2025-02-26 15:22:56 +01:00
CrazyMax d84de1e022 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 15:14:04 +01:00
dependabot[bot] 092f0474e9 chore(deps): Bump csv-parse from 5.5.6 to 5.6.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.5.6 to 5.6.0.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.6.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 14:12:00 +00:00
CrazyMax 8b68062745 Merge pull request #507 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.55.0
chore(deps): Bump @docker/actions-toolkit from 0.44.0 to 0.55.0
2025-02-26 15:09:39 +01:00
CrazyMax 0eaca2ee4e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 15:06:28 +01:00
CrazyMax db44dfae7a Merge pull request #508 from crazy-max/typos
Fix typos
2025-02-26 15:01:46 +01:00
Igor Zubkov 2bd8a81e96 Fix typos
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 14:46:39 +01:00
dependabot[bot] 10ff2155d8 chore(deps): Bump @docker/actions-toolkit from 0.44.0 to 0.55.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.44.0 to 0.55.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.44.0...v0.55.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 13:46:33 +00:00
CrazyMax a1a78f1e24 Merge pull request #506 from Yikun/patch-1
Add pep440 to Latest tag list
2025-02-26 14:43:18 +01:00
CrazyMax 95438bc6e5 Merge pull request #497 from omus/cv/output-env
Support disabling `DOCKER_METADATA_OUTPUT_*` environment variables
2025-02-26 14:37:22 +01:00
CrazyMax 0e4a06e6a2 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 14:33:12 +01:00
CrazyMax a550435c60 use Util.parseBool to parse env
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 14:33:11 +01:00
Curtis Vogt b539e14bf6 Add DOCKER_METADATA_SET_OUTPUT_ENV
Signed-off-by: Curtis Vogt <curtis.vogt@gmail.com>
2025-02-26 14:21:45 +01:00
Yikun Jiang d931b83008 Update README.md
Signed-off-by: Yikun Jiang <yikunkero@gmail.com>
2025-02-16 02:23:35 +08:00
CrazyMax 8e1d5461f0 Merge pull request #494 from crazy-max/bake-v6
update bake-action to v6
2025-01-08 18:54:58 +01:00
CrazyMax 2af3007824 update build-push-action to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 12:48:06 +01:00
CrazyMax 0d820067b8 update bake-action to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 12:48:06 +01:00
Tõnis Tiigi 906ecf0fc0 Merge pull request #489 from crazy-max/labels-template
global expressions support for labels and annotations
2024-12-12 10:28:33 -08:00
CrazyMax f78c299c14 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-09 12:32:17 +01:00
CrazyMax 87ff116aea global expressions support for labels and annotations
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-09 12:29:03 +01:00
CrazyMax b53be03109 Merge pull request #483 from crazy-max/update-readme
readme: update bake-action
2024-11-25 16:53:23 +01:00
CrazyMax 3da9c47fb9 remove UPGRADE.md
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-22 17:00:49 +01:00
CrazyMax f5d655ce8b readme: update bake-action
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-22 17:00:28 +01:00
CrazyMax 369eb591f4 Merge pull request #480 from crazy-max/back-to-sha-7
back to commit sha length of 7
2024-11-19 18:26:39 +01:00
CrazyMax 7d870ce854 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-19 18:24:29 +01:00
CrazyMax e44a9cd788 back to commit sha length of 7
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-19 18:24:29 +01:00
CrazyMax 8cb0002d6a Merge pull request #478 from crazy-max/commit-date-request
commiter_date: fix github api request fallback
2024-11-19 17:54:49 +01:00
CrazyMax e01ddd3e3c chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-19 17:22:11 +01:00
CrazyMax 861d98a3bd commiter_date: fix github api request fallback
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-19 17:22:11 +01:00
CrazyMax 359e915ab3 Merge pull request #475 from crazy-max/commit-date-changes
commit_date: code cleanup and readme updates
2024-11-19 15:51:51 +01:00
CrazyMax 0c395ebe62 commit_date: code cleanup and readme updates
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-19 15:48:18 +01:00
CrazyMax 115662203e Merge pull request #474 from docker/dependabot/npm_and_yarn/cross-spawn-7.0.5
chore(deps): Bump cross-spawn from 7.0.3 to 7.0.5
2024-11-18 15:13:28 +01:00
dependabot[bot] 95ea8d0c40 chore(deps): Bump cross-spawn from 7.0.3 to 7.0.5
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.5.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.5)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 13:45:03 +00:00
CrazyMax a4c10ad2ed Merge pull request #473 from docker/dependabot/github_actions/codecov/codecov-action-5
chore(deps): Bump codecov/codecov-action from 4 to 5
2024-11-18 14:43:11 +01:00
CrazyMax c85c22ab59 Merge pull request #471 from trim21/commit-date
feat: add variable `commit_date`
2024-11-18 14:41:10 +01:00
Trim21 526d40319b feat: add variable commit_date
Signed-off-by: Trim21 <trim21.me@gmail.com>
2024-11-17 01:04:19 +08:00
dependabot[bot] 86622a92ee chore(deps): Bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-14 19:06:18 +00:00
CrazyMax 44d81d6d2a Merge pull request #472 from crazy-max/ci-context
ci: context job
2024-11-14 08:43:40 +01:00
CrazyMax 9aaeb628e0 ci: context job
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-14 08:36:54 +01:00
CrazyMax 32323e53fe Merge pull request #470 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.44.0
chore(deps): Bump @docker/actions-toolkit from 0.35.0 to 0.44.0
2024-11-13 14:02:33 +01:00
CrazyMax 3d8d1d9406 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-13 13:46:36 +01:00
dependabot[bot] 1b250aecdc chore(deps): Bump @docker/actions-toolkit from 0.35.0 to 0.44.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.35.0 to 0.44.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.35.0...v0.44.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-13 12:44:55 +00:00
CrazyMax bd26c982ee Merge pull request #460 from docker/dependabot/npm_and_yarn/actions/core-1.11.1
chore(deps): Bump @actions/core from 1.10.1 to 1.11.1
2024-11-10 21:36:36 +01:00
CrazyMax f574002aaf chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-31 11:25:58 +01:00
dependabot[bot] 30c2f0a1f0 chore(deps): Bump @actions/core from 1.10.1 to 1.11.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.1 to 1.11.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 10:22:02 +00:00
CrazyMax 0de3687b53 Merge pull request #459 from docker/dependabot/npm_and_yarn/moment-timezone-0.5.46
chore(deps): Bump moment-timezone from 0.5.45 to 0.5.46
2024-10-31 11:20:39 +01:00
CrazyMax 3229e62531 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-31 11:16:28 +01:00
dependabot[bot] f829da7245 chore(deps): Bump moment-timezone from 0.5.45 to 0.5.46
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.45 to 0.5.46.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.45...0.5.46)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 10:10:31 +00:00
CrazyMax 9b90a2e882 Merge pull request #467 from crazy-max/increase-short-sha-size
increase short commit hash length to 12 for uniqueness
2024-10-31 11:05:50 +01:00
CrazyMax aa662cf9eb chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-31 10:45:42 +01:00
CrazyMax c6cb763bee DOCKER_METADATA_SHORT_SHA_LENGTH env var to customize short commit SHA length
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-31 10:45:41 +01:00
CrazyMax bb9c6dd583 increase short commit hash length to 12 for uniqueness
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-31 10:11:17 +01:00
CrazyMax d31acd5065 Merge pull request #464 from crazy-max/publish-immutable-action
ci: publish as immutable action workflow
2024-10-26 00:40:50 +02:00
CrazyMax 6df88e4e75 ci: publish as immutable action workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-25 13:21:03 +02:00
CrazyMax 70b2cdc648 Merge pull request #454 from docker/dependabot/npm_and_yarn/path-to-regexp-6.3.0
chore(deps): Bump path-to-regexp from 6.2.2 to 6.3.0
2024-09-12 22:41:20 +02:00
dependabot[bot] 1a52488bd8 chore(deps): Bump path-to-regexp from 6.2.2 to 6.3.0
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 6.2.2 to 6.3.0.
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v6.2.2...v6.3.0)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-12 19:22:56 +00:00
CrazyMax 60a0d343a0 Merge pull request #441 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.35.0
chore(deps): Bump @docker/actions-toolkit from 0.23.0 to 0.35.0
2024-07-23 11:04:00 +02:00
CrazyMax b3bc5a6d84 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-23 10:48:22 +02:00
CrazyMax e6e95c28a4 chore: move func
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-23 10:44:25 +02:00
dependabot[bot] 9ec63a7555 chore(deps): Bump @docker/actions-toolkit from 0.23.0 to 0.35.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.23.0 to 0.35.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.23.0...v0.35.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 08:39:57 +00:00
CrazyMax 6970301b80 Merge pull request #440 from docker/dependabot/npm_and_yarn/semver-7.6.3
chore(deps): Bump semver from 7.6.2 to 7.6.3
2024-07-23 10:35:12 +02:00
CrazyMax d155f767a3 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-23 10:31:56 +02:00
dependabot[bot] b5b2c1dec6 chore(deps): Bump semver from 7.6.2 to 7.6.3
Bumps [semver](https://github.com/npm/node-semver) from 7.6.2 to 7.6.3.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.6.2...v7.6.3)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-17 19:38:08 +00:00
CrazyMax a64d0487d7 Merge pull request #424 from docker/dependabot/npm_and_yarn/braces-3.0.3
chore(deps): Bump braces from 3.0.2 to 3.0.3
2024-06-29 14:09:54 +02:00
CrazyMax 68e4cac93d Merge pull request #426 from docker/dependabot/github_actions/docker/build-push-action-6
chore(deps): Bump docker/build-push-action from 5 to 6
2024-06-29 14:09:41 +02:00
CrazyMax 7ba3606742 Merge pull request #425 from docker/dependabot/github_actions/docker/bake-action-5
chore(deps): Bump docker/bake-action from 4 to 5
2024-06-29 14:09:28 +02:00
dependabot[bot] 2331fdf258 chore(deps): Bump docker/build-push-action from 5 to 6
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 19:28:50 +00:00
dependabot[bot] 24ce540669 chore(deps): Bump docker/bake-action from 4 to 5
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 4 to 5.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 19:28:46 +00:00
dependabot[bot] d729db4f91 chore(deps): Bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-16 15:05:34 +00:00
CrazyMax f7b4ed1238 Merge pull request #415 from crazy-max/update-dev-deps
chore: update dev dependencies
2024-05-15 13:02:46 +02:00
CrazyMax 33c4e25305 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:33:21 +02:00
CrazyMax b83177b368 chore: update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:32:06 +02:00
CrazyMax 839b70f9d5 Merge pull request #412 from docker/dependabot/npm_and_yarn/csv-parse-5.5.6
chore(deps): Bump csv-parse from 5.5.5 to 5.5.6
2024-05-15 12:27:22 +02:00
CrazyMax dbacb9a831 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:24:58 +02:00
dependabot[bot] 247cc9691a chore(deps): Bump csv-parse from 5.5.5 to 5.5.6
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.5.5 to 5.5.6.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.5.6/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 10:23:02 +00:00
CrazyMax 4c92c35ca9 Merge pull request #411 from docker/dependabot/npm_and_yarn/semver-7.6.2
chore(deps): Bump semver from 7.6.0 to 7.6.2
2024-05-15 12:22:05 +02:00
CrazyMax 9ca1efb941 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:20:02 +02:00
dependabot[bot] 0170173c39 chore(deps): Bump semver from 7.6.0 to 7.6.2
Bumps [semver](https://github.com/npm/node-semver) from 7.6.0 to 7.6.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.6.0...v7.6.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 10:08:12 +00:00
CrazyMax dab39f1537 Merge pull request #413 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.23.0
chore(deps): Bump @docker/actions-toolkit from 0.20.0 to 0.23.0
2024-05-15 12:07:13 +02:00
CrazyMax f402fd6ae4 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 11:31:16 +02:00
dependabot[bot] b0bbce7f66 chore(deps): Bump @docker/actions-toolkit from 0.20.0 to 0.23.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.20.0 to 0.23.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.20.0...v0.23.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 20:17:26 +00:00
CrazyMax 2ee3d3070b Merge pull request #408 from crazy-max/update-yarn
update to yarn 3.6.3
2024-05-07 12:04:33 +02:00
CrazyMax 6e3a986a06 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 10:47:24 +02:00
CrazyMax 4fde7ad49c chore: add plugin-interactive-tools yarn pkg
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 10:46:34 +02:00
CrazyMax 24b670ad98 update to yarn 3.6.3
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 10:45:56 +02:00
CrazyMax 1294d94f8e Merge pull request #402 from docker/dependabot/npm_and_yarn/undici-5.28.4
chore(deps): Bump undici from 5.28.3 to 5.28.4
2024-04-11 16:26:21 +02:00
CrazyMax 4ab8e580e1 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-11 15:37:46 +02:00
dependabot[bot] 3617daf484 chore(deps): Bump undici from 5.28.3 to 5.28.4
Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 12:33:01 +00:00
CrazyMax b5cd5676d4 Merge pull request #400 from docker/dependabot/npm_and_yarn/multi-ad9948e606
chore(deps): Bump semver and @types/semver
2024-04-11 14:31:41 +02:00
CrazyMax 204ddf0626 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-11 14:20:02 +02:00
dependabot[bot] 588ab464f7 chore(deps): Bump semver and @types/semver
Bumps [semver](https://github.com/npm/node-semver) and [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver). These dependencies needed to be updated together.

Updates `semver` from 7.5.4 to 7.6.0
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.5.4...v7.6.0)

Updates `@types/semver` from 7.5.1 to 7.5.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/semver"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 11:43:29 +00:00
CrazyMax 6ed49e6282 Merge pull request #399 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.20.0
chore(deps): Bump @docker/actions-toolkit from 0.18.0 to 0.20.0
2024-04-11 13:42:35 +02:00
CrazyMax 499da83ec1 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-11 13:40:49 +02:00
dependabot[bot] 1bc39885c1 chore(deps): Bump @docker/actions-toolkit from 0.18.0 to 0.20.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.18.0 to 0.20.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.18.0...v0.20.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-02 19:14:38 +00:00
CrazyMax c314eea2b2 Merge pull request #395 from crazy-max/bake-cwd-prefix
docs: using bake with remote and local metadata definition
2024-03-25 11:35:50 +01:00
CrazyMax 22d80c023d docs: using bake with remote and local metadata definition
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-25 11:33:52 +01:00
Tõnis Tiigi 38b3677383 Merge pull request #396 from crazy-max/ci-latest-buildx
ci: set buildx version
2024-03-18 15:16:15 -07:00
CrazyMax 3c91de3093 ci: set buildx version
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-18 10:38:16 +01:00
CrazyMax 75359341f6 Merge pull request #383 from docker/dependabot/npm_and_yarn/moment-timezone-0.5.45
chore(deps): Bump moment-timezone from 0.5.44 to 0.5.45
2024-03-13 18:55:50 +01:00
CrazyMax 2432cf717c chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-13 18:54:13 +01:00
CrazyMax c77859c8ba chore(deps): Bump csv-parse from 5.5.3 to 5.5.5
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-13 18:51:58 +01:00
dependabot[bot] 60ab7b421c chore(deps): Bump moment-timezone from 0.5.44 to 0.5.45
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.44 to 0.5.45.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.44...0.5.45)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-13 17:49:48 +00:00
CrazyMax 7ce1a14667 Merge pull request #391 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.18.0
chore(deps): Bump @docker/actions-toolkit from 0.16.1 to 0.18.0
2024-03-13 18:48:10 +01:00
CrazyMax d06e52bc52 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-13 18:46:46 +01:00
dependabot[bot] 66f0185bb8 chore(deps): Bump @docker/actions-toolkit from 0.16.1 to 0.18.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.16.1 to 0.18.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.16.1...v0.18.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-29 19:07:00 +00:00
CrazyMax 232fc64e3a Merge pull request #386 from docker/dependabot/npm_and_yarn/undici-5.28.3
chore(deps): Bump undici from 5.26.3 to 5.28.3
2024-02-23 09:38:00 +01:00
CrazyMax 1b08479748 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:34:46 +01:00
CrazyMax 3a28db68be Merge pull request #387 from crazy-max/bump-gha
bump codecov/codecov-action from 3 to 4
2024-02-23 09:13:06 +01:00
CrazyMax 6bb43c8680 bump codecov/codecov-action from 3 to 4
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:05:37 +01:00
dependabot[bot] 41050ffe08 chore(deps): Bump undici from 5.26.3 to 5.28.3
Bumps [undici](https://github.com/nodejs/undici) from 5.26.3 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.26.3...v5.28.3)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-16 17:59:42 +00:00
CrazyMax 8e5442c4ef Merge pull request #382 from crazy-max/dont-set-cwd-prefix
don't set cwd:// prefix for local bake files
2024-01-31 14:06:15 +01:00
CrazyMax eda41b71bf chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-31 14:04:39 +01:00
CrazyMax 388c08f740 don't set cwd:// prefix for local bake files
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-31 14:04:39 +01:00
CrazyMax dbef88086f Merge pull request #374 from docker/dependabot/npm_and_yarn/moment-timezone-0.5.44
chore(deps): Bump moment-timezone from 0.5.43 to 0.5.44
2024-01-05 10:58:01 +01:00
CrazyMax b73e7a71ac chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-05 10:56:26 +01:00
dependabot[bot] b9fba690eb chore(deps): Bump moment-timezone from 0.5.43 to 0.5.44
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.43 to 0.5.44.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.43...0.5.44)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-05 09:54:17 +00:00
CrazyMax ac82374ba6 Merge pull request #373 from docker/dependabot/npm_and_yarn/moment-2.30.1
chore(deps): Bump moment from 2.29.4 to 2.30.1
2024-01-05 10:51:59 +01:00
CrazyMax c92519a44e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-05 10:50:35 +01:00
dependabot[bot] 3b4179d34d chore(deps): Bump moment from 2.29.4 to 2.30.1
Bumps [moment](https://github.com/moment/moment) from 2.29.4 to 2.30.1.
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.4...2.30.1)

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>

---
updated-dependencies:
- dependency-name: moment
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-05 10:49:11 +01:00
CrazyMax 0784993ef8 Merge pull request #371 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.16.1
chore(deps): Bump @docker/actions-toolkit from 0.16.0 to 0.16.1
2024-01-05 10:48:32 +01:00
CrazyMax 52c3e9e410 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-05 10:46:26 +01:00
dependabot[bot] 82a5e6726c chore(deps): Bump @docker/actions-toolkit from 0.16.0 to 0.16.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.16.0 to 0.16.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.16.0...v0.16.1)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-05 09:44:28 +00:00
Tõnis Tiigi 41e1fe3437 Merge pull request #370 from crazy-max/bake-cwd
bake: set cwd:// prefix for bake files path
2024-01-04 09:32:49 -08:00
CrazyMax 48cce1cba0 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-04 10:09:14 +01:00
CrazyMax 61879b94bc bake: set cwd:// prefix for bake files path
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-04 10:09:06 +01:00
CrazyMax 36ea4ee555 bake: refactor generateBakeFile
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-20 14:48:27 +01:00
CrazyMax 74fa878183 ci: bump buildx to latest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-20 14:38:48 +01:00
CrazyMax 9dc751fe24 Merge pull request #369 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.16.0
chore(deps): Bump @docker/actions-toolkit from 0.15.0 to 0.16.0
2023-12-18 11:47:58 +01:00
CrazyMax c94c54c4e6 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-15 20:46:50 +01:00
dependabot[bot] 187f09259d chore(deps): Bump @docker/actions-toolkit from 0.15.0 to 0.16.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.15.0 to 0.16.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.15.0...v0.16.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 19:45:27 +00:00
CrazyMax 6d6eaf3451 Merge pull request #365 from docker/dependabot/npm_and_yarn/csv-parse-5.5.3
chore(deps): Bump csv-parse from 5.5.2 to 5.5.3
2023-12-15 20:44:33 +01:00
dependabot[bot] 1484a7ec95 chore(deps): Bump csv-parse from 5.5.2 to 5.5.3
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.5.2 to 5.5.3.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.5.3/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-08 19:40:22 +00:00
CrazyMax 31cebacef4 Merge pull request #363 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.15.0
chore(deps): Bump @docker/actions-toolkit from 0.14.0 to 0.15.0
2023-12-04 01:51:22 -08:00
CrazyMax 394bbab10c chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-04 10:49:19 +01:00
dependabot[bot] ee4c9054ec chore(deps): Bump @docker/actions-toolkit from 0.14.0 to 0.15.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.14.0 to 0.15.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.14.0...v0.15.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 09:39:45 +00:00
Tõnis Tiigi e6428a5c4e Merge pull request #361 from crazy-max/custom-annotations
custom annotations support
2023-11-30 09:29:27 -08:00
David Karlsson 26b4721af7 Merge pull request #359 from favonia/document-annotations
docs(README): add a hint about multi-arch builds
2023-11-30 15:35:34 +01:00
CrazyMax 352ce8b7fe chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 15:09:51 +01:00
CrazyMax cb0becceaf custom annotations support
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 15:09:51 +01:00
favonia 91224bc155 docs(README): add a hint about multi-arch builds
Document probably the most common usage of
`DOCKER_METADATA_ANNOTATIONS_LEVELS`: multi-arch builds.

Signed-off-by: favonia <favonia@gmail.com>
2023-11-30 06:53:25 -06:00
CrazyMax f19c3691d5 Merge pull request #358 from crazy-max/empty-images
feat: allow images input to be empty to output bare tags
2023-11-30 02:04:19 -08:00
CrazyMax 4066f0cede chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 10:41:57 +01:00
CrazyMax d6a296c454 chore: use anonymous func to generate tags and add tests
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 10:41:18 +01:00
Jason D'Amour aacea38e07 feat: allow the images input to be empty, to output just tags
Signed-off-by: Jason D'Amour <jasondamour98@gmail.com>
2023-11-30 10:23:11 +01:00
CrazyMax 051f7ea71b Merge pull request #357 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.14.0
chore(deps): Bump @docker/actions-toolkit from 0.13.0 to 0.14.0
2023-11-30 01:21:11 -08:00
CrazyMax 2fc083a3a4 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 10:15:31 +01:00
dependabot[bot] 488568d6fa chore(deps): Bump @docker/actions-toolkit from 0.13.0 to 0.14.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-30 09:13:28 +00:00
CrazyMax f33ad1e20d Merge pull request #352 from crazy-max/annotations-alt
annotations support
2023-11-30 01:10:44 -08:00
CrazyMax 6bbe00c7bc chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 10:08:54 +01:00
CrazyMax f0ad8701de annotations support
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 10:08:54 +01:00
CrazyMax 2a4836ac76 Merge pull request #353 from crazy-max/split-bake-file
bake: split definition into two files
2023-11-27 00:50:21 -08:00
CrazyMax 9bdb15d11e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-23 17:08:07 +01:00
CrazyMax b94479639a bake: split definition into two files
Allows to either include tags or labels or both definitions.
Keep bake-file output for backward compatibility.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-23 17:08:07 +01:00
CrazyMax f3c3cad8ad Merge pull request #356 from docker/dependabot/github_actions/actions/github-script-7
chore(deps): Bump actions/github-script from 6 to 7
2023-11-17 05:02:30 -08:00
dependabot[bot] 3b632771f9 chore(deps): Bump actions/github-script from 6 to 7
Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 19:28:14 +00:00
CrazyMax 62339db73c Merge pull request #346 from docker/dependabot/npm_and_yarn/csv-parse-5.5.2
chore(deps): Bump csv-parse from 5.5.0 to 5.5.2
2023-10-25 06:44:47 -07:00
CrazyMax f13510ee59 fix yarn.lock
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-25 15:43:28 +02:00
dependabot[bot] 6796a85d36 chore(deps): Bump csv-parse from 5.5.0 to 5.5.2
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.5.0 to 5.5.2.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.5.2/packages/csv-parse)

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 15:41:52 +02:00
CrazyMax 1ec392100e Merge pull request #348 from docker/dependabot/npm_and_yarn/actions/github-6.0.0
chore(deps): Bump @actions/github from 5.1.1 to 6.0.0
2023-10-25 06:41:31 -07:00
CrazyMax 15f2689f92 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-25 15:39:40 +02:00
dependabot[bot] ad9adab519 chore(deps): Bump @actions/github from 5.1.1 to 6.0.0
Bumps [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) from 5.1.1 to 6.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

---
updated-dependencies:
- dependency-name: "@actions/github"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 13:37:52 +00:00
CrazyMax 28aeae210e Merge pull request #349 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.13.0
chore(deps): Bump @docker/actions-toolkit from 0.12.0 to 0.13.0
2023-10-25 06:36:59 -07:00
CrazyMax 5f160a25bd chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-25 15:15:43 +02:00
CrazyMax 05d3089a30 Merge pull request #350 from docker/dependabot/npm_and_yarn/babel/traverse-7.23.2
chore(deps): Bump @babel/traverse from 7.17.3 to 7.23.2
2023-10-25 06:13:07 -07:00
dependabot[bot] b8c52fa5a7 chore(deps): Bump @babel/traverse from 7.17.3 to 7.23.2
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.17.3 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-17 20:40:16 +00:00
dependabot[bot] fa851f2008 chore(deps): Bump @docker/actions-toolkit from 0.12.0 to 0.13.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-13 19:33:25 +00:00
CrazyMax 879dcbb708 Merge pull request #335 from docker/dependabot/npm_and_yarn/semver-7.5.4
chore(deps): Bump semver from 7.5.3 to 7.5.4
2023-09-15 13:47:51 +02:00
CrazyMax 167d566053 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-15 13:45:49 +02:00
CrazyMax 6dfb6f1404 Merge pull request #341 from crazy-max/community-files
chore: github form templates
2023-09-13 11:42:14 +02:00
CrazyMax 62a438bd07 chore: github form templates
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-13 09:45:28 +02:00
CrazyMax ee5ff41fc8 chore: update community files
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-13 09:45:23 +02:00
CrazyMax c0f15f0bfe Merge pull request #339 from docker/dependabot/github_actions/docker/setup-buildx-action-3
chore(deps): Bump docker/setup-buildx-action from 2 to 3
2023-09-13 08:31:36 +02:00
CrazyMax 2c2bddef07 Merge pull request #338 from docker/dependabot/github_actions/docker/setup-qemu-action-3
chore(deps): Bump docker/setup-qemu-action from 2 to 3
2023-09-13 08:31:23 +02:00
CrazyMax 00dcdd5da5 Merge pull request #337 from docker/dependabot/github_actions/docker/bake-action-4
chore(deps): Bump docker/bake-action from 3 to 4
2023-09-13 08:31:13 +02:00
CrazyMax bd87541fe8 Merge pull request #336 from docker/dependabot/github_actions/docker/build-push-action-5
chore(deps): Bump docker/build-push-action from 4 to 5
2023-09-13 08:31:02 +02:00
dependabot[bot] b87668a573 chore(deps): Bump docker/setup-buildx-action from 2 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 19:54:57 +00:00
dependabot[bot] 407b95c632 chore(deps): Bump docker/setup-qemu-action from 2 to 3
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 19:54:55 +00:00
dependabot[bot] 0668f8e3c4 chore(deps): Bump docker/bake-action from 3 to 4
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 3 to 4.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 19:54:51 +00:00
dependabot[bot] d0efd7f63f chore(deps): Bump docker/build-push-action from 4 to 5
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 19:54:48 +00:00
dependabot[bot] 672cd7b637 chore(deps): Bump semver from 7.5.3 to 7.5.4
Bumps [semver](https://github.com/npm/node-semver) from 7.5.3 to 7.5.4.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.5.3...v7.5.4)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 19:03:27 +00:00
CrazyMax 1f35ebc704 Merge pull request #334 from crazy-max/bump-major
docs: bump actions to latest major
2023-09-12 15:14:56 +02:00
CrazyMax 413e9a9a6a docs: bump actions to latest major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 14:17:25 +02:00
CrazyMax 96383f4557 Merge pull request #320 from docker/dependabot/npm_and_yarn/csv-parse-5.5.0
Bump csv-parse from 5.4.0 to 5.5.0
2023-09-12 09:35:54 +02:00
CrazyMax f138b9677b chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 09:34:10 +02:00
dependabot[bot] 9cf7015b15 Bump csv-parse from 5.4.0 to 5.5.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.4.0 to 5.5.0.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.5.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 07:32:56 +00:00
CrazyMax 5a8a5ff8df Merge pull request #315 from docker/dependabot/npm_and_yarn/handlebars-4.7.8
Bump handlebars from 4.7.7 to 4.7.8
2023-09-12 09:31:05 +02:00
CrazyMax 2279d9af58 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 09:29:13 +02:00
dependabot[bot] c659933213 Bump handlebars from 4.7.7 to 4.7.8
Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.7 to 4.7.8.
- [Release notes](https://github.com/handlebars-lang/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.8/release-notes.md)
- [Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.7...v4.7.8)

---
updated-dependencies:
- dependency-name: handlebars
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 07:24:46 +00:00
CrazyMax 48d23ccc05 Merge pull request #333 from docker/dependabot/npm_and_yarn/actions/core-1.10.1
Bump @actions/core from 1.10.0 to 1.10.1
2023-09-12 09:17:01 +02:00
CrazyMax b83ffb48d6 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 09:12:10 +02:00
dependabot[bot] 3207f2405f Bump @actions/core from 1.10.0 to 1.10.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.0 to 1.10.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 07:00:46 +00:00
CrazyMax 63f4a263e5 Merge pull request #328 from crazy-max/update-node20
chore: node 20 as default runtime
2023-09-12 08:23:31 +02:00
CrazyMax 547dcd6d67 chore: node 20 as default runtime
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:59 +02:00
CrazyMax 450eef4207 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:58 +02:00
CrazyMax 903f5af663 chore: fix author in package.json
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:58 +02:00
CrazyMax 3634bd57d7 vendor: bump @docker/actions-toolkit from 0.6.0 to 0.12.0
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:58 +02:00
CrazyMax d3faf0d1af chore: update dev dependencies
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:58 +02:00
CrazyMax ff376f4737 chore: update to node 20
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:58 +02:00
CrazyMax 79f06a31c0 Merge pull request #330 from frison/master
Update Bake file-reference URI
2023-09-08 11:28:34 +02:00
Tim Frison 6f69513dab Update Bake file-reference URI
Previous URL 404'd

Signed-off-by: Tim Frison <tim.frison@clio.com>
2023-09-07 16:03:19 -06:00
CrazyMax b67fef219a Merge pull request #324 from crazy-max/ci-concurrency
ci: missing concurrency checks
2023-09-05 11:09:54 +02:00
CrazyMax 51990f24d1 ci: missing concurrency checks
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-05 11:02:47 +02:00
CrazyMax 4af6ba2231 Merge pull request #322 from docker/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-09-05 09:21:23 +02:00
dependabot[bot] 59de4866c5 Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 19:14:07 +00:00
CrazyMax 0f8c876baf Merge pull request #317 from crazy-max/rm-codeowners
chore: remove CODEOWNERS
2023-08-08 12:55:36 +02:00
CrazyMax 389ff6bdd5 chore: remove CODEOWNERS
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-08 12:52:23 +02:00
Tõnis Tiigi 2bcfca25d5 Merge pull request #316 from crazy-max/dependabot-update
chore: set increase as versioning strategy
2023-08-08 09:54:38 +03:00
CrazyMax 05b244eb76 chore: set increase as versioning strategy
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-08 06:01:53 +02:00
CrazyMax 35e9aff4f5 Merge pull request #306 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.6.0
Bump @docker/actions-toolkit from 0.5.0 to 0.6.0
2023-07-06 09:46:22 +02:00
CrazyMax 1586898b63 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-05 12:37:27 +02:00
dependabot[bot] 7a273586e1 Bump @docker/actions-toolkit from 0.5.0 to 0.6.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-28 19:30:46 +00:00
CrazyMax ef25336f42 Merge pull request #304 from docker/dependabot/npm_and_yarn/semver-7.5.2
Bump semver from 7.5.1 to 7.5.2
2023-06-26 15:15:32 +02:00
CrazyMax 0ab15faee8 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-26 15:13:35 +02:00
dependabot[bot] 1ea1b02f9b Bump semver from 7.5.1 to 7.5.2
Bumps [semver](https://github.com/npm/node-semver) from 7.5.1 to 7.5.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.5.1...v7.5.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-25 12:32:27 +00:00
CrazyMax 818d4b7b91 Merge pull request #302 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.5.0
Bump @docker/actions-toolkit from 0.3.0 to 0.5.0
2023-06-13 12:27:30 +02:00
CrazyMax 948134af5e update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-13 12:24:59 +02:00
CrazyMax ef7eee951a enable comments to avoid breaking change with current impl
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-13 12:24:00 +02:00
dependabot[bot] 8ec80c3be6 Bump @docker/actions-toolkit from 0.3.0 to 0.5.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.3.0...v0.5.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 10:11:07 +00:00
CrazyMax 38650bbf6b Merge pull request #301 from crazy-max/dedup-labels
dedup and sort labels
2023-06-13 12:02:17 +02:00
CrazyMax ebbd9b4df7 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-13 02:32:15 +02:00
CrazyMax 2dadb92b6b dedup and sort labels
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-13 02:31:02 +02:00
54 changed files with 14936 additions and 6376 deletions

No files matched your search

+11 -1
View File
@@ -1,2 +1,12 @@
/coverage
/node_modules
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
-23
View File
@@ -1,23 +0,0 @@
{
"env": {
"node": true,
"es2021": true,
"jest/globals": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"jest",
"prettier"
]
}
+2
View File
@@ -1,3 +1,5 @@
/.yarn/releases/** binary
/.yarn/plugins/** binary
/__tests__/fixtures/** -linguist-detectable
/dist/** linguist-generated=true
/lib/** linguist-generated=true
-1
View File
@@ -1 +0,0 @@
* @crazy-max
+3
View File
@@ -0,0 +1,3 @@
# Code of conduct
- [Moby community guidelines](https://github.com/moby/moby/blob/master/CONTRIBUTING.md#moby-community-guidelines)
+101
View File
@@ -0,0 +1,101 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Bug Report
description: Report a bug
labels:
- status/triage
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to report a bug!
If this is a security issue please report it to the [Docker Security team](mailto:security@docker.com).
- type: checkboxes
attributes:
label: Contributing guidelines
description: >
Make sure you've read the contributing guidelines before proceeding.
options:
- label: I've read the [contributing guidelines](https://github.com/docker/metadata-action/blob/master/.github/CONTRIBUTING.md) and wholeheartedly agree
required: true
- type: checkboxes
attributes:
label: "I've found a bug, and:"
description: |
Make sure that your request fulfills all of the following requirements.
If one requirement cannot be satisfied, explain in detail why.
options:
- label: The documentation does not mention anything about my problem
- label: There are no open or closed issues that are related to my problem
- type: textarea
attributes:
label: Description
description: >
Provide a brief description of the bug in 1-2 sentences.
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
description: >
Describe precisely what you'd expect to happen.
validations:
required: true
- type: textarea
attributes:
label: Actual behaviour
description: >
Describe precisely what is actually happening.
validations:
required: true
- type: input
attributes:
label: Repository URL
description: >
Enter the URL of the repository where you are experiencing the
issue. If your repository is private, provide a link to a minimal
repository that reproduces the issue.
- type: input
attributes:
label: Workflow run URL
description: >
Enter the URL of the GitHub Action workflow run if public (e.g.
`https://github.com/<user>/<repo>/actions/runs/<id>`)
- type: textarea
attributes:
label: YAML workflow
description: |
Provide the YAML of the workflow that's causing the issue.
Make sure to remove any sensitive information.
render: yaml
validations:
required: true
- type: textarea
attributes:
label: Workflow logs
description: >
[Attach](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files)
the [log file of your workflow run](https://docs.github.com/en/actions/managing-workflow-runs/using-workflow-run-logs#downloading-logs)
and make sure to remove any sensitive information.
- type: textarea
attributes:
label: BuildKit logs
description: >
If applicable, provide the [BuildKit container logs](https://docs.docker.com/build/ci/github-actions/configure-builder/#buildkit-container-logs)
render: text
- type: textarea
attributes:
label: Additional info
description: |
Provide any additional information that could be useful.
-34
View File
@@ -1,34 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
### Behaviour
#### Steps to reproduce this issue
1.
2.
3.
#### Expected behaviour
> Tell us what should happen
#### Actual behaviour
> Tell us what happens instead
### Configuration
* Repository URL (if public):
* Build URL (if public):
```yml
# paste your YAML workflow file here and remove sensitive data
```
### Logs
> Download the [log file of your build](https://docs.github.com/en/actions/managing-workflow-runs/using-workflow-run-logs#downloading-logs)
> and [attach it](https://docs.github.com/en/github/managing-your-work-on-github/file-attachments-on-issues-and-pull-requests) to this issue.
+9
View File
@@ -0,0 +1,9 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: true
contact_links:
- name: Questions and Discussions
url: https://github.com/docker/metadata-action/discussions/new
about: Use Github Discussions to ask questions and/or open discussion topics.
- name: Documentation
url: https://docs.docker.com/build/ci/github-actions/
about: Read the documentation.
+15
View File
@@ -0,0 +1,15 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Feature request
description: Missing functionality? Come tell us about it!
labels:
- kind/enhancement
- status/triage
body:
- type: textarea
id: description
attributes:
label: Description
description: What is the feature you want to see?
validations:
required: true
+12
View File
@@ -0,0 +1,12 @@
# Reporting security issues
The project maintainers take security seriously. If you discover a security
issue, please bring it to their attention right away!
**Please _DO NOT_ file a public issue**, instead send your report privately to
[security@docker.com](mailto:security@docker.com).
Security reports are greatly appreciated, and we will publicly thank you for it.
We also like to send gifts&mdash;if you'd like Docker swag, make sure to let
us know. We currently do not offer a paid security bounty program, but are not
ruling it out in the future.
-32
View File
@@ -1,32 +0,0 @@
# Support [![](https://isitmaintained.com/badge/resolution/docker/metadata-action.svg)](https://isitmaintained.com/project/docker/metadata-action)
## Reporting an issue
Please do a search in [open issues](https://github.com/docker/metadata-action/issues?utf8=%E2%9C%93&q=) to see if the
issue or feature request has already been filed.
If you find your issue already exists, make relevant comments and add your
[reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place
of a "+1" comment.
:+1: - upvote
:-1: - downvote
If you cannot find an existing issue that describes your bug or feature, submit an issue using the guidelines below.
## Writing good bug reports and feature requests
File a single issue per problem and feature request.
* Do not enumerate multiple bugs or feature requests in the same issue.
* Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix.
You are now ready to [create a new issue](https://github.com/docker/metadata-action/issues/new/choose)!
## Closure policy
* Issues that don't have the information requested above (when applicable) will be closed immediately and the poster directed to the support guidelines.
* Issues that go a week without a response from original poster are subject to closure at our discretion.
+14
View File
@@ -4,6 +4,15 @@ updates:
directory: "/"
schedule:
interval: "daily"
cooldown:
default-days: 2
groups:
crazy-max-dot-github:
patterns:
- "crazy-max/.github/*"
codeql-actions:
patterns:
- "github/codeql-action/*"
labels:
- "dependencies"
- "bot"
@@ -11,6 +20,11 @@ updates:
directory: "/"
schedule:
interval: "daily"
cooldown:
default-days: 2
exclude:
- "@docker/actions-toolkit"
versioning-strategy: "increase"
allow:
- dependency-type: "production"
labels:
+295 -38
View File
@@ -1,5 +1,12 @@
name: ci
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
schedule:
- cron: '0 10 * * *'
@@ -13,14 +20,39 @@ on:
env:
DOCKER_IMAGE: localhost:5000/name/app
BUILDX_VERSION: latest
jobs:
context:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
context:
- workflow
- git
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Docker meta
uses: ./
with:
context: ${{ matrix.context }}
multi-images:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -51,7 +83,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -81,7 +119,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -109,7 +153,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -134,7 +184,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -151,7 +207,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -161,12 +223,18 @@ jobs:
name=ghcr.io/name/app,enable=${{ github.event_name == 'pull_request' }}
name=ghcr.io/name/release,enable=${{ startsWith(github.ref, 'refs/tags/') }}
labels:
custom-labels-annotations:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -179,13 +247,24 @@ jobs:
org.opencontainers.image.title=MyCustomTitle
org.opencontainers.image.description=this is a "good" example
org.opencontainers.image.vendor=MyCompany
annotations: |
maintainer=Foo
org.opencontainers.image.title=MyFooTitle
org.opencontainers.image.description=this is a "foo" example
org.opencontainers.image.vendor=MyFooCompany
global-exps:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -193,6 +272,8 @@ jobs:
images: |
${{ env.DOCKER_IMAGE }}
ghcr.io/name/app
labels: |
org.opencontainers.image.created={{commit_date 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}
tags: |
type=sha
type=raw,value=gexp-branch-{{branch}}
@@ -200,13 +281,20 @@ jobs:
type=raw,value=gexp-tag-{{tag}}
type=raw,value=gexp-baseref-{{base_ref}}
type=raw,value=gexp-defbranch,enable={{is_default_branch}}
type=raw,value=gexp-notdefbranch,enable={{is_not_default_branch}}
json:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
id: meta
@@ -229,13 +317,19 @@ jobs:
runs-on: ubuntu-latest
services:
registry:
image: registry:2
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
ports:
- 5000:5000
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver-opts: network=host
-
name: Docker meta
id: docker_meta
@@ -252,17 +346,9 @@ jobs:
type=semver,pattern=v{{major}}.{{minor}}
type=semver,pattern=v{{major}}
type=sha
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
driver-opts: network=host
-
name: Build and push to local registry
uses: docker/build-push-action@v4
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: ./test
file: ./test/Dockerfile
@@ -279,17 +365,18 @@ jobs:
name: Check manifest
run: |
docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }}
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v2
bake:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
-
name: Docker meta
id: docker_meta
@@ -307,19 +394,14 @@ jobs:
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Build
uses: docker/bake-action@v3
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
files: |
./test/docker-bake.hcl
${{ steps.docker_meta.outputs.bake-file }}
cwd://${{ steps.docker_meta.outputs.bake-file-tags }}
cwd://${{ steps.docker_meta.outputs.bake-file-labels }}
targets: |
release
@@ -334,7 +416,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
id: meta
@@ -346,7 +434,7 @@ jobs:
sep-tags: ${{ matrix.sep }}
-
name: Tags
uses: actions/github-script@v6
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
console.log(`${{ steps.meta.outputs.tags }}`);
@@ -356,7 +444,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
id: meta
@@ -367,9 +461,11 @@ jobs:
ghcr.io/name/app
labels: |
maintainer=CrazyMax
annotations: |
maintainer=Foo
-
name: Build
uses: docker/build-push-action@v4
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: ./test
file: ./test/output.Dockerfile
@@ -377,4 +473,165 @@ jobs:
DOCKER_METADATA_OUTPUT_VERSION
DOCKER_METADATA_OUTPUT_TAGS
DOCKER_METADATA_OUTPUT_LABELS
DOCKER_METADATA_OUTPUT_ANNOTATIONS
DOCKER_METADATA_OUTPUT_JSON
no-output-env:
runs-on: ubuntu-latest
env:
DOCKER_METADATA_SET_OUTPUT_ENV: false
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Docker meta
id: meta
uses: ./
with:
images: |
${{ env.DOCKER_IMAGE }}
ghcr.io/name/app
labels: |
maintainer=CrazyMax
annotations: |
maintainer=Foo
-
name: No output environment variables set
shell: bash
run: |
[[ "$(printenv | grep "^DOCKER_METADATA_OUTPUT_" | wc -l)" -eq 0 ]] || exit 1
bake-annotations:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
-
name: Docker meta
id: docker_meta
uses: ./
with:
images: |
${{ env.DOCKER_IMAGE }}
ghcr.io/name/app
tags: |
type=schedule
type=ref,event=branch
type=ref,event=tag
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha
env:
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
-
name: Build
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
files: |
./test/docker-bake.hcl
cwd://${{ steps.docker_meta.outputs.bake-file-tags }}
cwd://${{ steps.docker_meta.outputs.bake-file-annotations }}
targets: |
release
no-images:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
with:
tags: |
type=schedule
type=ref,event=branch
type=ref,event=tag
type=ref,event=pr
type=sha
-
name: Print envs
run: env|sort
bake-path-context:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: latest
-
name: Docker meta
id: docker_meta
uses: ./
-
name: Build
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
source: .
files: |
./test/docker-bake.hcl
${{ steps.docker_meta.outputs.bake-file-tags }}
${{ steps.docker_meta.outputs.bake-file-labels }}
targets: |
release
sha-short:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
short-length:
- ''
- 16
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
with:
images: |
${{ env.DOCKER_IMAGE }}
ghcr.io/name/app
tags: |
type=sha
env:
DOCKER_METADATA_SHORT_SHA_LENGTH: ${{ matrix.short-length }}
dump:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Dump context
uses: crazy-max/ghaction-dump-context@4d9eeaf15dd59aa4346919ea84a84ccf514b4db8 # v3.1.0
+46
View File
@@ -0,0 +1,46 @@
name: codeql
permissions:
contents: read
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
env:
NODE_VERSION: "24"
jobs:
analyze:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Enable corepack
run: |
corepack enable
yarn --version
-
name: Set up Node
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ env.NODE_VERSION }}
-
name: Initialize CodeQL
uses: github/codeql-action/init@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
with:
languages: javascript-typescript
build-mode: none
-
name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
with:
category: "/language:javascript-typescript"
+17
View File
@@ -0,0 +1,17 @@
name: pr-assign-author
permissions:
contents: read
on:
pull_request_target: # zizmor: ignore[dangerous-triggers] safe to use without checkout
types:
- opened
- reopened
jobs:
run:
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@f91220cba053bd54299ba645a599ee8ed436f222 # v1.11.0
permissions:
contents: read
pull-requests: write
+28
View File
@@ -0,0 +1,28 @@
name: publish
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
release:
types:
- published
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Publish
uses: actions/publish-immutable-action@4bc8754ffc40f27910afb20287dbbbb675a4e978 # v0.0.4
+13 -4
View File
@@ -1,5 +1,12 @@
name: test
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
@@ -13,14 +20,16 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Test
uses: docker/bake-action@v3
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
source: .
targets: test
-
name: Upload coverage
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
file: ./coverage/clover.xml
files: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }}
+58
View File
@@ -0,0 +1,58 @@
name: update-dist
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
types:
- opened
- synchronize
jobs:
update-dist:
if: github.actor == 'dependabot[bot]' && github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == github.event.pull_request.head.repo.full_name
runs-on: ubuntu-latest
steps:
-
name: GitHub auth token from GitHub App
id: docker-read-app
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
app-id: ${{ secrets.GHACTIONS_REPO_WRITE_APP_ID }}
private-key: ${{ secrets.GHACTIONS_REPO_WRITE_APP_PRIVATE_KEY }}
owner: docker
repositories: metadata-action
permission-contents: write
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
token: ${{ steps.docker-read-app.outputs.token }}
-
name: Build
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
source: .
targets: build
-
name: Commit and push dist
run: |
if [ -n "$(git status --porcelain -- dist)" ]; then
(
set -x
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add dist
git commit -m "[dependabot skip] chore: update generated content"
git push
)
else
echo "No changes in dist"
fi
+16 -11
View File
@@ -1,5 +1,12 @@
name: validate
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
@@ -11,16 +18,17 @@ jobs:
prepare:
runs-on: ubuntu-latest
outputs:
targets: ${{ steps.targets.outputs.matrix }}
matrix: ${{ steps.generate.outputs.matrix }}
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Targets matrix
id: targets
run: |
echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT
name: Generate matrix
id: generate
uses: docker/bake-action/subaction/matrix@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
target: validate
validate:
runs-on: ubuntu-latest
@@ -29,13 +37,10 @@ jobs:
strategy:
fail-fast: false
matrix:
target: ${{ fromJson(needs.prepare.outputs.targets) }}
include: ${{ fromJson(needs.prepare.outputs.matrix) }}
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Validate
uses: docker/bake-action@v3
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
targets: ${{ matrix.target }}
+29
View File
@@ -0,0 +1,29 @@
name: zizmor
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- 'master'
- 'releases/v*'
tags:
- 'v*'
pull_request:
jobs:
zizmor:
uses: crazy-max/.github/.github/workflows/zizmor.yml@f91220cba053bd54299ba645a599ee8ed436f222 # v1.11.0
permissions:
contents: read
security-events: write
with:
min-severity: medium
min-confidence: medium
persona: pedantic
+14 -57
View File
@@ -1,12 +1,5 @@
/.dev
node_modules/
lib
# https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
# Jetbrains
/.idea
/*.iml
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
@@ -14,6 +7,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
@@ -24,34 +18,14 @@ pids
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
@@ -61,36 +35,19 @@ typings/
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
# dotenv environment variable files
.env
.env.test
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
+6
View File
@@ -0,0 +1,6 @@
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/
+1 -2
View File
@@ -6,6 +6,5 @@
"singleQuote": true,
"trailingComma": "none",
"bracketSpacing": false,
"arrowParens": "avoid",
"parser": "typescript"
"arrowParens": "avoid"
}
+24
View File
@@ -0,0 +1,24 @@
# https://yarnpkg.com/configuration/yarnrc
nodeLinker: node-modules
logFilters:
- code: YN0004
level: discard
- code: YN0013
level: discard
- code: YN0019
level: discard
- code: YN0076
level: discard
- code: YN0086
level: discard
npmPreapprovedPackages:
- "@docker/actions-toolkit"
compressionLevel: mixed
enableGlobalCache: false
enableHardenedMode: true
enableScripts: false
npmMinimalAgeGate: 2d
+252 -81
View File
@@ -44,10 +44,13 @@ ___
* [`{{sha}}`](#sha)
* [`{{base_ref}}`](#base_ref)
* [`{{is_default_branch}}`](#is_default_branch)
* [`{{is_not_default_branch}}`](#is_not_default_branch)
* [`{{date '<format>' tz='<timezone>'}}`](#date-format-tztimezone)
* [`{{commit_date '<format>' tz='<timezone>'}}`](#commit_date-format-tztimezone)
* [Major version zero](#major-version-zero)
* [JSON output object](#json-output-object)
* [Overwrite labels](#overwrite-labels)
* [Overwrite labels and annotations](#overwrite-labels-and-annotations)
* [Annotations](#annotations)
* [Contributing](#contributing)
## Usage
@@ -72,27 +75,23 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v6
with:
images: name/app
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v4
uses: docker/build-push-action@v7
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
@@ -126,13 +125,10 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v6
with:
images: |
name/app
@@ -144,15 +140,14 @@ jobs:
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v4
uses: docker/build-push-action@v7
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
@@ -204,13 +199,10 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v6
with:
images: |
name/app
@@ -222,16 +214,16 @@ jobs:
type=sha
-
name: Build
uses: docker/bake-action@v2
uses: docker/bake-action@v7
with:
files: |
./docker-bake.hcl
${{ steps.meta.outputs.bake-file }}
cwd://${{ steps.meta.outputs.bake-file }}
targets: build
```
Content of `${{ steps.meta.outputs.bake-file }}` file will look like this with
`refs/tags/v1.2.3` ref:
Content of `${{ steps.meta.outputs.bake-file }}` file, combining tags and
labels, will look like this with `refs/tags/v1.2.3` ref:
```json
{
@@ -262,12 +254,29 @@ Content of `${{ steps.meta.outputs.bake-file }}` file will look like this with
}
```
You can also use the `bake-file-tags` and `bake-file-labels` outputs if you
just want to use tags and/or labels respectively. The following example is
similar to the previous one:
```yaml
-
name: Build
uses: docker/bake-action@v7
with:
files: |
./docker-bake.hcl
cwd://${{ steps.meta.outputs.bake-file-tags }}
cwd://${{ steps.meta.outputs.bake-file-labels }}
targets: build
```
## Customizing
### inputs
Following inputs can be used as `step.with` keys
The following inputs can be used as `step.with` keys:
> [!NOTE]
> `List` type is a newline-delimited string
> ```yaml
> labels: |
@@ -276,41 +285,50 @@ Following inputs can be used as `step.with` keys
> org.opencontainers.image.vendor=MyCompany
> ```
| Name | Type | Description |
|---------------------|--------|-------------------------------------------------------------------------------|
| `context` | String | Where to get context data. Allowed options are: `workflow` (default), `git`. |
| `images` | List | List of Docker images to use as base name for tags |
| `tags` | List | List of [tags](#tags-input) as key-value pair attributes |
| `flavor` | List | [Flavor](#flavor-input) to apply |
| `labels` | List | List of custom labels |
| `sep-tags` | String | Separator to use for tags output (default `\n`) |
| `sep-labels` | String | Separator to use for labels output (default `\n`) |
| `bake-target` | String | Bake target name (default `docker-metadata-action`) |
| Name | Type | Description |
|-------------------|--------|--------------------------------------------------------------------------------------------|
| `context` | String | Where to get context data. Allowed options are: `workflow` (default), `git`, `git:<path>`. |
| `images` | List | List of Docker images to use as base name for tags |
| `tags` | List | List of [tags](#tags-input) as key-value pair attributes |
| `flavor` | List | [Flavor](#flavor-input) to apply |
| `labels` | List | List of custom labels |
| `annotations` | List | List of custom annotations |
| `sep-tags` | String | Separator to use for tags output (default `\n`) |
| `sep-labels` | String | Separator to use for labels output (default `\n`) |
| `sep-annotations` | String | Separator to use for annotations output (default `\n`) |
| `bake-target` | String | Bake target name (default `docker-metadata-action`) |
### outputs
Following outputs are available
The following outputs are available:
| Name | Type | Description |
|---------------|---------|--------------------------------------------------------------------------------------------|
| `version` | String | Docker image version |
| `tags` | String | Docker tags |
| `labels` | String | Docker labels |
| `json` | String | JSON output of tags and labels |
| `bake-file` | File | [Bake file definition](https://docs.docker.com/build/customize/bake/file-definition/) path |
| Name | Type | Description |
|-------------------------|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `version` | String | Docker image version |
| `tags` | String | Docker tags |
| `tag-names` | String | Docker tag names without image base name |
| `labels` | String | Docker labels |
| `annotations` | String | [Annotations](https://github.com/moby/buildkit/blob/master/docs/annotations.md) |
| `json` | String | JSON output of tags and labels |
| `bake-file-tags` | File | [Bake file definition](https://docs.docker.com/build/bake/reference/) path with tags |
| `bake-file-labels` | File | [Bake file definition](https://docs.docker.com/build/bake/reference/) path with labels |
| `bake-file-annotations` | File | [Bake file definition](https://docs.docker.com/build/bake/reference/) path with [annotations](https://github.com/moby/buildkit/blob/master/docs/annotations.md) |
Alternatively, each output is also exported as an environment variable:
Alternatively, each output is also exported as an environment variable when `DOCKER_METADATA_SET_OUTPUT_ENV` is `true`:
* `DOCKER_METADATA_OUTPUT_VERSION`
* `DOCKER_METADATA_OUTPUT_TAGS`
* `DOCKER_METADATA_OUTPUT_LABELS`
* `DOCKER_METADATA_OUTPUT_ANNOTATIONS`
* `DOCKER_METADATA_OUTPUT_JSON`
* `DOCKER_METADATA_OUTPUT_BAKE_FILE`
* `DOCKER_METADATA_OUTPUT_BAKE_FILE_TAGS`
* `DOCKER_METADATA_OUTPUT_BAKE_FILE_LABELS`
* `DOCKER_METADATA_OUTPUT_BAKE_FILE_ANNOTATIONS`
So it can be used with our [Docker Build Push action](https://github.com/docker/build-push-action/):
```yaml
- uses: docker/build-push-action@v4
- uses: docker/build-push-action@v7
with:
build-args: |
DOCKER_METADATA_OUTPUT_JSON
@@ -318,9 +336,12 @@ So it can be used with our [Docker Build Push action](https://github.com/docker/
### environment variables
| Name | Type | Description |
|-------------------------------|------|------------------------------------------------------------------------------------------------------------|
| `DOCKER_METADATA_PR_HEAD_SHA` | Bool | If `true`, set associated head SHA instead of commit SHA that triggered the workflow on pull request event |
| Name | Type | Description |
|--------------------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------|
| `DOCKER_METADATA_PR_HEAD_SHA` | Bool | If `true`, set associated head SHA instead of commit SHA that triggered the workflow on pull request event |
| `DOCKER_METADATA_SHORT_SHA_LENGTH` | Number | Specifies the length of the [short commit SHA](#typesha) to ensure uniqueness. Default is `7`, but can be increased for larger repositories. |
| `DOCKER_METADATA_ANNOTATIONS_LEVELS` | String | Comma separated list of annotations levels to set for annotations output separated (default `manifest`) |
| `DOCKER_METADATA_SET_OUTPUT_ENV` | Bool | If `true`, sets each output as an environment variable (default `true`) |
## `context` input
@@ -336,6 +357,24 @@ context: git
* `workflow`: Get context metadata from the workflow (GitHub context). See https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
* `git`: Get context metadata from the workflow and overrides some of them with current Git context, such as `ref` and `sha`.
Use `context: git:<path>` when the repository is checked out to a custom path.
The path can be absolute or relative to the current working directory
(normally `$GITHUB_WORKSPACE`):
```yaml
- uses: actions/checkout@v7
with:
path: source
- uses: docker/metadata-action@v6
with:
context: git:source
images: name/app
tags: type=sha
```
The selected checkout supplies the Git ref, SHA, and commit date. Other repository
metadata still comes from the workflow repository.
## `images` input
`images` defines a list of Docker images to use as base name for [`tags`](#tags-input):
@@ -359,6 +398,8 @@ images: |
* `name=<string>` image base name
* `enable=<true|false>` enable this entry (default `true`)
If `images` is empty, tags will be generated without base name.
## `flavor` input
`flavor` defines a global behavior for [`tags`](#tags-input):
@@ -433,7 +474,7 @@ tags: |
# handlebars
type=schedule,pattern={{date 'YYYYMMDD'}}
# handlebars with timezone
type=schedule,pattern={{date 'YYYYMMDD-hhmmss' tz='Asia/Tokyo'}}
type=schedule,pattern={{date 'YYYYMMDD-HHmmss' tz='Asia/Tokyo'}}
```
Will be used on [schedule event](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule).
@@ -465,6 +506,8 @@ tags: |
type=semver,pattern={{version}}
# use custom value instead of git tag
type=semver,pattern={{version}},value=v1.0.0
# use custom value and match part of it
type=semver,pattern={{version}},value=p1/v1.0.0,match=v(\d.\d.\d)$
```
Will be used on a [push tag event](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push)
@@ -480,18 +523,21 @@ with the following expressions:
* `minor` ; minor version identifier
* `patch` ; patch version identifier
| Git tag | Pattern | Output |
|--------------------|----------------------------------------------------------|----------------------|
| `v1.2.3` | `{{raw}}` | `v1.2.3` |
| `v1.2.3` | `{{version}}` | `1.2.3` |
| `v1.2.3` | `{{major}}.{{minor}}` | `1.2` |
| `v1.2.3` | `v{{major}}` | `v1` |
| `v1.2.3` | `{{minor}}` | `2` |
| `v1.2.3` | `{{patch}}` | `3` |
| `v2.0.8-beta.67` | `{{raw}}` | `v2.0.8-beta.67` |
| `v2.0.8-beta.67` | `{{version}}` | `2.0.8-beta.67` |
| `v2.0.8-beta.67` | `{{major}}.{{minor}}` | `2.0.8-beta.67`* |
| Git tag | Pattern | Match | Output |
|------------------|-----------------------|----------------|------------------|
| `v1.2.3` | `{{raw}}` | | `v1.2.3` |
| `v1.2.3` | `{{version}}` | | `1.2.3` |
| `v1.2.3` | `{{major}}.{{minor}}` | | `1.2` |
| `v1.2.3` | `v{{major}}` | | `v1` |
| `v1.2.3` | `{{minor}}` | | `2` |
| `v1.2.3` | `{{patch}}` | | `3` |
| `p1/v1.2.3` | `{{version}}` | `v(\d.\d.\d)$` | `1.2.3` |
| `v2.0.8-beta.67` | `{{raw}}` | | `v2.0.8-beta.67` |
| `v2.0.8-beta.67` | `{{version}}` | | `2.0.8-beta.67` |
| `v2.0.8-beta.67` | `{{major}}` | | `2.0.8-beta.67`* |
| `v2.0.8-beta.67` | `{{major}}.{{minor}}` | | `2.0.8-beta.67`* |
> [!IMPORTANT]
> *Pre-release (rc, beta, alpha) will only extend `{{version}}` (or `{{raw}}`
> if specified) as tag because they are updated frequently, and contain many
> breaking changes that are (by the author's design) not yet fit for public
@@ -501,7 +547,7 @@ Extended attributes and default values:
```yaml
tags: |
type=semver,enable=true,priority=900,prefix=,suffix=,pattern=,value=
type=semver,enable=true,priority=900,prefix=,suffix=,pattern=,value=,match=
```
### `type=pep440`
@@ -512,6 +558,8 @@ tags: |
type=pep440,pattern={{version}}
# use custom value instead of git tag
type=pep440,pattern={{version}},value=1.0.0
# use custom value and match part of it
type=pep440,pattern={{version}},value=p1/v1.0.0,match=v(\d.\d.\d)$
```
Will be used on a [push tag event](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push)
@@ -527,20 +575,22 @@ with the following expressions:
* `minor` ; minor version identifier
* `patch` ; patch version identifier
| Git tag | Pattern | Output |
|--------------------|----------------------------------------------------------|----------------------|
| `1.2.3` | `{{raw}}` | `1.2.3` |
| `1.2.3` | `{{version}}` | `1.2.3` |
| `v1.2.3` | `{{version}}` | `1.2.3` |
| `1.2.3` | `{{major}}.{{minor}}` | `1.2` |
| `1.2.3` | `v{{major}}` | `v1` |
| `v1.2.3rc2` | `{{raw}}` | `v1.2.3rc2` |
| `1.2.3rc2` | `{{version}}` | `1.2.3rc2` |
| `1.2.3rc2` | `{{major}}.{{minor}}` | `1.2.3rc2`* |
| `1.2.3post1` | `{{major}}.{{minor}}` | `1.2.3.post1`* |
| `1.2.3beta2` | `{{major}}.{{minor}}` | `1.2.3b2`* |
| `1.0dev4` | `{{major}}.{{minor}}` | `1.0.dev4`* |
| Git tag | Pattern | Match | Output |
|--------------|-----------------------|----------------|----------------|
| `1.2.3` | `{{raw}}` | | `1.2.3` |
| `1.2.3` | `{{version}}` | | `1.2.3` |
| `v1.2.3` | `{{version}}` | | `1.2.3` |
| `1.2.3` | `{{major}}.{{minor}}` | | `1.2` |
| `1.2.3` | `v{{major}}` | | `v1` |
| `v1.2.3rc2` | `{{raw}}` | | `v1.2.3rc2` |
| `1.2.3rc2` | `{{version}}` | | `1.2.3rc2` |
| `p1/v1.2.3` | `{{version}}` | `v(\d.\d.\d)$` | `1.2.3` |
| `1.2.3rc2` | `{{major}}.{{minor}}` | | `1.2.3rc2`* |
| `1.2.3post1` | `{{major}}.{{minor}}` | | `1.2.3.post1`* |
| `1.2.3beta2` | `{{major}}.{{minor}}` | | `1.2.3b2`* |
| `1.0dev4` | `{{major}}.{{minor}}` | | `1.0.dev4`* |
> [!IMPORTANT]
> *dev/pre/post release will only extend `{{version}}` (or `{{raw}}` if
> specified) as tag because they are updated frequently, and contain many
> breaking changes that are (by the author's design) not yet fit for public
@@ -677,7 +727,26 @@ tags: |
type=sha,format=long
```
Output Git short commit (or long if specified) as Docker tag like `sha-ad132f5`.
Output Git short commit (or long if specified) as Docker tag like
`sha-860c190`.
By default, the length of the short commit SHA is `7` characters. You can
increase this length for larger repositories by setting the
[`DOCKER_METADATA_SHORT_SHA_LENGTH` environment variable](#environment-variables):
```yaml
-
name: Docker meta
id: meta
uses: docker/metadata-action@v6
with:
images: |
name/app
tags: |
type=sha
env:
DOCKER_METADATA_SHORT_SHA_LENGTH: 12
```
Extended attributes and default values:
@@ -711,6 +780,7 @@ generated by default (`auto` mode) for:
* [`type=ref,event=tag`](#typeref)
* [`type=semver,pattern=...`](#typesemver)
* [`type=pep440,pattern=...`](#typepep440)
* [`type=match,pattern=...`](#typematch)
For conditionally tagging with latest for a specific branch name, e.g. if your
@@ -752,7 +822,8 @@ Each tags `type` attribute has a default priority:
### Global expressions
The following [Handlebars' template](https://handlebarsjs.com/guide/) expressions
for `prefix`, `suffix`, `value` and `enable` attributes are available:
for `prefix`, `suffix`, `value` and `enable` attributes of `tags` input are
available:
```yaml
tags: |
@@ -762,6 +833,13 @@ tags: |
type=raw,value=mytag-{{branch}}-{{sha}}
```
They can also be applied to `labels` and `annotations` inputs:
```yaml
labels: |
org.opencontainers.image.created={{commit_date 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}
```
#### `{{branch}}`
Returns the branch name that triggered the workflow run. Will be empty if not
@@ -802,6 +880,7 @@ workflow run. Will be empty for a branch reference:
| `push` | `refs/heads/my/branch` | |
| `push tag`* | `refs/tags/v1.2.3` | `master` |
> [!IMPORTANT]
> *`base_ref` is available in the push payload but doesn't always seem to
> return the expected branch when the push tag event occurs. It's also
> [not documented in GitHub docs](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push).
@@ -813,6 +892,11 @@ workflow run. Will be empty for a branch reference:
Returns `true` if the branch that triggered the workflow run is the default
one, otherwise `false`.
#### `{{is_not_default_branch}}`
Returns `true` if the branch that triggered the workflow run is not the default
one, otherwise `false`.
#### `{{date '<format>' tz='<timezone>'}}`
Returns the current date rendered by its [moment format](https://momentjs.com/docs/#/displaying/format/).
@@ -824,6 +908,20 @@ Default `tz` is UTC.
| `{{date 'dddd, MMMM Do YYYY, h:mm:ss a'}}` | `Friday, January 10th 2020, 3:25:50 pm` |
| `{{date 'YYYYMMDD-HHmmss' tz='Asia/Tokyo'}}` | `20200110-093000` |
#### `{{commit_date '<format>' tz='<timezone>'}}`
Returns the date when the current git commit is committed, rendered by its
[moment format](https://momentjs.com/docs/#/displaying/format/). It falls back
to the current date if the commit date is not available.
Default `tz` is UTC.
| Expression | Output example |
|-----------------------------------------------------|-----------------------------------------|
| `{{commit_date 'YYYYMMDD'}}` | `20200110` |
| `{{commit_date 'dddd, MMMM Do YYYY, h:mm:ss a'}}` | `Friday, January 10th 2020, 3:25:50 pm` |
| `{{commit_date 'YYYYMMDD-HHmmss' tz='Asia/Tokyo'}}` | `20200110-093000` |
### Major version zero
Major version zero (`0.y.z`) is for initial development and **may** change at
@@ -851,13 +949,13 @@ that you can reuse them further in your workflow using the [`fromJSON` function]
```yaml
-
name: Docker meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v6
id: meta
with:
images: name/app
-
name: Build and push
uses: docker/build-push-action@v4
uses: docker/build-push-action@v7
with:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
@@ -867,16 +965,17 @@ that you can reuse them further in your workflow using the [`fromJSON` function]
REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
```
### Overwrite labels
### Overwrite labels and annotations
If some [OCI Image Format Specification](https://github.com/opencontainers/image-spec/blob/master/annotations.md)
labels generated are not suitable, you can overwrite them like this:
generated are not suitable as labels/annotations, you can overwrite them like
this:
```yaml
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v6
with:
images: name/app
labels: |
@@ -886,6 +985,78 @@ labels generated are not suitable, you can overwrite them like this:
org.opencontainers.image.vendor=MyCompany
```
### Annotations
Since Buildx 0.12, it is possible to set annotations to your image through the
`--annotation` flag.
With the [`build-push-action`](https://github.com/docker/build-push-action/),
you can set the `annotations` input with the value of the `annotations` output
of the `metadata-action`:
```yaml
-
name: Docker meta
uses: docker/metadata-action@v6
with:
images: name/app
-
name: Build and push
uses: docker/build-push-action@v7
with:
tags: ${{ steps.meta.outputs.tags }}
annotations: ${{ steps.meta.outputs.annotations }}
```
The same can be done with the [`bake-action`](https://github.com/docker/bake-action/):
```yaml
-
name: Docker meta
uses: docker/metadata-action@v6
with:
images: name/app
-
name: Build
uses: docker/bake-action@v7
with:
files: |
./docker-bake.hcl
cwd://${{ steps.meta.outputs.bake-file-tags }}
cwd://${{ steps.meta.outputs.bake-file-annotations }}
targets: build
```
Note that annotations can be attached at many different levels within a manifest.
By default, the generated annotations will be attached to image manifests,
but different registries may expect annotations at different places;
a common practice is to read annotations at _image indexes_ if present,
which are often used by multi-arch builds to index platform-specific images.
If you want to specify level(s) for your annotations, you can use the
[`DOCKER_METADATA_ANNOTATIONS_LEVELS` environment variable](#environment-variables)
with a comma separated list of all levels the annotations should be attached to (defaults to `manifest`).
The following configuration demonstrates the ability to attach annotations to both image manifests and image indexes,
though your registry may only need annotations at the index level. (That is, `index` alone may be enough.)
Please consult the documentation of your registry.
```yaml
-
name: Docker meta
uses: docker/metadata-action@v6
with:
images: name/app
env:
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
-
name: Build and push
uses: docker/build-push-action@v7
with:
tags: ${{ steps.meta.outputs.tags }}
annotations: ${{ steps.meta.outputs.annotations }}
```
More information about annotations in the [BuildKit documentation](https://github.com/moby/buildkit/blob/master/docs/annotations.md).
## Contributing
Want to contribute? Awesome! You can find information about contributing to
-300
View File
@@ -1,300 +0,0 @@
# Upgrade notes
## v2 to v3
* Repository has been moved to docker org. Replace `crazy-max/ghaction-docker-meta@v2`
with `docker/metadata-action@v4`
* The default bake target has been changed: `ghaction-docker-meta` > `docker-metadata-action`
## v1 to v2
* [inputs](#inputs)
* [`tag-sha`](#tag-sha)
* [`tag-edge` / `tag-edge-branch`](#tag-edge--tag-edge-branch)
* [`tag-semver`](#tag-semver)
* [`tag-match` / `tag-match-group`](#tag-match--tag-match-group)
* [`tag-latest`](#tag-latest)
* [`tag-schedule`](#tag-schedule)
* [`tag-custom` / `tag-custom-only`](#tag-custom--tag-custom-only)
* [`label-custom`](#label-custom)
* [Basic workflow](#basic-workflow)
* [Semver workflow](#semver-workflow)
### inputs
| New | Unchanged | Removed |
|------------|-----------------|--------------------|
| `tags` | `images` | `tag-sha` |
| `flavor` | `sep-tags` | `tag-edge` |
| `labels` | `sep-labels` | `tag-edge-branch` |
| | | `tag-semver` |
| | | `tag-match` |
| | | `tag-match-group` |
| | | `tag-latest` |
| | | `tag-schedule` |
| | | `tag-custom` |
| | | `tag-custom-only` |
| | | `label-custom` |
#### `tag-sha`
```yaml
tags: |
type=sha
```
#### `tag-edge` / `tag-edge-branch`
```yaml
tags: |
# default branch
type=edge
# specify branch
type=edge,branch=main
```
#### `tag-semver`
```yaml
tags: |
type=semver,pattern={{version}}
```
#### `tag-match` / `tag-match-group`
```yaml
tags: |
type=match,pattern=v(.*),group=1
```
#### `tag-latest`
`tag-latest` is now handled through the [`flavor` input](README.md#flavor-input):
```yaml
flavor: |
latest=auto
```
See also the notes about ["latest tag" behavior](README.md#latest-tag)
#### `tag-schedule`
```yaml
tags: |
# default tag (nightly)
type=schedule
# specific pattern
type=schedule,pattern={{date 'YYYYMMDD'}}
```
#### `tag-custom` / `tag-custom-only`
```yaml
tags: |
type=raw,value=foo
type=raw,value=bar
# or
type=raw,foo
type=raw,bar
# or
foo
bar
```
#### `label-custom`
Same behavior for `labels`:
```yaml
labels: |
maintainer=CrazyMax
```
### Basic workflow
```yaml
# v1
name: ci
on:
push:
branches:
- 'master'
tags:
- 'v*'
pull_request:
branches:
- 'master'
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v1
with:
images: name/app
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v4
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
```
```yaml
# v2
name: ci
on:
push:
branches:
- 'master'
tags:
- 'v*'
pull_request:
branches:
- 'master'
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: name/app
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v4
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
```
### Semver workflow
```yaml
# v1
name: ci
on:
push:
branches:
- 'master'
tags:
- 'v*'
pull_request:
branches:
- 'master'
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v1
with:
images: name/app
tag-semver: |
{{version}}
{{major}}.{{minor}}
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v4
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
```
```yaml
# v2
name: ci
on:
push:
branches:
- 'master'
tags:
- 'v*'
pull_request:
branches:
- 'master'
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: name/app
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v4
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
```
-207
View File
@@ -1,207 +0,0 @@
import {jest} from '@jest/globals';
export const context = {
repo: {
owner: 'docker',
repo: 'actions-toolkit'
},
ref: 'refs/heads/master',
runId: 123,
payload: {
after: '860c1904a1ce19322e91ac35af1ab07466440c37',
base_ref: null,
before: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
commits: [
{
author: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
committer: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
distinct: true,
id: '860c1904a1ce19322e91ac35af1ab07466440c37',
message: 'hello dev',
timestamp: '2022-04-19T11:27:24+02:00',
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
url: 'https://github.com/docker/test-docker-action/commit/860c1904a1ce19322e91ac35af1ab07466440c37'
}
],
compare: 'https://github.com/docker/test-docker-action/compare/5f3331d7f704...860c1904a1ce',
created: false,
deleted: false,
forced: false,
head_commit: {
author: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
committer: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
distinct: true,
id: '860c1904a1ce19322e91ac35af1ab07466440c37',
message: 'hello dev',
timestamp: '2022-04-19T11:27:24+02:00',
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
url: 'https://github.com/docker/test-docker-action/commit/860c1904a1ce19322e91ac35af1ab07466440c37'
},
organization: {
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
description: 'Docker helps developers bring their ideas to life by conquering the complexity of app development.',
events_url: 'https://api.github.com/orgs/docker/events',
hooks_url: 'https://api.github.com/orgs/docker/hooks',
id: 5429470,
issues_url: 'https://api.github.com/orgs/docker/issues',
login: 'docker',
members_url: 'https://api.github.com/orgs/docker/members{/member}',
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
public_members_url: 'https://api.github.com/orgs/docker/public_members{/member}',
repos_url: 'https://api.github.com/orgs/docker/repos',
url: 'https://api.github.com/orgs/docker'
},
pusher: {
email: 'github@crazymax.dev',
name: 'crazy-max'
},
ref: 'refs/heads/dev',
repository: {
allow_forking: true,
archive_url: 'https://api.github.com/repos/docker/test-docker-action/{archive_format}{/ref}',
archived: false,
assignees_url: 'https://api.github.com/repos/docker/test-docker-action/assignees{/user}',
blobs_url: 'https://api.github.com/repos/docker/test-docker-action/git/blobs{/sha}',
branches_url: 'https://api.github.com/repos/docker/test-docker-action/branches{/branch}',
clone_url: 'https://github.com/docker/test-docker-action.git',
collaborators_url: 'https://api.github.com/repos/docker/test-docker-action/collaborators{/collaborator}',
comments_url: 'https://api.github.com/repos/docker/test-docker-action/comments{/number}',
commits_url: 'https://api.github.com/repos/docker/test-docker-action/commits{/sha}',
compare_url: 'https://api.github.com/repos/docker/test-docker-action/compare/{base}...{head}',
contents_url: 'https://api.github.com/repos/docker/test-docker-action/contents/{+path}',
contributors_url: 'https://api.github.com/repos/docker/test-docker-action/contributors',
created_at: 1596792180,
default_branch: 'master',
deployments_url: 'https://api.github.com/repos/docker/test-docker-action/deployments',
description: 'Test "Docker" Actions',
disabled: false,
downloads_url: 'https://api.github.com/repos/docker/test-docker-action/downloads',
events_url: 'https://api.github.com/repos/docker/test-docker-action/events',
fork: false,
forks: 1,
forks_count: 1,
forks_url: 'https://api.github.com/repos/docker/test-docker-action/forks',
full_name: 'docker/test-docker-action',
git_commits_url: 'https://api.github.com/repos/docker/test-docker-action/git/commits{/sha}',
git_refs_url: 'https://api.github.com/repos/docker/test-docker-action/git/refs{/sha}',
git_tags_url: 'https://api.github.com/repos/docker/test-docker-action/git/tags{/sha}',
git_url: 'git://github.com/docker/test-docker-action.git',
has_downloads: true,
has_issues: true,
has_pages: false,
has_projects: true,
has_wiki: true,
homepage: '',
hooks_url: 'https://api.github.com/repos/docker/test-docker-action/hooks',
html_url: 'https://github.com/docker/test-docker-action',
id: 285789493,
is_template: false,
issue_comment_url: 'https://api.github.com/repos/docker/test-docker-action/issues/comments{/number}',
issue_events_url: 'https://api.github.com/repos/docker/test-docker-action/issues/events{/number}',
issues_url: 'https://api.github.com/repos/docker/test-docker-action/issues{/number}',
keys_url: 'https://api.github.com/repos/docker/test-docker-action/keys{/key_id}',
labels_url: 'https://api.github.com/repos/docker/test-docker-action/labels{/name}',
language: 'JavaScript',
languages_url: 'https://api.github.com/repos/docker/test-docker-action/languages',
license: {
key: 'mit',
name: 'MIT License',
node_id: 'MDc6TGljZW5zZTEz',
spdx_id: 'MIT',
url: 'https://api.github.com/licenses/mit'
},
master_branch: 'master',
merges_url: 'https://api.github.com/repos/docker/test-docker-action/merges',
milestones_url: 'https://api.github.com/repos/docker/test-docker-action/milestones{/number}',
mirror_url: null,
name: 'test-docker-action',
node_id: 'MDEwOlJlcG9zaXRvcnkyODU3ODk0OTM=',
notifications_url: 'https://api.github.com/repos/docker/test-docker-action/notifications{?since,all,participating}',
open_issues: 6,
open_issues_count: 6,
organization: 'docker',
owner: {
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
email: 'info@docker.com',
events_url: 'https://api.github.com/users/docker/events{/privacy}',
followers_url: 'https://api.github.com/users/docker/followers',
following_url: 'https://api.github.com/users/docker/following{/other_user}',
gists_url: 'https://api.github.com/users/docker/gists{/gist_id}',
gravatar_id: '',
html_url: 'https://github.com/docker',
id: 5429470,
login: 'docker',
name: 'docker',
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
organizations_url: 'https://api.github.com/users/docker/orgs',
received_events_url: 'https://api.github.com/users/docker/received_events',
repos_url: 'https://api.github.com/users/docker/repos',
site_admin: false,
starred_url: 'https://api.github.com/users/docker/starred{/owner}{/repo}',
subscriptions_url: 'https://api.github.com/users/docker/subscriptions',
type: 'Organization',
url: 'https://api.github.com/users/docker'
},
private: true,
pulls_url: 'https://api.github.com/repos/docker/test-docker-action/pulls{/number}',
pushed_at: 1650360446,
releases_url: 'https://api.github.com/repos/docker/test-docker-action/releases{/id}',
size: 796,
ssh_url: 'git@github.com:docker/test-docker-action.git',
stargazers: 0,
stargazers_count: 0,
stargazers_url: 'https://api.github.com/repos/docker/test-docker-action/stargazers',
statuses_url: 'https://api.github.com/repos/docker/test-docker-action/statuses/{sha}',
subscribers_url: 'https://api.github.com/repos/docker/test-docker-action/subscribers',
subscription_url: 'https://api.github.com/repos/docker/test-docker-action/subscription',
svn_url: 'https://github.com/docker/test-docker-action',
tags_url: 'https://api.github.com/repos/docker/test-docker-action/tags',
teams_url: 'https://api.github.com/repos/docker/test-docker-action/teams',
topics: [],
trees_url: 'https://api.github.com/repos/docker/test-docker-action/git/trees{/sha}',
updated_at: '2022-04-19T09:05:09Z',
url: 'https://github.com/docker/test-docker-action',
visibility: 'private',
watchers: 0,
watchers_count: 0
},
sender: {
avatar_url: 'https://avatars.githubusercontent.com/u/1951866?v=4',
events_url: 'https://api.github.com/users/crazy-max/events{/privacy}',
followers_url: 'https://api.github.com/users/crazy-max/followers',
following_url: 'https://api.github.com/users/crazy-max/following{/other_user}',
gists_url: 'https://api.github.com/users/crazy-max/gists{/gist_id}',
gravatar_id: '',
html_url: 'https://github.com/crazy-max',
id: 1951866,
login: 'crazy-max',
node_id: 'MDQ6VXNlcjE5NTE4NjY=',
organizations_url: 'https://api.github.com/users/crazy-max/orgs',
received_events_url: 'https://api.github.com/users/crazy-max/received_events',
repos_url: 'https://api.github.com/users/crazy-max/repos',
site_admin: false,
starred_url: 'https://api.github.com/users/crazy-max/starred{/owner}{/repo}',
subscriptions_url: 'https://api.github.com/users/crazy-max/subscriptions',
type: 'User',
url: 'https://api.github.com/users/crazy-max'
}
}
};
export const getOctokit = jest.fn();
+180 -49
View File
@@ -1,19 +1,16 @@
import {afterEach, beforeEach, describe, expect, test, it, jest} from '@jest/globals';
import * as dotenv from 'dotenv';
import * as fs from 'fs';
import * as path from 'path';
import {Context} from '@actions/github/lib/context';
import {Git} from '@docker/actions-toolkit/lib/git';
import {GitHub} from '@docker/actions-toolkit/lib/github';
import {afterEach, beforeEach, describe, expect, test, it, vi} from 'vitest';
import {execFileSync} from 'child_process';
import fs from 'fs';
import path from 'path';
import {ContextSource, getContext, getInputs, Inputs} from '../src/context';
import {Git} from '@docker/actions-toolkit/lib/git.js';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
beforeEach(() => {
jest.clearAllMocks();
jest.spyOn(GitHub, 'context', 'get').mockImplementation((): Context => {
return new Context();
});
});
import * as context from '../src/context.js';
import {Meta} from '../src/meta.js';
import repoFixture from './fixtures/repo.json' with {type: 'json'};
const toolkit = new Toolkit({githubToken: 'fake-github-token'});
describe('getInputs', () => {
beforeEach(() => {
@@ -25,24 +22,31 @@ describe('getInputs', () => {
}, {});
});
it('reads a Git context with a path', () => {
setInput('context', 'git:nested checkout');
expect(context.getInputs().context).toEqual('git:nested checkout');
});
// prettier-ignore
test.each([
const cases: [number, Map<string, string>, context.Inputs][] = [
[
0,
new Map<string, string>([
['images', 'moby/buildkit\nghcr.io/moby/mbuildkit'],
]),
{
context: ContextSource.workflow,
context: context.ContextSource.workflow,
bakeTarget: 'docker-metadata-action',
flavor: [],
githubToken: '',
images: ['moby/buildkit', 'ghcr.io/moby/mbuildkit'],
labels: [],
annotations: [],
sepLabels: '\n',
sepTags: '\n',
sepAnnotations: '\n',
tags: [],
} as Inputs
}
],
[
1,
@@ -51,59 +55,186 @@ describe('getInputs', () => {
['images', 'moby/buildkit'],
['sep-labels', ','],
['sep-tags', ','],
['sep-annotations', ',']
]),
{
context: ContextSource.workflow,
context: context.ContextSource.workflow,
bakeTarget: 'metadata',
flavor: [],
githubToken: '',
images: ['moby/buildkit'],
labels: [],
annotations: [],
sepLabels: ',',
sepTags: ',',
sepAnnotations: ',',
tags: [],
} as Inputs
]
])(
'[%d] given %p as inputs, returns %p',
async (num: number, inputs: Map<string, string>, expected: Inputs) => {
inputs.forEach((value: string, name: string) => {
setInput(name, value);
});
expect(await getInputs()).toEqual(expected);
}
);
}
],
[
2,
new Map<string, string>([
['images', 'moby/buildkit\n#comment\nghcr.io/moby/mbuildkit'],
]),
{
context: context.ContextSource.workflow,
bakeTarget: 'docker-metadata-action',
flavor: [],
githubToken: '',
images: ['moby/buildkit', 'ghcr.io/moby/mbuildkit'],
labels: [],
annotations: [],
sepLabels: '\n',
sepTags: '\n',
sepAnnotations: '\n',
tags: [],
}
],
[
3,
new Map<string, string>([
['labels', 'mylabel=foo#bar\n#comment\nanother=bar'],
]),
{
context: context.ContextSource.workflow,
bakeTarget: 'docker-metadata-action',
flavor: [],
githubToken: '',
images: [],
labels: ['mylabel=foo#bar', 'another=bar'],
annotations: [],
sepLabels: '\n',
sepTags: '\n',
sepAnnotations: '\n',
tags: [],
}
],
[
4,
new Map<string, string>([
['annotations', 'org.opencontainers.image.url=https://example.com/path#readme\n#comment\norg.opencontainers.image.source=https://github.com/docker/metadata-action'],
]),
{
context: context.ContextSource.workflow,
bakeTarget: 'docker-metadata-action',
flavor: [],
githubToken: '',
images: [],
labels: [],
annotations: [
'org.opencontainers.image.url=https://example.com/path#readme',
'org.opencontainers.image.source=https://github.com/docker/metadata-action'
],
sepLabels: '\n',
sepTags: '\n',
sepAnnotations: '\n',
tags: [],
}
],
[
5,
new Map<string, string>([
['tags', 'type=raw,value=foo#bar\n#comment'],
['flavor', 'prefix=v#1\n#comment'],
]),
{
context: context.ContextSource.workflow,
bakeTarget: 'docker-metadata-action',
flavor: ['prefix=v#1'],
githubToken: '',
images: [],
labels: [],
annotations: [],
sepLabels: '\n',
sepTags: '\n',
sepAnnotations: '\n',
tags: ['type=raw,value=foo#bar'],
}
],
];
test.each(cases)('[%d] given %o as inputs, returns %o', async (num: number, inputs: Map<string, string>, expected: context.Inputs) => {
inputs.forEach((value: string, name: string) => {
setInput(name, value);
});
const res = await context.getInputs();
expect(res).toEqual(expected);
});
});
describe('getContext', () => {
const originalEnv = process.env;
beforeEach(() => {
jest.resetModules();
process.env = {
...originalEnv,
...dotenv.parse(fs.readFileSync(path.join(__dirname, 'fixtures/event_create_branch.env')))
};
});
afterEach(() => {
process.env = originalEnv;
vi.restoreAllMocks();
});
it('workflow', async () => {
const context = await getContext(ContextSource.workflow);
expect(context.ref).toEqual('refs/heads/dev');
expect(context.sha).toEqual('5f3331d7f7044c18ca9f12c77d961c4d7cf3276a');
it('workflow does not read Git context', async () => {
const gitContext = vi.spyOn(Git, 'context');
const gitCommitDate = vi.spyOn(Git, 'commitDate');
const ctx = await context.getContext(context.ContextSource.workflow, toolkit);
expect(ctx.ref).toEqual('refs/heads/dev');
expect(ctx.sha).toEqual('5f3331d7f7044c18ca9f12c77d961c4d7cf3276a');
expect(ctx.commitDate).toEqual(new Date('2024-11-13T13:42:28.000Z'));
expect(gitContext).not.toHaveBeenCalled();
expect(gitCommitDate).not.toHaveBeenCalled();
});
it('git', async () => {
jest.spyOn(Git, 'context').mockImplementation((): Promise<Context> => {
it.each<[string, string | undefined]>([
['git', undefined],
['git:', ''],
['git:source', 'source'],
['git:C:\\nested checkout', 'C:\\nested checkout']
])('reads %s', async (source, workdir) => {
vi.spyOn(Git, 'context').mockImplementation((): Promise<context.Context> => {
return Promise.resolve({
ref: 'refs/heads/git-test',
sha: 'git-test-sha'
} as Context);
} as context.Context);
});
const context = await getContext(ContextSource.git);
expect(context.ref).toEqual('refs/heads/git-test');
expect(context.sha).toEqual('git-test-sha');
vi.spyOn(Git, 'commitDate').mockImplementation(async (): Promise<Date> => {
return new Date('2023-01-01T13:42:28.000Z');
});
const ctx = await context.getContext(source, toolkit);
expect(Git.context).toHaveBeenCalledWith(workdir);
expect(Git.commitDate).toHaveBeenCalledWith('git-test-sha', workdir);
expect(ctx.ref).toEqual('refs/heads/git-test');
expect(ctx.sha).toEqual('git-test-sha');
expect(ctx.commitDate).toEqual(new Date('2023-01-01T13:42:28.000Z'));
});
it.each(['workflow:source', 'gitfoo:source', 'invalid'])('rejects invalid context %s', async source => {
await expect(context.getContext(source, toolkit)).rejects.toThrow(`Invalid context source: ${source}`);
});
it.each(['relative', 'absolute'])('reads a selected checkout using a %s path', async pathType => {
const checkoutDir = fs.mkdtempSync(path.join(process.cwd(), 'git context-'));
const workdir = pathType === 'relative' ? path.relative(process.cwd(), checkoutDir) : checkoutDir;
const commitDate = '2024-01-02T03:04:05Z';
const git = (args: string[]) =>
execFileSync('git', args, {
cwd: checkoutDir,
encoding: 'utf8',
stdio: 'pipe',
env: {...process.env, GIT_AUTHOR_DATE: commitDate, GIT_COMMITTER_DATE: commitDate}
}).trim();
try {
git(['init', '--initial-branch=selected-checkout']);
git(['-c', 'user.name=Test', '-c', 'user.email=test@example.com', '-c', 'commit.gpgsign=false', 'commit', '--allow-empty', '-m', 'initial']);
const sha = git(['rev-parse', 'HEAD']);
const ctx = await context.getContext(`git:${workdir}`, toolkit);
expect(ctx.ref).toEqual('refs/heads/selected-checkout');
expect(ctx.sha).toEqual(sha);
expect(ctx.commitDate).toEqual(new Date(commitDate));
git(['checkout', '--detach', 'HEAD']);
git(['branch', '-D', 'selected-checkout']);
const detachedContext = await context.getContext(`git:${workdir}`, toolkit);
expect(detachedContext.ref).toEqual('');
expect(detachedContext.sha).toEqual(sha);
expect(detachedContext.commitDate).toEqual(new Date(commitDate));
const meta = new Meta({...context.getInputs(), images: ['name/app'], tags: ['type=sha,format=long'], flavor: []}, detachedContext, repoFixture);
expect(meta.getTags()).toEqual([`name/app:sha-${sha}`]);
} finally {
fs.rmSync(checkoutDir, {recursive: true, force: true});
}
});
});
+12
View File
@@ -72,11 +72,14 @@
"homepage": "https://github.com",
"language": null,
"forks_count": 9,
"forks": 9,
"stargazers_count": 80,
"watchers_count": 80,
"watchers": 80,
"size": 108,
"default_branch": "master",
"open_issues_count": 0,
"open_issues": 0,
"is_template": true,
"topics": [
"octocat",
@@ -85,6 +88,7 @@
"api"
],
"has_issues": true,
"has_discussions": false,
"has_projects": true,
"has_wiki": true,
"has_pages": false,
@@ -211,11 +215,15 @@
"homepage": "https://github.com",
"language": null,
"forks_count": 9,
"forks": 9,
"license": null,
"stargazers_count": 80,
"watchers_count": 80,
"watchers": 80,
"size": 108,
"default_branch": "master",
"open_issues_count": 0,
"open_issues": 0,
"is_template": true,
"topics": [
"octocat",
@@ -322,11 +330,15 @@
"homepage": "https://github.com",
"language": null,
"forks_count": 9,
"forks": 9,
"license": null,
"stargazers_count": 80,
"watchers_count": 80,
"watchers": 80,
"size": 108,
"default_branch": "master",
"open_issues_count": 0,
"open_issues": 0,
"is_template": true,
"topics": [
"octocat",
+3 -3
View File
@@ -1,6 +1,6 @@
import {describe, expect, test} from '@jest/globals';
import {describe, expect, test} from 'vitest';
import {Flavor, Transform} from '../src/flavor';
import {Flavor, Transform} from '../src/flavor.js';
describe('transform', () => {
// prettier-ignore
@@ -175,7 +175,7 @@ describe('transform', () => {
if (!invalid) {
console.error(err);
}
// eslint-disable-next-line jest/no-conditional-expect
// eslint-disable-next-line vitest/no-conditional-expect
expect(true).toBe(invalid);
}
});
+3 -3
View File
@@ -1,6 +1,6 @@
import {describe, expect, test} from '@jest/globals';
import {describe, expect, test} from 'vitest';
import {Transform, Image} from '../src/image';
import {Transform, Image} from '../src/image.js';
describe('transform', () => {
// prettier-ignore
@@ -95,7 +95,7 @@ describe('transform', () => {
if (!invalid) {
console.error(err);
}
// eslint-disable-next-line jest/no-conditional-expect
// eslint-disable-next-line vitest/no-conditional-expect
expect(true).toBe(invalid);
}
});
+1755 -915
View File
File diff suppressed because it is too large. Load diff
+252
View File
@@ -0,0 +1,252 @@
import fs from 'node:fs';
import os from 'node:os';
import path from 'node:path';
import {vi} from 'vitest';
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-metadata-action-'));
const githubPayload = {
after: '860c1904a1ce19322e91ac35af1ab07466440c37',
base_ref: null,
before: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
commits: [
{
author: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
committer: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
distinct: true,
id: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
message: 'hello dev',
timestamp: '2024-11-13T13:42:28Z',
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
url: 'https://github.com/docker/test-docker-action/commit/5f3331d7f7044c18ca9f12c77d961c4d7cf3276a'
}
],
compare: 'https://github.com/docker/test-docker-action/compare/5f3331d7f704...860c1904a1ce',
created: false,
deleted: false,
forced: false,
head_commit: {
author: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
committer: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
distinct: true,
id: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
message: 'hello dev',
timestamp: '2024-11-13T13:42:28Z',
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
url: 'https://github.com/docker/test-docker-action/commit/5f3331d7f7044c18ca9f12c77d961c4d7cf3276a'
},
organization: {
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
description: 'Docker helps developers bring their ideas to life by conquering the complexity of app development.',
events_url: 'https://api.github.com/orgs/docker/events',
hooks_url: 'https://api.github.com/orgs/docker/hooks',
id: 5429470,
issues_url: 'https://api.github.com/orgs/docker/issues',
login: 'docker',
members_url: 'https://api.github.com/orgs/docker/members{/member}',
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
public_members_url: 'https://api.github.com/orgs/docker/public_members{/member}',
repos_url: 'https://api.github.com/orgs/docker/repos',
url: 'https://api.github.com/orgs/docker'
},
pusher: {
email: 'github@crazymax.dev',
name: 'crazy-max'
},
ref: 'refs/heads/dev',
repository: {
allow_forking: true,
archive_url: 'https://api.github.com/repos/docker/test-docker-action/{archive_format}{/ref}',
archived: false,
assignees_url: 'https://api.github.com/repos/docker/test-docker-action/assignees{/user}',
blobs_url: 'https://api.github.com/repos/docker/test-docker-action/git/blobs{/sha}',
branches_url: 'https://api.github.com/repos/docker/test-docker-action/branches{/branch}',
clone_url: 'https://github.com/docker/test-docker-action.git',
collaborators_url: 'https://api.github.com/repos/docker/test-docker-action/collaborators{/collaborator}',
comments_url: 'https://api.github.com/repos/docker/test-docker-action/comments{/number}',
commits_url: 'https://api.github.com/repos/docker/test-docker-action/commits{/sha}',
compare_url: 'https://api.github.com/repos/docker/test-docker-action/compare/{base}...{head}',
contents_url: 'https://api.github.com/repos/docker/test-docker-action/contents/{+path}',
contributors_url: 'https://api.github.com/repos/docker/test-docker-action/contributors',
created_at: 1596792180,
default_branch: 'master',
deployments_url: 'https://api.github.com/repos/docker/test-docker-action/deployments',
description: 'Test "Docker" Actions',
disabled: false,
downloads_url: 'https://api.github.com/repos/docker/test-docker-action/downloads',
events_url: 'https://api.github.com/repos/docker/test-docker-action/events',
fork: false,
forks: 1,
forks_count: 1,
forks_url: 'https://api.github.com/repos/docker/test-docker-action/forks',
full_name: 'docker/test-docker-action',
git_commits_url: 'https://api.github.com/repos/docker/test-docker-action/git/commits{/sha}',
git_refs_url: 'https://api.github.com/repos/docker/test-docker-action/git/refs{/sha}',
git_tags_url: 'https://api.github.com/repos/docker/test-docker-action/git/tags{/sha}',
git_url: 'git://github.com/docker/test-docker-action.git',
has_downloads: true,
has_issues: true,
has_pages: false,
has_projects: true,
has_wiki: true,
homepage: '',
hooks_url: 'https://api.github.com/repos/docker/test-docker-action/hooks',
html_url: 'https://github.com/docker/test-docker-action',
id: 285789493,
is_template: false,
issue_comment_url: 'https://api.github.com/repos/docker/test-docker-action/issues/comments{/number}',
issue_events_url: 'https://api.github.com/repos/docker/test-docker-action/issues/events{/number}',
issues_url: 'https://api.github.com/repos/docker/test-docker-action/issues{/number}',
keys_url: 'https://api.github.com/repos/docker/test-docker-action/keys{/key_id}',
labels_url: 'https://api.github.com/repos/docker/test-docker-action/labels{/name}',
language: 'JavaScript',
languages_url: 'https://api.github.com/repos/docker/test-docker-action/languages',
license: {
key: 'mit',
name: 'MIT License',
node_id: 'MDc6TGljZW5zZTEz',
spdx_id: 'MIT',
url: 'https://api.github.com/licenses/mit'
},
master_branch: 'master',
merges_url: 'https://api.github.com/repos/docker/test-docker-action/merges',
milestones_url: 'https://api.github.com/repos/docker/test-docker-action/milestones{/number}',
mirror_url: null,
name: 'test-docker-action',
node_id: 'MDEwOlJlcG9zaXRvcnkyODU3ODk0OTM=',
notifications_url: 'https://api.github.com/repos/docker/test-docker-action/notifications{?since,all,participating}',
open_issues: 6,
open_issues_count: 6,
organization: 'docker',
owner: {
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
email: 'info@docker.com',
events_url: 'https://api.github.com/users/docker/events{/privacy}',
followers_url: 'https://api.github.com/users/docker/followers',
following_url: 'https://api.github.com/users/docker/following{/other_user}',
gists_url: 'https://api.github.com/users/docker/gists{/gist_id}',
gravatar_id: '',
html_url: 'https://github.com/docker',
id: 5429470,
login: 'docker',
name: 'docker',
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
organizations_url: 'https://api.github.com/users/docker/orgs',
received_events_url: 'https://api.github.com/users/docker/received_events',
repos_url: 'https://api.github.com/users/docker/repos',
site_admin: false,
starred_url: 'https://api.github.com/users/docker/starred{/owner}{/repo}',
subscriptions_url: 'https://api.github.com/users/docker/subscriptions',
type: 'Organization',
url: 'https://api.github.com/users/docker'
},
private: true,
pulls_url: 'https://api.github.com/repos/docker/test-docker-action/pulls{/number}',
pushed_at: 1650360446,
releases_url: 'https://api.github.com/repos/docker/test-docker-action/releases{/id}',
size: 796,
ssh_url: 'git@github.com:docker/test-docker-action.git',
stargazers: 0,
stargazers_count: 0,
stargazers_url: 'https://api.github.com/repos/docker/test-docker-action/stargazers',
statuses_url: 'https://api.github.com/repos/docker/test-docker-action/statuses/{sha}',
subscribers_url: 'https://api.github.com/repos/docker/test-docker-action/subscribers',
subscription_url: 'https://api.github.com/repos/docker/test-docker-action/subscription',
svn_url: 'https://github.com/docker/test-docker-action',
tags_url: 'https://api.github.com/repos/docker/test-docker-action/tags',
teams_url: 'https://api.github.com/repos/docker/test-docker-action/teams',
topics: [],
trees_url: 'https://api.github.com/repos/docker/test-docker-action/git/trees{/sha}',
updated_at: '2022-04-19T09:05:09Z',
url: 'https://github.com/docker/test-docker-action',
visibility: 'private',
watchers: 0,
watchers_count: 0
},
sender: {
avatar_url: 'https://avatars.githubusercontent.com/u/1951866?v=4',
events_url: 'https://api.github.com/users/crazy-max/events{/privacy}',
followers_url: 'https://api.github.com/users/crazy-max/followers',
following_url: 'https://api.github.com/users/crazy-max/following{/other_user}',
gists_url: 'https://api.github.com/users/crazy-max/gists{/gist_id}',
gravatar_id: '',
html_url: 'https://github.com/crazy-max',
id: 1951866,
login: 'crazy-max',
node_id: 'MDQ6VXNlcjE5NTE4NjY=',
organizations_url: 'https://api.github.com/users/crazy-max/orgs',
received_events_url: 'https://api.github.com/users/crazy-max/received_events',
repos_url: 'https://api.github.com/users/crazy-max/repos',
site_admin: false,
starred_url: 'https://api.github.com/users/crazy-max/starred{/owner}{/repo}',
subscriptions_url: 'https://api.github.com/users/crazy-max/subscriptions',
type: 'User',
url: 'https://api.github.com/users/crazy-max'
}
};
const githubEventPath = path.join(tmpDir, 'github-event.json');
fs.writeFileSync(githubEventPath, JSON.stringify(githubPayload));
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
GITHUB_REPOSITORY: 'docker/metadata-action',
GITHUB_REF: 'refs/heads/dev',
GITHUB_RUN_ID: '2188748038',
GITHUB_RUN_ATTEMPT: '1',
GITHUB_RUN_NUMBER: '15',
GITHUB_SHA: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
GITHUB_EVENT_PATH: githubEventPath,
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
});
const getCommitMock = vi.hoisted(() =>
vi.fn(async () => ({
data: {
commit: {
committer: {
date: '2024-11-13T13:42:28Z'
}
}
}
}))
);
const getOctokitMock = vi.hoisted(() =>
vi.fn(() => ({
rest: {
repos: {
getCommit: getCommitMock
}
}
}))
);
vi.mock('@actions/github', async importOriginal => {
const actual = await importOriginal<typeof import('@actions/github')>();
return {
...actual,
context: {
...actual.context,
payload: githubPayload
},
getOctokit: getOctokitMock
};
});
+26 -8
View File
@@ -1,6 +1,6 @@
import {describe, expect, test} from '@jest/globals';
import {describe, expect, test} from 'vitest';
import {Transform, Parse, Tag, Type, RefEvent, ShaFormat, DefaultPriorities} from '../src/tag';
import {Transform, Parse, Tag, Type, RefEvent, ShaFormat, DefaultPriorities} from '../src/tag.js';
describe('transform', () => {
// prettier-ignore
@@ -32,7 +32,8 @@ describe('transform', () => {
"priority": DefaultPriorities[Type.Semver],
"enable": "true",
"pattern": "{{version}}",
"value": ""
"value": "",
"match": ""
}
},
{
@@ -106,7 +107,7 @@ describe('transform', () => {
if (!invalid) {
console.error(err);
}
// eslint-disable-next-line jest/no-conditional-expect
// eslint-disable-next-line vitest/no-conditional-expect
expect(true).toBe(invalid);
}
});
@@ -147,7 +148,8 @@ describe('parse', () => {
"priority": DefaultPriorities[Type.Semver],
"enable": "true",
"pattern": "{{version}}",
"value": ""
"value": "",
"match": ""
}
} as Tag,
false
@@ -160,7 +162,8 @@ describe('parse', () => {
"priority": "1",
"enable": "true",
"pattern": "{{version}}",
"value": ""
"value": "",
"match": ""
}
} as Tag,
false
@@ -173,7 +176,22 @@ describe('parse', () => {
"priority": "1",
"enable": "true",
"pattern": "{{version}}",
"value": "v1.0.0"
"value": "v1.0.0",
"match": ""
}
} as Tag,
false
],
[
`type=semver,priority=1,enable=true,pattern={{version}},value=p1/v1.0.0,"match=v(\\d.\\d.\\d)$"`,
{
type: Type.Semver,
attrs: {
"priority": "1",
"enable": "true",
"pattern": "{{version}}",
"value": "p1/v1.0.0",
"match": "v(\\d.\\d.\\d)$"
}
} as Tag,
false
@@ -443,7 +461,7 @@ describe('parse', () => {
if (!invalid) {
console.error(err);
}
// eslint-disable-next-line jest/no-conditional-expect
// eslint-disable-next-line vitest/no-conditional-expect
expect(true).toBe(invalid);
}
});
+22 -6
View File
@@ -8,12 +8,12 @@ branding:
inputs:
context:
description: 'Where to get context data. Allowed options are "workflow" (default), "git".'
description: 'Where to get context data. Allowed options are "workflow" (default), "git", "git:<path>".'
default: "workflow"
required: true
images:
description: 'List of Docker images to use as base name for tags'
required: true
required: false
tags:
description: 'List of tags as key-value pair attributes'
required: false
@@ -23,12 +23,18 @@ inputs:
labels:
description: 'List of custom labels'
required: false
annotations:
description: 'List of custom annotations'
required: false
sep-tags:
description: 'Separator to use for tags output (default \n)'
required: false
sep-labels:
description: 'Separator to use for labels output (default \n)'
required: false
sep-annotations:
description: 'Separator to use for annotations output (default \n)'
required: false
bake-target:
description: 'Bake target name (default docker-metadata-action)'
required: false
@@ -42,13 +48,23 @@ outputs:
description: 'Generated Docker image version'
tags:
description: 'Generated Docker tags'
tag-names:
description: 'Generated Docker tag names without image base name'
labels:
description: 'Generated Docker labels'
bake-file:
description: 'Bake definiton file'
annotations:
description: 'Generated annotations'
json:
description: 'JSON output of tags and labels'
bake-file-tags:
description: 'Bake definition file with tags'
bake-file-labels:
description: 'Bake definition file with labels'
bake-file-annotations:
description: 'Bake definition file with annotations'
bake-file:
description: 'Bake definition file with tags and labels'
runs:
using: 'node16'
main: 'dist/index.js'
using: 'node24'
main: 'dist/index.cjs'
+31 -13
View File
@@ -1,15 +1,23 @@
# syntax=docker/dockerfile:1
ARG NODE_VERSION=16
ARG NODE_VERSION=24
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git
RUN apk add --no-cache cpio findutils git rsync
WORKDIR /src
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache <<EOT
set -e
corepack enable
yarn --version
yarn config set --home enableTelemetry 0
EOT
FROM base AS deps
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn install && mkdir /vendor && cp yarn.lock /vendor
yarn install --immutable && mkdir /vendor && cp yarn.lock /vendor
FROM scratch AS vendor-update
COPY --from=deps /vendor /
@@ -20,24 +28,34 @@ RUN --mount=type=bind,target=.,rw <<EOT
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"'
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
git status --porcelain -- yarn.lock
exit 1
fi
EOT
FROM deps AS build
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/node_modules \
yarn run build && mkdir /out && cp -Rf dist /out/
RUN --mount=target=/context \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules <<EOT
set -e
rsync -a /context/. .
rm -rf dist
yarn run build
mkdir /out
cp -r dist /out
EOT
FROM scratch AS build-update
COPY --from=build /out /
FROM build AS build-validate
RUN --mount=type=bind,target=.,rw <<EOT
RUN --mount=target=/context \
--mount=target=.,type=tmpfs <<EOT
set -e
rsync -a /context/. .
git add -A
rm -rf dist
cp -rf /out/* .
if [ -n "$(git status --porcelain -- dist)" ]; then
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
@@ -48,24 +66,24 @@ EOT
FROM deps AS format
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run format \
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' | cpio -pdm /out
yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
FROM scratch AS format-update
COPY --from=format /out /
FROM deps AS lint
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run lint
FROM deps AS test
ENV RUNNER_TEMP=/tmp/github_runner
ENV RUNNER_TOOL_CACHE=/tmp/github_tool_cache
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run test --coverageDirectory=/tmp/coverage
yarn run test --coverage --coverage.reportsDirectory=/tmp/coverage
FROM scratch AS test-coverage
COPY --from=test /tmp/coverage /
Generated Vendored
+313
View File
@@ -0,0 +1,313 @@
var WIe=Object.create;var Az=Object.defineProperty;var xIe=Object.getOwnPropertyDescriptor;var TIe=Object.getOwnPropertyNames;var vIe=Object.getPrototypeOf,LIe=Object.prototype.hasOwnProperty;var i=(t,e)=>Az(t,"name",{value:e,configurable:!0});var h=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),QIe=(t,e)=>{for(var r in e)Az(t,r,{get:e[r],enumerable:!0})},_Ie=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of TIe(e))!LIe.call(t,o)&&o!==r&&Az(t,o,{get:()=>e[o],enumerable:!(n=xIe(e,o))||n.enumerable});return t};var w=(t,e,r)=>(r=t!=null?WIe(vIe(t)):{},_Ie(e||!t||!t.__esModule?Az(r,"default",{value:t,enumerable:!0}):r,t));var $9=h(lA=>{"use strict";var CB0=require("net"),XIe=require("tls"),rI=require("http"),V9=require("https"),VIe=require("events"),yB0=require("assert"),YIe=require("util");lA.httpOverHttp=JIe;lA.httpsOverHttp=$Ie;lA.httpOverHttps=jIe;lA.httpsOverHttps=KIe;function JIe(t){var e=new gi(t);return e.request=rI.request,e}i(JIe,"httpOverHttp");function $Ie(t){var e=new gi(t);return e.request=rI.request,e.createSocket=Y9,e.defaultPort=443,e}i($Ie,"httpsOverHttp");function jIe(t){var e=new gi(t);return e.request=V9.request,e}i(jIe,"httpOverHttps");function KIe(t){var e=new gi(t);return e.request=V9.request,e.createSocket=Y9,e.defaultPort=443,e}i(KIe,"httpsOverHttps");function gi(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||rI.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",i(function(n,o,s,a){for(var c=J9(o,s,a),u=0,p=e.requests.length;u<p;++u){var A=e.requests[u];if(A.host===c.host&&A.port===c.port){e.requests.splice(u,1),A.request.onSocket(n);return}}n.destroy(),e.removeSocket(n)},"onFree"))}i(gi,"TunnelingAgent");YIe.inherits(gi,VIe.EventEmitter);gi.prototype.addRequest=i(function(e,r,n,o){var s=this,a=nI({request:e},s.options,J9(r,n,o));if(s.sockets.length>=this.maxSockets){s.requests.push(a);return}s.createSocket(a,function(c){c.on("free",u),c.on("close",p),c.on("agentRemove",p),e.onSocket(c);function u(){s.emit("free",c,a)}i(u,"onFree");function p(A){s.removeSocket(c),c.removeListener("free",u),c.removeListener("close",p),c.removeListener("agentRemove",p)}i(p,"onCloseOrRemove")})},"addRequest");gi.prototype.createSocket=i(function(e,r){var n=this,o={};n.sockets.push(o);var s=nI({},n.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),wa("making CONNECT request");var a=n.request(s);a.useChunkedEncodingByDefault=!1,a.once("response",c),a.once("upgrade",u),a.once("connect",p),a.once("error",A),a.end();function c(l){l.upgrade=!0}i(c,"onResponse");function u(l,b,M){process.nextTick(function(){p(l,b,M)})}i(u,"onUpgrade");function p(l,b,M){if(a.removeAllListeners(),b.removeAllListeners(),l.statusCode!==200){wa("tunneling socket could not be established, statusCode=%d",l.statusCode),b.destroy();var z=new Error("tunneling socket could not be established, statusCode="+l.statusCode);z.code="ECONNRESET",e.request.emit("error",z),n.removeSocket(o);return}if(M.length>0){wa("got illegal response body from proxy"),b.destroy();var z=new Error("got illegal response body from proxy");z.code="ECONNRESET",e.request.emit("error",z),n.removeSocket(o);return}return wa("tunneling connection has established"),n.sockets[n.sockets.indexOf(o)]=b,r(b)}i(p,"onConnect");function A(l){a.removeAllListeners(),wa(`tunneling socket could not be established, cause=%s
`,l.message,l.stack);var b=new Error("tunneling socket could not be established, cause="+l.message);b.code="ECONNRESET",e.request.emit("error",b),n.removeSocket(o)}i(A,"onError")},"createSocket");gi.prototype.removeSocket=i(function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var n=this.requests.shift();n&&this.createSocket(n,function(o){n.request.onSocket(o)})}},"removeSocket");function Y9(t,e){var r=this;gi.prototype.createSocket.call(r,t,function(n){var o=t.request.getHeader("host"),s=nI({},r.options,{socket:n,servername:o?o.replace(/:.*$/,""):t.host}),a=XIe.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a,e(a)})}i(Y9,"createSecureSocket");function J9(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}i(J9,"toOptions");function nI(t){for(var e=1,r=arguments.length;e<r;++e){var n=arguments[e];if(typeof n=="object")for(var o=Object.keys(n),s=0,a=o.length;s<a;++s){var c=o[s];n[c]!==void 0&&(t[c]=n[c])}}return t}i(nI,"mergeOptions");var wa;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?wa=i(function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)},"debug"):wa=i(function(){},"debug");lA.debug=wa});var Yd=h((DB0,j9)=>{j9.exports=$9()});var k0=h((IB0,K9)=>{K9.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var i0=h((RB0,CU)=>{"use strict";var Z9=Symbol.for("undici.error.UND_ERR"),U0=class extends Error{static{i(this,"UndiciError")}constructor(e){super(e),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[Z9]===!0}[Z9]=!0},eU=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),oI=class extends U0{static{i(this,"ConnectTimeoutError")}constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[eU]===!0}[eU]=!0},tU=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),sI=class extends U0{static{i(this,"HeadersTimeoutError")}constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[tU]===!0}[tU]=!0},rU=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),iI=class extends U0{static{i(this,"HeadersOverflowError")}constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[rU]===!0}[rU]=!0},nU=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),aI=class extends U0{static{i(this,"BodyTimeoutError")}constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT" Line truncated
`)||t.includes("\r")||t.includes("\0"))===!1}i(TG,"isValidHeaderValue");function bNe(t,e){let{headersList:r}=e,n=(r.get("referrer-policy",!0)??"").split(","),o="";if(n.length>0)for(let s=n.length;s!==0;s--){let a=n[s-1].trim();if(KRe.has(a)){o=a;break}}o!==""&&(t.referrerPolicy=o)}i(bNe,"setRequestReferrerPolicyOnRedirect");function fNe(){return"allowed"}i(fNe,"crossOriginResourcePolicyCheck");function MNe(){return"success"}i(MNe,"corsCheck");function hNe(){return"success"}i(hNe,"TAOCheck");function mNe(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}i(mNe,"appendFetchMetadata");function zNe(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&ZI(t.origin)&&!ZI(ob(t))&&(e=null);break;case"same-origin":Tz(t,ob(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}i(zNe,"appendRequestOriginHeader");function EA(t,e){return t}i(EA,"coarsenTime");function gNe(t,e,r){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:EA(t.domainLookupStartTime,r),domainLookupEndTime:EA(t.domainLookupEndTime,r),connectionStartTime:EA(t.connectionStartTime,r),connectionEndTime:EA(t.connectionEndTime,r),secureConnectionStartTime:EA(t.secureConnectionStartTime,r),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}i(gNe,"clampAndCoarsenConnectionTimingInfo");function ONe(t){return EA(nNe.now(),t)}i(ONe,"coarsenedSharedCurrentTime");function ENe(t){return{startTime:t.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:t.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}i(ENe,"createOpaqueTimingInfo");function vG(){return{referrerPolicy:"strict-origin-when-cross-origin"}}i(vG,"makePolicyContainer");function CNe(t){return{referrerPolicy:t.referrerPolicy}}i(CNe,"clonePolicyContainer");function yNe(t){let e=t.referrerPolicy;ru(e);let r=null;if(t.referrer==="client"){let c=wG();if(!c||c.origin==="null")return"no-referrer";r=new URL(c)}else t.referrer instanceof URL&&(r=t.referrer);let n=KI(r),o=KI(r,!0);n.toString().length>4096&&(n=o);let s=Tz(t,n),a=nb(n)&&!nb(t.url);switch(e){case"origin":return o??KI(r,!0);case"unsafe-url":return n;case"same-origin":return s?o:"no-referrer";case"origin-when-cross-origin":return s?n:o;case"strict-origin-when-cross-origin":{let c=ob(t);return Tz(n,c)?n:nb(n)&&!nb(c)?"no-referrer":o}default:return a?"no-referrer":o}}i(yNe,"determineRequestsReferrer");function KI(t,e){return ru(t instanceof URL),t=new URL(t),t.protocol==="file:"||t.protocol==="about:"||t.protocol==="blank:"?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}i(KI,"stripURLForReferrer");function nb(t){if(!(t instanceof URL))return!1;if(t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="file:")return!0;return e(t.origin);function e(r){if(r==null||r==="null")return!1;let n=new URL(r);return!!(n.protocol==="https:"||n.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(n.hostname)||n.hostname==="localhost"||n.hostname.includes("localhost.")||n.hostname.endsWith(".localhost"))}}i(nb,"isURLPotentiallyTrustworthy");function BNe(t,e){if(xz===void 0)return!0;let r=LG(e);if(r==="no metadata"||r.length===0)return!0;let n=DNe(r),o=INe(r,n);for(let s of o){let a=s.algo,c=s.hash,u=xz.createHash(a).update(t).digest("base64");if(u[u.length-1]==="="&&(u[u.length-2]==="="?u=u.slice(0,-2):u=u.slice(0,-1)),RNe(u,c))return!0}return!1}i(BNe,"bytesMatch");var qNe=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function LG(t){let e=[],r=!0;for(let n of t.split(" ")){r=!1;let o=qNe.exec(n);if(o===null||o.groups===void 0||o.groups.algo===void 0)continue;let s=o.groups.algo.toLowerCase();FG.includes(s)&&e.push(o.groups)}return r===!0?"no metadata":e}i(LG,"parseMetadata");function DNe(t){let e=t[0].algo;if(e[3]==="5")return e;for(let r=1;r<t.length;++r){let n=t[r];if(n.algo[3]==="5"){e="sha512";break}else{if(e[3]==="3")continue;n.algo[3]==="3"&&(e="sha384")}}return e}i(DNe,"getStrongestMetadata");function INe(t,e){if(t.length===1)return t;let r=0;for(let n=0;n<t.length;++n)t[n].algo===e&&(t[r++]=t[n]);return t.length=r,t}i(INe,"filterMetadataListByAlgorithm");function RNe(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r]){if(t[r]==="+"&&e[r]==="-"||t[r]==="/"&&e[r]==="_")continue;return!1}return!0}i(RNe,"compareBase64Mixed");function NNe(t){}i(NNe,"tryUpgradeReque Line truncated
`);function lwe(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}i(lwe,"isAsciiString");function dwe(t){let e=t.length;if(e<27||e>70)return!1;for(let r=0;r<e;++r){let n=t.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||n===39||n===45||n===95))return!1}return!0}i(dwe,"validateBoundary");function bwe(t,e){Lz(e!=="failure"&&e.essence==="multipart/form-data");let r=e.parameters.get("boundary");if(r===void 0)return"failure";let n=Buffer.from(`--${r}`,"utf8"),o=[],s={position:0};for(;t[s.position]===13&&t[s.position+1]===10;)s.position+=2;let a=t.length;for(;t[a-1]===10&&t[a-2]===13;)a-=2;for(a!==t.length&&(t=t.subarray(0,a));;){if(t.subarray(s.position,s.position+n.length).equals(n))s.position+=n.length;else return"failure";if(s.position===t.length-2&&Qz(t,pwe,s)||s.position===t.length-4&&Qz(t,Awe,s))return o;if(t[s.position]!==13||t[s.position+1]!==10)return"failure";s.position+=2;let c=fwe(t,s);if(c==="failure")return"failure";let{name:u,filename:p,contentType:A,encoding:l}=c;s.position+=2;let b;{let z=t.indexOf(n.subarray(2),s.position);if(z===-1)return"failure";b=t.subarray(s.position,z-4),s.position+=b.length,l==="base64"&&(b=Buffer.from(b.toString(),"base64"))}if(t[s.position]!==13||t[s.position+1]!==10)return"failure";s.position+=2;let M;p!==null?(A??="text/plain",lwe(A)||(A=""),M=new cwe([b],p,{type:A})):M=nwe(Buffer.from(b)),Lz(jG(u)),Lz(typeof M=="string"&&jG(M)||swe(M)),o.push(iwe(u,M,p))}}i(bwe,"multipartFormDataParser");function fwe(t,e){let r=null,n=null,o=null,s=null;for(;;){if(t[e.position]===13&&t[e.position+1]===10)return r===null?"failure":{name:r,filename:n,contentType:o,encoding:s};let a=yA(c=>c!==10&&c!==13&&c!==58,t,e);if(a=i5(a,!0,!0,c=>c===9||c===32),!owe.test(a.toString())||t[e.position]!==58)return"failure";switch(e.position++,yA(c=>c===32||c===9,t,e),rwe(a)){case"content-disposition":{if(r=n=null,!Qz(t,uwe,e)||(e.position+=17,r=eH(t,e),r===null))return"failure";if(Qz(t,ZG,e)){let c=e.position+ZG.length;if(t[c]===42&&(e.position+=1,c+=1),t[c]!==61||t[c+1]!==34||(e.position+=12,n=eH(t,e),n===null))return"failure"}break}case"content-type":{let c=yA(u=>u!==10&&u!==13,t,e);c=i5(c,!1,!0,u=>u===9||u===32),o=KG(c);break}case"content-transfer-encoding":{let c=yA(u=>u!==10&&u!==13,t,e);c=i5(c,!1,!0,u=>u===9||u===32),s=KG(c);break}default:yA(c=>c!==10&&c!==13,t,e)}if(t[e.position]!==13&&t[e.position+1]!==10)return"failure";e.position+=2}}i(fwe,"parseMultipartFormDataHeaders");function eH(t,e){Lz(t[e.position-1]===34);let r=yA(n=>n!==10&&n!==13&&n!==34,t,e);return t[e.position]!==34?null:(e.position++,r=new TextDecoder().decode(r).replace(/%0A/ig,`
`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),r)}i(eH,"parseMultipartFormDataName");function yA(t,e,r){let n=r.position;for(;n<e.length&&t(e[n]);)++n;return e.subarray(r.position,r.position=n)}i(yA,"collectASequenceOfBytes");function i5(t,e,r,n){let o=0,s=t.length-1;if(e)for(;o<t.length&&n(t[o]);)o++;if(r)for(;s>0&&n(t[s]);)s--;return o===0&&s===t.length-1?t:t.subarray(o,s+1)}i(i5,"removeChars");function Qz(t,e,r){if(t.length<e.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[r.position+n])return!1;return!0}i(Qz,"bufferStartsWith");tH.exports={multipartFormDataParser:bwe,validateBoundary:dwe}});var DA=h((fq0,lH)=>{"use strict";var ab=He(),{ReadableStreamFrom:Mwe,isBlobLike:nH,isReadableStreamLike:hwe,readableStreamClose:mwe,createDeferredPromise:zwe,fullyReadBody:gwe,extractMimeType:Owe,utf8DecodeBytes:iH}=Rr(),{FormData:oH}=ib(),{kState:qA}=Sa(),{webidl:Ewe}=st(),{Blob:Cwe}=require("node:buffer"),a5=require("node:assert"),{isErrored:aH,isDisturbed:ywe}=require("node:stream"),{isArrayBuffer:Bwe}=require("node:util/types"),{serializeAMimeType:qwe}=Zt(),{multipartFormDataParser:Dwe}=rH(),c5;try{let t=require("node:crypto");c5=i(e=>t.randomInt(0,e),"random")}catch{c5=i(t=>Math.floor(Math.random(t)),"random")}var _z=new TextEncoder;function Iwe(){}i(Iwe,"noop");var cH=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,uH;cH&&(uH=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!ywe(e)&&!aH(e)&&e.cancel("Response object has been garbage collected").catch(Iwe)}));function pH(t,e=!1){let r=null;t instanceof ReadableStream?r=t:nH(t)?r=t.stream():r=new ReadableStream({async pull(u){let p=typeof o=="string"?_z.encode(o):o;p.byteLength&&u.enqueue(p),queueMicrotask(()=>mwe(u))},start(){},type:"bytes"}),a5(hwe(r));let n=null,o=null,s=null,a=null;if(typeof t=="string")o=t,a="text/plain;charset=UTF-8";else if(t instanceof URLSearchParams)o=t.toString(),a="application/x-www-form-urlencoded;charset=UTF-8";else if(Bwe(t))o=new Uint8Array(t.slice());else if(ArrayBuffer.isView(t))o=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));else if(ab.isFormDataLike(t)){let u=`----formdata-undici-0${`${c5(1e11)}`.padStart(11,"0")}`,p=`--${u}\r
Content-Disposition: form-data`;let A=i(y=>y.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),"escape"),l=i(y=>y.replace(/\r?\n|\r/g,`\r
`),"normalizeLinefeeds"),b=[],M=new Uint8Array([13,10]);s=0;let z=!1;for(let[y,E]of t)if(typeof E=="string"){let B=_z.encode(p+`; name="${A(l(y))}"\r
\r
${l(E)}\r
`);b.push(B),s+=B.byteLength}else{let B=_z.encode(`${p}; name="${A(l(y))}"`+(E.name?`; filename="${A(E.name)}"`:"")+`\r
Content-Type: ${E.type||"application/octet-stream"}\r
\r
`);b.push(B,E,M),typeof E.size=="number"?s+=B.byteLength+E.size+M.byteLength:z=!0}let O=_z.encode(`--${u}--\r
`);b.push(O),s+=O.byteLength,z&&(s=null),o=t,n=i(async function*(){for(let y of b)y.stream?yield*y.stream():yield y},"action"),a=`multipart/form-data; boundary=${u}`}else if(nH(t))o=t,s=t.size,t.type&&(a=t.type);else if(typeof t[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(ab.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");r=t instanceof ReadableStream?t:Mwe(t)}if((typeof o=="string"||ab.isBuffer(o))&&(s=Buffer.byteLength(o)),n!=null){let u;r=new ReadableStream({async start(){u=n(t)[Symbol.asyncIterator]()},async pull(p){let{value:A,done:l}=await u.next();if(l)queueMicrotask(()=>{p.close(),p.byobRequest?.respond(0)});else if(!aH(r)){let b=new Uint8Array(A);b.byteLength&&p.enqueue(b)}return p.desiredSize>0},async cancel(p){await u.return()},type:"bytes"})}return[{stream:r,source:o,length:s},a]}i(pH,"extractBody");function Rwe(t,e=!1){return t instanceof ReadableStream&&(a5(!ab.isDisturbed(t),"The body has already been consumed."),a5(!t.locked,"The stream is locked.")),pH(t,e)}i(Rwe,"safelyExtractBody");function Nwe(t,e){let[r,n]=e.stream.tee();return e.stream=r,{stream:n,length:e.length,source:e.source}}i(Nwe,"cloneBody");function wwe(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}i(wwe,"throwIfAborted");function Swe(t){return{blob(){return BA(this,r=>{let n=sH(this);return n===null?n="":n&&(n=qwe(n)),new Cwe([r],{type:n})},t)},arrayBuffer(){return BA(this,r=>new Uint8Array(r).buffer,t)},text(){return BA(this,iH,t)},json(){return BA(this,Wwe,t)},formData(){return BA(this,r=>{let n=sH(this);if(n!==null)switch(n.essence){case"multipart/form-data":{let o=Dwe(r,n);if(o==="failure")throw new TypeError("Failed to parse body as FormData.");let s=new oH;return s[qA]=o,s}case"application/x-www-form-urlencoded":{let o=new URLSearchParams(r.toString()),s=new oH;for(let[a,c]of o)s.append(a,c);return s}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t)},bytes(){return BA(this,r=>new Uint8Array(r),t)}}}i(Swe,"bodyMixinMethods");function Fwe(t){Object.assign(t.prototype,Swe(t))}i(Fwe,"mixinBody");async function BA(t,e,r){if(Ewe.brandCheck(t,r),AH(t))throw new TypeError("Body is unusable: Body has already been read");wwe(t[qA]);let n=zwe(),o=i(a=>n.reject(a),"errorSteps"),s=i(a=>{try{n.resolve(e(a))}catch(c){o(c)}},"successSteps");return t[qA].body==null?(s(Buffer.allocUnsafe(0)),n.promise):(await gwe(t[qA].body,s,o),n.promise)}i(BA,"consumeBody");function AH(t){let e=t[qA].body;return e!=null&&(e.stream.locked||ab.isDisturbed(e.stream))}i(AH,"bodyUnusable");function Wwe(t){return JSON.parse(iH(t))}i(Wwe,"parseJSONFromBytes");function sH(t){let e=t[qA].headersList,r=Owe(e);return r==="failure"?null:r}i(sH,"bodyMimeType");lH.exports={extractBody:pH,safelyExtractBody:Rwe,cloneBody:Nwe,mixinBody:Fwe,streamRegistry:uH,hasFinalizationRegistry:cH,bodyUnusable:AH}});var IH=h((hq0,DH)=>{"use strict";var be=require("node:assert"),he=He(),{channels:dH}=bA(),u5=GI(),{RequestContentLengthMismatchError:nu,ResponseContentLengthMismatchError:bH,RequestAbortedError:EH,InvalidArgumentError:xwe,HeadersTimeoutError:Twe,HeadersOverflowError:vwe,SocketError:IA,InformationalError:RA,BodyTimeoutError:Lwe,HTTPParserError:Qwe,ResponseExceededMaxSizeError:_we}=i0(),{kUrl:CH,kReset:er,kClient:Gz,kParser:W0,kBlocking:pb,kRunning:I1,kPending:yH,kSize:fH,kWriting:Fa,kQueue:so,kNoRef:cb,kKeepAliveDefaultTimeout:Pwe,kHostHeader:kwe,kPendingIdx:Uwe,kRunningIdx:ln,kError:wt,kPipelining:Hz,kSocket:su,kKeepAliveTimeoutValue:Vz,kMaxHeadersSize:p5,kKeepAliveMaxTimeout:Gwe,kKeepAliveTimeoutThreshold:Hwe,kHeadersTimeout:Xwe,kBodyTimeout:Vwe,kStrictContentLength:d5,kMaxRequests:MH,kCounter:Ywe,kMaxResponseSize:Jwe,kOnError:hH,kResume:qi,kHTTPContext:BH}=k0(),Nr=uG(),mH=Buffer.alloc(0),Pz=Buffer[Symbol.species],kz=he.addListener,$we=he.removeAllListeners,iu=Symbol("kIdleSocketValidation"),ou=Symbol("kIdleSocketValidationTimeout"),h5=Symbol("kSocketUsed"),A5;async function jwe(){let t=process.env.JEST_WORKER_ID?VI():void 0,e;try{e=await WebAssembly.compile(lG())}catch{e=await WebAssembly.compile(t||VI())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:i((r,n,o)=>0,"wasm_on_url"),wasm_on_status:i((r,n,o)=>{be(r1.ptr===r);let s=n-Vo+Xo.byteOffset;return r1.onStatus(new Pz(Xo.buffer,s,o))||0},"wasm_on_status"),wasm_on_message_begin:i(r=>(be(r1.ptr===r),r1.onMessageBegin()||0),"wasm_on_message_begin"),wasm_on_header_field:i((r,n,o)=>{be(r1.ptr===r);let s=n-Vo+Xo.byteOffset;return r1.onHeaderField(new Pz(Xo.buffer,s,o))||0},"wasm_on_header_field"),wasm_on_header_value:i((r,n,o)=>{be(r1.ptr===r);let s=n-Vo+Xo.byteOffset;return r1.onHeaderValue(new Pz(Xo.buffer,s,o))||0},"wasm_on_header_value"),wasm_on_headers_complete:i((r,n,o,s)=>(be(r1.ptr===r),r1.onHeadersComplete(n,!!o,!!s)||0),"wasm_on_headers_complete"),wasm_on_body:i((r,n,o)=>{be(r1.ptr===r);let s=n-Vo+Xo.byteOffset;retu Line truncated
`;if(typeof o=="string"?O+=`host: ${o}\r
`:O+=t[kwe],s?O+=`connection: upgrade\r
upgrade: ${s}\r
`:t[Hz]&&!M[er]?O+=`connection: keep-alive\r
`:O+=`connection: close\r
`,Array.isArray(p))for(let y=0;y<p.length;y+=2){let E=p[y+0],B=p[y+1];if(Array.isArray(B))for(let q=0;q<B.length;q++)O+=`${E}: ${B[q]}\r
`;else O+=`${E}: ${B}\r
`}return dH.sendHeaders.hasSubscribers&&dH.sendHeaders.publish({request:e,headers:O,socket:M}),!u||b===0?gH(z,null,t,e,M,A,O,l):he.isBuffer(u)?gH(z,u,t,e,M,A,O,l):he.isBlobLike(u)?typeof u.stream=="function"?OH(z,u.stream(),t,e,M,A,O,l):s6e(z,u,t,e,M,A,O,l):he.isStream(u)?o6e(z,u,t,e,M,A,O,l):he.isIterable(u)?OH(z,u,t,e,M,A,O,l):be(!1),!0}i(n6e,"writeH1");function o6e(t,e,r,n,o,s,a,c){be(s!==0||r[I1]===0,"stream body cannot be pipelined");let u=!1,p=new Yz({abort:t,socket:o,request:n,contentLength:s,client:r,expectsPayload:c,header:a}),A=i(function(z){if(!u)try{!p.write(z)&&this.pause&&this.pause()}catch(O){he.destroy(this,O)}},"onData"),l=i(function(){u||e.resume&&e.resume()},"onDrain"),b=i(function(){if(queueMicrotask(()=>{e.removeListener("error",M)}),!u){let z=new EH;queueMicrotask(()=>M(z))}},"onClose"),M=i(function(z){if(!u){if(u=!0,be(o.destroyed||o[Fa]&&r[I1]<=1),o.off("drain",l).off("error",M),e.removeListener("data",A).removeListener("end",M).removeListener("close",b),!z)try{p.end()}catch(O){z=O}p.destroy(z),z&&(z.code!=="UND_ERR_INFO"||z.message!=="reset")?he.destroy(e,z):he.destroy(e)}},"onFinished");e.on("data",A).on("end",M).on("error",M).on("close",b),e.resume&&e.resume(),o.on("drain",l).on("error",M),e.errorEmitted??e.errored?setImmediate(()=>M(e.errored)):(e.endEmitted??e.readableEnded)&&setImmediate(()=>M(null)),(e.closeEmitted??e.closed)&&setImmediate(b)}i(o6e,"writeStream");function gH(t,e,r,n,o,s,a,c){try{e?he.isBuffer(e)&&(be(s===e.byteLength,"buffer body must have content length"),o.cork(),o.write(`${a}content-length: ${s}\r
\r
`,"latin1"),o.write(e),o.uncork(),n.onBodySent(e),!c&&n.reset!==!1&&(o[er]=!0)):s===0?o.write(`${a}content-length: 0\r
\r
`,"latin1"):(be(s===null,"no body must not have content length"),o.write(`${a}\r
`,"latin1")),n.onRequestSent(),r[qi]()}catch(u){t(u)}}i(gH,"writeBuffer");async function s6e(t,e,r,n,o,s,a,c){be(s===e.size,"blob body must have content length");try{if(s!=null&&s!==e.size)throw new nu;let u=Buffer.from(await e.arrayBuffer());o.cork(),o.write(`${a}content-length: ${s}\r
\r
`,"latin1"),o.write(u),o.uncork(),n.onBodySent(u),n.onRequestSent(),!c&&n.reset!==!1&&(o[er]=!0),r[qi]()}catch(u){t(u)}}i(s6e,"writeBlob");async function OH(t,e,r,n,o,s,a,c){be(s!==0||r[I1]===0,"iterator body cannot be pipelined");let u=null;function p(){if(u){let b=u;u=null,b()}}i(p,"onDrain");let A=i(()=>new Promise((b,M)=>{be(u===null),o[wt]?M(o[wt]):u=b}),"waitForDrain");o.on("close",p).on("drain",p);let l=new Yz({abort:t,socket:o,request:n,contentLength:s,client:r,expectsPayload:c,header:a});try{for await(let b of e){if(o[wt])throw o[wt];l.write(b)||await A()}l.end()}catch(b){l.destroy(b)}finally{o.off("close",p).off("drain",p)}}i(OH,"writeIterable");var Yz=class{static{i(this,"AsyncWriter")}constructor({abort:e,socket:r,request:n,contentLength:o,client:s,expectsPayload:a,header:c}){this.socket=r,this.request=n,this.contentLength=o,this.client=s,this.bytesWritten=0,this.expectsPayload=a,this.header=c,this.abort=e,r[Fa]=!0}write(e){let{socket:r,request:n,contentLength:o,client:s,bytesWritten:a,expectsPayload:c,header:u}=this;if(r[wt])throw r[wt];if(r.destroyed)return!1;let p=Buffer.byteLength(e);if(!p)return!0;if(o!==null&&a+p>o){if(s[d5])throw new nu;process.emitWarning(new nu)}r.cork(),a===0&&(!c&&n.reset!==!1&&(r[er]=!0),o===null?r.write(`${u}transfer-encoding: chunked\r
`,"latin1"):r.write(`${u}content-length: ${o}\r
\r
`,"latin1")),o===null&&r.write(`\r
${p.toString(16)}\r
`,"latin1"),this.bytesWritten+=p;let A=r.write(e);return r.uncork(),n.onBodySent(e),A||r[W0].timeout&&r[W0].timeoutType===NA&&r[W0].timeout.refresh&&r[W0].timeout.refresh(),A}end(){let{socket:e,contentLength:r,client:n,bytesWritten:o,expectsPayload:s,header:a,request:c}=this;if(c.onRequestSent(),e[Fa]=!1,e[wt])throw e[wt];if(!e.destroyed){if(o===0?s?e.write(`${a}content-length: 0\r
\r
`,"latin1"):e.write(`${a}\r
`,"latin1"):r===null&&e.write(`\r
0\r
\r
`,"latin1"),r!==null&&o!==r){if(n[d5])throw new nu;process.emitWarning(new nu)}e[W0].timeout&&e[W0].timeoutType===NA&&e[W0].timeout.refresh&&e[W0].timeout.refresh(),n[qi]()}}destroy(e){let{socket:r,client:n,abort:o}=this;r[Fa]=!1,e&&(be(n[I1]<=1,"pipeline should only contain this request"),o(e))}};DH.exports=Zwe});var TH=h((zq0,xH)=>{"use strict";var dn=require("node:assert"),{pipeline:i6e}=require("node:stream"),Je=He(),{RequestContentLengthMismatchError:m5,RequestAbortedError:RH,SocketError:Ab,InformationalError:z5}=i0(),{kUrl:Jz,kReset:jz,kClient:wA,kRunning:Kz,kPending:a6e,kQueue:Wa,kPendingIdx:g5,kRunningIdx:io,kError:co,kSocket:J1,kStrictContentLength:c6e,kOnError:O5,kMaxConcurrentStreams:WH,kHTTP2Session:ao,kResume:xa,kSize:u6e,kHTTPContext:p6e}=k0(),Di=Symbol("open streams"),NH,wH=!1,$z;try{$z=require("node:http2")}catch{$z={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:A6e,HTTP2_HEADER_METHOD:l6e,HTTP2_HEADER_PATH:d6e,HTTP2_HEADER_SCHEME:b6e,HTTP2_HEADER_CONTENT_LENGTH:f6e,HTTP2_HEADER_EXPECT:M6e,HTTP2_HEADER_STATUS:h6e}}=$z;function m6e(t){let e=[];for(let[r,n]of Object.entries(t))if(Array.isArray(n))for(let o of n)e.push(Buffer.from(r),Buffer.from(o));else e.push(Buffer.from(r),Buffer.from(n));return e}i(m6e,"parseH2Headers");async function z6e(t,e){t[J1]=e,wH||(wH=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let r=$z.connect(t[Jz],{createConnection:i(()=>e,"createConnection"),peerMaxConcurrentStreams:t[WH]});r[Di]=0,r[wA]=t,r[J1]=e,Je.addListener(r,"error",O6e),Je.addListener(r,"frameError",E6e),Je.addListener(r,"end",C6e),Je.addListener(r,"goaway",y6e),Je.addListener(r,"close",function(){let{[wA]:o}=this,{[J1]:s}=o,a=this[J1][co]||this[co]||new Ab("closed",Je.getSocketInfo(s));if(o[ao]=null,o.destroyed){dn(o[a6e]===0);let c=o[Wa].splice(o[io]);for(let u=0;u<c.length;u++){let p=c[u];Je.errorRequest(o,p,a)}}}),r.unref(),t[ao]=r,e[ao]=r,Je.addListener(e,"error",function(o){dn(o.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[co]=o,this[wA][O5](o)}),Je.addListener(e,"end",function(){Je.destroy(this,new Ab("other side closed",Je.getSocketInfo(this)))}),Je.addListener(e,"close",function(){let o=this[co]||new Ab("closed",Je.getSocketInfo(this));t[J1]=null,this[ao]!=null&&this[ao].destroy(o),t[g5]=t[io],dn(t[Kz]===0),t.emit("disconnect",t[Jz],[t],o),t[xa]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h2",defaultPipelining:1/0,write(...o){return q6e(t,...o)},resume(){g6e(t)},destroy(o,s){n?queueMicrotask(s):e.destroy(o).on("close",s)},get destroyed(){return e.destroyed},busy(){return!1}}}i(z6e,"connectH2");function g6e(t){let e=t[J1];e?.destroyed===!1&&(t[u6e]===0&&t[WH]===0?(e.unref(),t[ao].unref()):(e.ref(),t[ao].ref()))}i(g6e,"resumeH2");function O6e(t){dn(t.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[J1][co]=t,this[wA][O5](t)}i(O6e,"onHttp2SessionError");function E6e(t,e,r){if(r===0){let n=new z5(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[J1][co]=n,this[wA][O5](n)}}i(E6e,"onHttp2FrameError");function C6e(){let t=new Ab("other side closed",Je.getSocketInfo(this[J1]));this.destroy(t),Je.destroy(this[J1],t)}i(C6e,"onHttp2SessionEnd");function y6e(t){let e=this[co]||new Ab(`HTTP/2: "GOAWAY" frame received with code ${t}`,Je.getSocketInfo(this)),r=this[wA];if(r[J1]=null,r[p6e]=null,this[ao]!=null&&(this[ao].destroy(e),this[ao]=null),Je.destroy(this[J1],e),r[io]<r[Wa].length){let n=r[Wa][r[io]];r[Wa][r[io]++]=null,Je.errorRequest(r,n,e),r[g5]=r[io]}dn(r[Kz]===0),r.emit("disconnect",r[Jz],[r],e),r[xa]()}i(y6e,"onHTTP2GoAway");function B6e(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}i(B6e,"shouldSendContentLength");function q6e(t,e){let r=t[ao],{method:n,path:o,host:s,upgrade:a,expectContinue:c,signal:u,headers:p}=e,{body:A}=e;if(a)return Je.errorRequest(t,e,new Error("Upgrade not supported for H2")),!1;let l={};for(let I=0;I<p.length;I+=2){let W=p[I+0],x=p[I+1];if(Array.isArray(x))for(let L=0;L<x.length;L++)l[W]?l[W]+=`,${x[L]}`:l[W]=x[L];else l[W]=x}let b,{hostname:M,port:z}=t[Jz];l[A6e]=s||`${M}${z?`:${z}`:""}`,l[l6e]=n;let O=i(I=>{e.aborted||e.completed||(I=I||new RH,Je.errorRequest(t,e,I),b!=null&&Je.destroy(b,I),Je.destroy(A,I),t[Wa][t[io]++]=null,t[xa]())},"abort");try{e.onConnect(O)}catch(I){Je.errorRequest(t,e,I)}if(e.aborted)return!1;if(n==="CONNECT")return r.ref(),b=r.request(l,{endStream:!1,signal:u}),b.id&&!b.pending?(e.onUpgrade(null,null,b),++r[Di],t[Wa][t[io]++]=null):b.once("ready",()=>{e.onUpgrade(null,null,b),++r[Di],t[Wa][t[io]++]=null}),b.once("close",()=>{r[Di]-=1,r[Di]===0&&r.unref()}),!0;l[d6e]=o,l[b6e]="https";let y=n==="PUT"||n==="POST"||n==="PATCH";A&&typeof A.read=="function"&&A.read(0);let E=Je.bodyLength(A);if(Je.isFormDataLike(A)){NH??=DA().extractBody;let[I,W]=NH(A);l["content-type"]=W,A=I.stream,E=I.length}if(E==null&&(E=e.contentLength),(E===0||!y)&&(E=null),B6e(n)&&E>0&&e.contentLength!=null&&e.contentLength!==E){if(t[c6e])return Je.errorRequest(t,e, Line truncated
`,this[K6e]=u??3e5,this[j6e]=o??3e5,this[Z6e]=B??!0,this[eSe]=I,this[B5]=x,this[va]=null,this[sSe]=ce>-1?ce:-1,this[aSe]=Ne??100,this[h1]=null,this[uo]=[],this[Ri]=0,this[po]=0,this[fb]=pe=>D5(this,pe),this[iSe]=pe=>YH(this,pe)}get pipelining(){return this[rg]}set pipelining(e){this[rg]=e,this[fb](!0)}get[mb](){return this[uo].length-this[po]}get[hb](){return this[po]-this[Ri]}get[Mb](){return this[uo].length-this[Ri]}get[G6e](){return!!this[h1]&&!this[FA]&&!this[h1].destroyed}get[y5](){return!!(this[h1]?.busy(null)||this[Mb]>=(VH(this)||1)||this[mb]>0)}[U6e](e){JH(this),this.once("connect",e)}[oSe](e,r){let n=e.origin||this[Jo].origin,o=new v6e(n,e,r);return this[uo].push(o),this[cu]||(au.bodyLength(o.body)==null&&au.isIterable(o.body)?(this[cu]=1,queueMicrotask(()=>D5(this))):this[fb](!0)),this[cu]&&this[La]!==2&&this[y5]&&(this[La]=2),this[La]<2}async[rSe](){return new Promise(e=>{this[Mb]?this[va]=e:e(null)})}async[nSe](e){return new Promise(r=>{let n=this[uo].splice(this[po]);for(let s=0;s<n.length;s++){let a=n[s];au.errorRequest(this,a,e)}let o=i(()=>{this[va]&&(this[va](),this[va]=null),r(null)},"callback");this[h1]?(this[h1].destroy(e,o),this[h1]=null):queueMicrotask(o),this[fb]()})}},pSe=tg();function YH(t,e){if(t[hb]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){Ii(t[po]===t[Ri]);let r=t[uo].splice(t[Ri]);for(let n=0;n<r.length;n++){let o=r[n];au.errorRequest(t,o,e)}Ii(t[Mb]===0)}}i(YH,"onError");async function JH(t){Ii(!t[FA]),Ii(!t[h1]);let{host:e,hostname:r,protocol:n,port:o}=t[Jo];if(r[0]==="["){let s=r.indexOf("]");Ii(s!==-1);let a=r.substring(1,s);Ii(XH.isIP(a)),r=a}t[FA]=!0,SA.beforeConnect.hasSubscribers&&SA.beforeConnect.publish({connectParams:{host:e,hostname:r,protocol:n,port:o,version:t[h1]?.version,servername:t[Ta],localAddress:t[bb]},connector:t[db]});try{let s=await new Promise((a,c)=>{t[db]({host:e,hostname:r,protocol:n,port:o,servername:t[Ta],localAddress:t[bb]},(u,p)=>{u?c(u):a(p)})});if(t.destroyed){au.destroy(s.on("error",GH),new _6e);return}Ii(s);try{t[h1]=s.alpnProtocol==="h2"?await uSe(t,s):await cSe(t,s)}catch(a){throw s.destroy().on("error",GH),a}t[FA]=!1,s[tSe]=0,s[B5]=t[B5],s[k6e]=t,s[X6e]=null,SA.connected.hasSubscribers&&SA.connected.publish({connectParams:{host:e,hostname:r,protocol:n,port:o,version:t[h1]?.version,servername:t[Ta],localAddress:t[bb]},connector:t[db],socket:s}),t.emit("connect",t[Jo],[t])}catch(s){if(t.destroyed)return;if(t[FA]=!1,SA.connectError.hasSubscribers&&SA.connectError.publish({connectParams:{host:e,hostname:r,protocol:n,port:o,version:t[h1]?.version,servername:t[Ta],localAddress:t[bb]},connector:t[db],error:s}),s.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(Ii(t[hb]===0);t[mb]>0&&t[uo][t[po]].servername===t[Ta];){let a=t[uo][t[po]++];au.errorRequest(t,a,s)}else YH(t,s);t.emit("connectionError",t[Jo],[t],s)}t[fb]()}i(JH,"connect");function HH(t){t[La]=0,t.emit("drain",t[Jo],[t])}i(HH,"emitDrain");function D5(t,e){t[cu]!==2&&(t[cu]=2,ASe(t,e),t[cu]=0,t[Ri]>256&&(t[uo].splice(0,t[Ri]),t[po]-=t[Ri],t[Ri]=0))}i(D5,"resume");function ASe(t,e){for(;;){if(t.destroyed){Ii(t[mb]===0);return}if(t[va]&&!t[Mb]){t[va](),t[va]=null;return}if(t[h1]&&t[h1].resume(),t[y5])t[La]=2;else if(t[La]===2){e?(t[La]=1,queueMicrotask(()=>HH(t))):HH(t);continue}if(t[mb]===0||t[hb]>=(VH(t)||1))return;let r=t[uo][t[po]];if(t[Jo].protocol==="https:"&&t[Ta]!==r.servername){if(t[hb]>0)return;t[Ta]=r.servername,t[h1]?.destroy(new Q6e("servername changed"),()=>{t[h1]=null,D5(t)})}if(t[FA])return;if(!t[h1]){JH(t);return}if(t[h1].destroyed||t[h1].busy(r))return;!r.aborted&&t[h1].write(r)?t[po]++:t[uo].splice(t[po],1)}}i(ASe,"_resume");$H.exports=q5});var I5=h((Iq0,jH)=>{"use strict";var ng=class{static{i(this,"FixedCircularBuffer")}constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};jH.exports=class{static{i(this,"FixedQueue")}constructor(){this.head=this.tail=new ng}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new ng),this.head.push(e)}shift(){let e=this.tail,r=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),r}}});var ZH=h((Nq0,KH)=>{var{kFree:lSe,kConnected:dSe,kPending:bSe,kQueued:fSe,kRunning:MSe,kSize:hSe}=k0(),uu=Symbol("pool"),R5=class{static{i(this,"PoolStats")}constructor(e){this[uu]=e}get connected(){return this[uu][dSe]}get free(){return this[uu][lSe]}get pending(){return this[uu][bSe]}get queued(){return this[uu][fSe]}get running(){return this[uu][MSe]}get size(){return this[uu][hSe]}};KH.exports=R5});var x5=h((Sq0,uX)=>{"use strict";var mSe=mA(),zSe=I5(),{kConnected:N5,kSize:eX,kRunning:tX,kPending:rX,kQueued:zb,kBusy:gSe,kFree:OSe,kUrl:ESe,kClose:CSe,kDestroy:ySe,kDispatch:BSe}=k0(),qSe=ZH(),tr=Symbol("cl Line truncated
${n.count} ${n.noun} ${n.is} pending:
${e.format(r)}
`.trim())}};MY.exports=xR});var Og=h((ND0,OY)=>{"use strict";var mY=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:KWe}=i0(),ZWe=TA();gY()===void 0&&zY(new ZWe);function zY(t){if(!t||typeof t.dispatch!="function")throw new KWe("Argument agent must implement Agent");Object.defineProperty(globalThis,mY,{value:t,writable:!0,enumerable:!1,configurable:!1})}i(zY,"setGlobalDispatcher");function gY(){return globalThis[mY]}i(gY,"getGlobalDispatcher");OY.exports={setGlobalDispatcher:zY,getGlobalDispatcher:gY}});var Eg=h((FD0,EY)=>{"use strict";EY.exports=class{static{i(this,"DecoratorHandler")}#e;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=e}onConnect(...e){return this.#e.onConnect?.(...e)}onError(...e){return this.#e.onError?.(...e)}onUpgrade(...e){return this.#e.onUpgrade?.(...e)}onResponseStarted(...e){return this.#e.onResponseStarted?.(...e)}onHeaders(...e){return this.#e.onHeaders?.(...e)}onData(...e){return this.#e.onData?.(...e)}onComplete(...e){return this.#e.onComplete?.(...e)}onBodySent(...e){return this.#e.onBodySent?.(...e)}}});var yY=h((xD0,CY)=>{"use strict";var exe=eg();CY.exports=t=>{let e=t?.maxRedirections;return r=>i(function(o,s){let{maxRedirections:a=e,...c}=o;if(!a)return r(o,s);let u=new exe(r,a,o,s);return r(c,u)},"redirectInterceptor")}});var qY=h((vD0,BY)=>{"use strict";var txe=Ag();BY.exports=t=>e=>i(function(n,o){return e(n,new txe({...n,retryOptions:{...t,...n.retryOptions}},{handler:o,dispatch:e}))},"retryInterceptor")});var IY=h((QD0,DY)=>{"use strict";var rxe=He(),{InvalidArgumentError:nxe,RequestAbortedError:oxe}=i0(),sxe=Eg(),TR=class extends sxe{static{i(this,"DumpHandler")}#e=1024*1024;#t=null;#n=!1;#r=!1;#o=0;#s=null;#a=null;constructor({maxSize:e},r){if(super(r),e!=null&&(!Number.isFinite(e)||e<1))throw new nxe("maxSize must be a number greater than 0");this.#e=e??this.#e,this.#a=r}onConnect(e){this.#t=e,this.#a.onConnect(this.#i.bind(this))}#i(e){this.#r=!0,this.#s=e}onHeaders(e,r,n,o){let a=rxe.parseHeaders(r)["content-length"];if(a!=null&&a>this.#e)throw new oxe(`Response size (${a}) larger than maxSize (${this.#e})`);return this.#r?!0:this.#a.onHeaders(e,r,n,o)}onError(e){this.#n||(e=this.#s??e,this.#a.onError(e))}onData(e){return this.#o=this.#o+e.length,this.#o>=this.#e&&(this.#n=!0,this.#r?this.#a.onError(this.#s):this.#a.onComplete([])),!0}onComplete(e){if(!this.#n){if(this.#r){this.#a.onError(this.reason);return}this.#a.onComplete(e)}}};function ixe({maxSize:t}={maxSize:1024*1024}){return e=>i(function(n,o){let{dumpMaxSize:s=t}=n,a=new TR({maxSize:s},o);return e(n,a)},"Intercept")}i(ixe,"createDumpInterceptor");DY.exports=ixe});var wY=h((PD0,NY)=>{"use strict";var{isIP:axe}=require("node:net"),{lookup:cxe}=require("node:dns"),uxe=Eg(),{InvalidArgumentError:VA,InformationalError:pxe}=i0(),RY=Math.pow(2,31)-1,vR=class{static{i(this,"DNSInstance")}#e=0;#t=0;#n=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#r,this.pick=e.pick??this.#o}get full(){return this.#n.size===this.#t}runLookup(e,r,n){let o=this.#n.get(e.hostname);if(o==null&&this.full){n(null,e.origin);return}let s={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...r.dns,maxTTL:this.#e,maxItems:this.#t};if(o==null)this.lookup(e,s,(a,c)=>{if(a||c==null||c.length===0){n(a??new pxe("No DNS entries found"));return}this.setRecords(e,c);let u=this.#n.get(e.hostname),p=this.pick(e,u,s.affinity),A;typeof p.port=="number"?A=`:${p.port}`:e.port!==""?A=`:${e.port}`:A="",n(null,`${e.protocol}//${p.family===6?`[${p.address}]`:p.address}${A}`)});else{let a=this.pick(e,o,s.affinity);if(a==null){this.#n.delete(e.hostname),this.runLookup(e,r,n);return}let c;typeof a.port=="number"?c=`:${a.port}`:e.port!==""?c=`:${e.port}`:c="",n(null,`${e.protocol}//${a.family===6?`[${a.address}]`:a.address}${c}`)}}#r(e,r,n){cxe(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(o,s)=>{if(o)return n(o);let a=new Map;for(let c of s)a.set(`${c.address}:${c.family}`,c);n(null,a.values())})}#o(e,r,n){let o=null,{records:s,offset:a}=r,c;if(this.dualStack?(n==null&&(a==null||a===RY?(r.offset=0,n=4):(r.offset++,n=(r.offset&1)===1?6:4)),s[n]!=null&&s[n].ips.length>0?c=s[n]:c=s[n===4?6:4]):c=s[n],c==null||c.ips.length===0)return o;c.offset==null||c.offset===RY?c.offset=0:c.offset++;let u=c.offset%c.ips.length;return o=c.ips[u]??null,o==null?o:Date.now()-o.timestamp>o.ttl?(c.ips.splice(u,1),this.pick(e,r,n)):o}setRecords(e,r){let n=Date.now(),o={records:{4:null,6:null}};for(let s of r){s.timestamp=n,typeof s.ttl=="number"?s.ttl=Math.min(s.ttl,this.#e):s.ttl=this.#e;let a=o.records[s.family]??{ips:[]};a.ips.push(s),o.records[s.family]=a}this.#n.set(e.hostname,o)}getHandler(e,r){return new LR(this,e,r)}},LR=class extends uxe{static{i(this,"DNSDispatchHandler")}#e=null;#t=null;#n=null Line truncated
${s}`;break;case"retry":uj(s)&&(r[o]=s);break;case"id":pj(s)&&(r[o]=s);break;case"event":s.length>0&&(r[o]=s);break}}processEvent(e){e.retry&&uj(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&pj(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};Aj.exports={EventSourceStream:DN}});var gj=h((GI0,zj)=>{"use strict";var{pipeline:mQe}=require("node:stream"),{fetching:zQe}=Sb(),{makeRequest:gQe}=$A(),{webidl:Wi}=st(),{EventSourceStream:OQe}=lj(),{parseMIMEType:EQe}=Zt(),{createFastMessageEvent:CQe}=rl(),{isNetworkError:dj}=Nb(),{delay:yQe}=BN(),{kEnumerableProperty:yu}=He(),{environmentSettingsObject:bj}=Rr(),fj=!1,Mj=3e3,Xb=0,hj=1,Vb=2,BQe="anonymous",qQe="use-credentials",al=class t extends EventTarget{static{i(this,"EventSource")}#e={open:null,error:null,message:null};#t=null;#n=!1;#r=Xb;#o=null;#s=null;#a;#i;constructor(e,r={}){super(),Wi.util.markAsUncloneable(this);let n="EventSource constructor";Wi.argumentLengthCheck(arguments,1,n),fj||(fj=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=Wi.converters.USVString(e,n,"url"),r=Wi.converters.EventSourceInitDict(r,n,"eventSourceInitDict"),this.#a=r.dispatcher,this.#i={lastEventId:"",reconnectionTime:Mj};let o=bj,s;try{s=new URL(e,o.settingsObject.baseUrl),this.#i.origin=s.origin}catch(u){throw new DOMException(u,"SyntaxError")}this.#t=s.href;let a=BQe;r.withCredentials&&(a=qQe,this.#n=!0);let c={redirect:"follow",keepalive:!0,mode:"cors",credentials:a==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};c.client=bj.settingsObject,c.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],c.cache="no-store",c.initiator="other",c.urlList=[new URL(this.#t)],this.#o=gQe(c),this.#u()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#n}#u(){if(this.#r===Vb)return;this.#r=Xb;let e={request:this.#o,dispatcher:this.#a},r=i(n=>{dj(n)&&(this.dispatchEvent(new Event("error")),this.close()),this.#c()},"processEventSourceEndOfBody");e.processResponseEndOfBody=r,e.processResponse=n=>{if(dj(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#c();return}let o=n.headersList.get("content-type",!0),s=o!==null?EQe(o):"failure",a=s!=="failure"&&s.essence==="text/event-stream";if(n.status!==200||a===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#r=hj,this.dispatchEvent(new Event("open")),this.#i.origin=n.urlList[n.urlList.length-1].origin;let c=new OQe({eventSourceSettings:this.#i,push:i(u=>{this.dispatchEvent(CQe(u.type,u.options))},"push")});mQe(n.body.stream,c,u=>{u?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#s=zQe(e)}async#c(){this.#r!==Vb&&(this.#r=Xb,this.dispatchEvent(new Event("error")),await yQe(this.#i.reconnectionTime),this.#r===Xb&&(this.#i.lastEventId.length&&this.#o.headersList.set("last-event-id",this.#i.lastEventId,!0),this.#u()))}close(){Wi.brandCheck(this,t),this.#r!==Vb&&(this.#r=Vb,this.#s.abort(),this.#o=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof e=="function"?(this.#e.open=e,this.addEventListener("open",e)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof e=="function"?(this.#e.message=e,this.addEventListener("message",e)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof e=="function"?(this.#e.error=e,this.addEventListener("error",e)):this.#e.error=null}},mj={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:Xb,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:hj,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:Vb,writable:!1}};Object.defineProperties(al,mj);Object.defineProperties(al.prototype,mj);Object.defineProperties(al.prototype,{close:yu,onerror:yu,onmessage:yu,onopen:yu,readyState:yu,url:yu,withCredentials:yu});Wi.converters.EventSourceInitDict=Wi.dictionaryConverter([{key:"withCredentials",converter:Wi.converters.boolean,defaultValue:i(()=>!1,"defaultValue")},{key:"dispatcher",converter:Wi.converters.any}]);zj.exports={EventSource:al,defaultReconnectionTime:Mj}});var ul=h((XI0,ze)=>{"use strict";var DQe=WA(),Oj=jd(),IQe=xA(),RQe=mX(),NQe=TA(),wQe=Y5(),SQe=kX(),FQe=JX(),Ej=i0(),uO=He(),{InvalidArgumentError:cO}=Ej,cl=xV(),WQe=Zd(),xQe=RR(),TQe=hY(),vQe=SR(),LQe=MR(),QQe=Ag(),{getGlobalDispatcher:Cj,setGlobalDispatcher:_Qe}=Og(),PQe=Eg(),kQe=eg(),UQe=tg();Object.assign(Oj.prototype,cl);ze.exports.Dispatcher=Oj;ze.exports.Client=DQe;ze.exports.Pool=IQe;ze.exports.BalancedPool=RQe;ze.exports.Agent=NQe;ze.exports. Line truncated
%s`,W,W,B,n);var x=B.type==="*"?Sw:B.type==="?"?ww:"\\"+B.type;o=!0,n=n.slice(0,B.reStart)+x+"\\("+W}z(),s&&(n+="\\\\");var L=!1;switch(n.charAt(0)){case"[":case".":case"(":L=!0}for(var ce=c.length-1;ce>-1;ce--){var Te=c[ce],Ge=n.slice(0,Te.reStart),Ne=n.slice(Te.reStart,Te.reEnd-8),Be=n.slice(Te.reEnd-8,Te.reEnd),ke=n.slice(Te.reEnd);Be+=ke;var pe=Ge.split("(").length-1,Ue=ke;for(O=0;O<pe;O++)Ue=Ue.replace(/\)[+*?]?/,"");ke=Ue;var J="";ke===""&&e!==FO&&(J="$");var Qe=Ge+Ne+ke+J+Be;n=Qe}if(n!==""&&o&&(n="(?=.)"+n),L&&(n=b+n),e===FO)return[n,o];if(!o)return a7e(t);var C0=r.nocase?"i":"";try{var Mt=new RegExp("^"+n+"$",C0)}catch{return new RegExp("$.")}return Mt._glob=t,Mt._src=n,Mt}i(s7e,"parse");kr.makeRe=function(t,e){return new ct(t,e||{}).makeRe()};ct.prototype.makeRe=i7e;function i7e(){if(this.regexp||this.regexp===!1)return this.regexp;var t=this.set;if(!t.length)return this.regexp=!1,this.regexp;var e=this.options,r=e.noglobstar?Sw:e.dot?Kke:Zke,n=e.nocase?"i":"",o=t.map(function(s){return s.map(function(a){return a===Fw?r:typeof a=="string"?c7e(a):a._src}).join("\\/")}).join("|");o="^(?:"+o+")$",this.negate&&(o="^(?!"+o+").*$");try{this.regexp=new RegExp(o,n)}catch{this.regexp=!1}return this.regexp}i(i7e,"makeRe");kr.match=function(t,e,r){r=r||{};var n=new ct(e,r);return t=t.filter(function(o){return n.match(o)}),n.options.nonull&&!t.length&&t.push(e),t};ct.prototype.match=i(function(e,r){if(typeof r>"u"&&(r=this.partial),this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&r)return!0;var n=this.options;hf.sep!=="/"&&(e=e.split(hf.sep).join("/")),e=e.split(Ree),this.debug(this.pattern,"split",e);var o=this.set;this.debug(this.pattern,"set",o);var s,a;for(a=e.length-1;a>=0&&(s=e[a],!s);a--);for(a=0;a<o.length;a++){var c=o[a],u=e;n.matchBase&&c.length===1&&(u=[s]);var p=this.matchOne(u,c,r);if(p)return n.flipNegate?!0:!this.negate}return n.flipNegate?!1:this.negate},"match");ct.prototype.matchOne=function(t,e,r){var n=this.options;this.debug("matchOne",{this:this,file:t,pattern:e}),this.debug("matchOne",t.length,e.length);for(var o=0,s=0,a=t.length,c=e.length;o<a&&s<c;o++,s++){this.debug("matchOne loop");var u=e[s],p=t[o];if(this.debug(e,u,p),u===!1)return!1;if(u===Fw){this.debug("GLOBSTAR",[e,u,p]);var A=o,l=s+1;if(l===c){for(this.debug("** at the end");o<a;o++)if(t[o]==="."||t[o]===".."||!n.dot&&t[o].charAt(0)===".")return!1;return!0}for(;A<a;){var b=t[A];if(this.debug(`
globstar while`,t,A,e,l,b),this.matchOne(t.slice(A),e.slice(l),r))return this.debug("globstar found match!",A,a,b),!0;if(b==="."||b===".."||!n.dot&&b.charAt(0)==="."){this.debug("dot detected!",t,A,e,l);break}this.debug("globstar swallow a segment, and continue"),A++}return!!(r&&(this.debug(`
>>> no match, partial?`,t,A,e,l),A===a))}var M;if(typeof u=="string"?(M=p===u,this.debug("string match",u,p,M)):(M=p.match(u),this.debug("pattern match",u,p,M)),!M)return!1}if(o===a&&s===c)return!0;if(o===a)return r;if(s===c)return o===a-1&&t[o]==="";throw new Error("wtf?")};function a7e(t){return t.replace(/\\(.)/g,"$1")}i(a7e,"globUnescape");function c7e(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}i(c7e,"regExpEscape")});var zl=h((C60,Tee)=>{"use strict";var M7e="2.0.0",h7e=Number.MAX_SAFE_INTEGER||9007199254740991,m7e=16,z7e=250,g7e=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Tee.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:m7e,MAX_SAFE_BUILD_LENGTH:z7e,MAX_SAFE_INTEGER:h7e,RELEASE_TYPES:g7e,SEMVER_SPEC_VERSION:M7e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var gf=h((y60,vee)=>{"use strict";var O7e=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};vee.exports=O7e});var gl=h((os,Lee)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:xw,MAX_SAFE_BUILD_LENGTH:E7e,MAX_LENGTH:C7e}=zl(),y7e=gf();os=Lee.exports={};var B7e=os.re=[],q7e=os.safeRe=[],Z=os.src=[],D7e=os.safeSrc=[],ee=os.t={},I7e=0,Tw="[a-zA-Z0-9-]",R7e=[["\\s",1],["\\d",C7e],[Tw,E7e]],N7e=i(t=>{for(let[e,r]of R7e)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},"makeSafeRegex"),Se=i((t,e,r)=>{let n=N7e(e),o=I7e++;y7e(t,o,e),ee[t]=o,Z[o]=e,D7e[o]=n,B7e[o]=new RegExp(e,r?"g":void 0),q7e[o]=new RegExp(n,r?"g":void 0)},"createToken");Se("NUMERICIDENTIFIER","0|[1-9]\\d*");Se("NUMERICIDENTIFIERLOOSE","\\d+");Se("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Tw}*`);Se("MAINVERSION",`(${Z[ee.NUMERICIDENTIFIER]})\\.(${Z[ee.NUMERICIDENTIFIER]})\\.(${Z[ee.NUMERICIDENTIFIER]})`);Se("MAINVERSIONLOOSE",`(${Z[ee.NUMERICIDENTIFIERLOOSE]})\\.(${Z[ee.NUMERICIDENTIFIERLOOSE]})\\.(${Z[ee.NUMERICIDENTIFIERLOOSE]})`);Se("PRERELEASEIDENTIFIER",`(?:${Z[ee.NONNUMERICIDENTIFIER]}|${Z[ee.NUMERICIDENTIFIER]})`);Se("PRERELEASEIDENTIFIERLOOSE",`(?:${Z[ee.NONNUMERICIDENTIFIER]}|${Z[ee.NUMERICIDENTIFIERLOOSE]})`);Se("PRERELEASE",`(?:-(${Z[ee.PRERELEASEIDENTIFIER]}(?:\\.${Z[ee.PRERELEASEIDENTIFIER]})*))`);Se("PRERELEASELOOSE",`(?:-?(${Z[ee.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Z[ee.PRERELEASEIDENTIFIERLOOSE]})*))`);Se("BUILDIDENTIFIER",`${Tw}+`);Se("BUILD",`(?:\\+(${Z[ee.BUILDIDENTIFIER]}(?:\\.${Z[ee.BUILDIDENTIFIER]})*))`);Se("FULLPLAIN",`v?${Z[ee.MAINVERSION]}${Z[ee.PRERELEASE]}?${Z[ee.BUILD]}?`);Se("FULL",`^${Z[ee.FULLPLAIN]}$`);Se("LOOSEPLAIN",`[v=\\s]*${Z[ee.MAINVERSIONLOOSE]}${Z[ee.PRERELEASELOOSE]}?${Z[ee.BUILD]}?`);Se("LOOSE",`^${Z[ee.LOOSEPLAIN]}$`);Se("GTLT","((?:<|>)?=?)");Se("XRANGEIDENTIFIERLOOSE",`${Z[ee.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Se("XRANGEIDENTIFIER",`${Z[ee.NUMERICIDENTIFIER]}|x|X|\\*`);Se("XRANGEPLAIN",`[v=\\s]*(${Z[ee.XRANGEIDENTIFIER]})(?:\\.(${Z[ee.XRANGEIDENTIFIER]})(?:\\.(${Z[ee.XRANGEIDENTIFIER]})(?:${Z[ee.PRERELEASE]})?${Z[ee.BUILD]}?)?)?`);Se("XRANGEPLAINLOOSE",`[v=\\s]*(${Z[ee.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Z[ee.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Z[ee.XRANGEIDENTIFIERLOOSE]})(?:${Z[ee.PRERELEASELOOSE]})?${Z[ee.BUILD]}?)?)?`);Se("XRANGE",`^${Z[ee.GTLT]}\\s*${Z[ee.XRANGEPLAIN]}$`);Se("XRANGELOOSE",`^${Z[ee.GTLT]}\\s*${Z[ee.XRANGEPLAINLOOSE]}$`);Se("COERCEPLAIN",`(^|[^\\d])(\\d{1,${xw}})(?:\\.(\\d{1,${xw}}))?(?:\\.(\\d{1,${xw}}))?`);Se("COERCE",`${Z[ee.COERCEPLAIN]}(?:$|[^\\d])`);Se("COERCEFULL",Z[ee.COERCEPLAIN]+`(?:${Z[ee.PRERELEASE]})?(?:${Z[ee.BUILD]})?(?:$|[^\\d])`);Se("COERCERTL",Z[ee.COERCE],!0);Se("COERCERTLFULL",Z[ee.COERCEFULL],!0);Se("LONETILDE","(?:~>?)");Se("TILDETRIM",`(\\s*)${Z[ee.LONETILDE]}\\s+`,!0);os.tildeTrimReplace="$1~";Se("TILDE",`^${Z[ee.LONETILDE]}${Z[ee.XRANGEPLAIN]}$`);Se("TILDELOOSE",`^${Z[ee.LONETILDE]}${Z[ee.XRANGEPLAINLOOSE]}$`);Se("LONECARET","(?:\\^)");Se("CARETTRIM",`(\\s*)${Z[ee.LONECARET]}\\s+`,!0);os.caretTrimReplace="$1^";Se("CARET",`^${Z[ee.LONECARET]}${Z[ee.XRANGEPLAIN]}$`);Se("CARETLOOSE",`^${Z[ee.LONECARET]}${Z[ee.XRANGEPLAINLOOSE]}$`);Se("COMPARATORLOOSE",`^${Z[ee.GTLT]}\\s*(${Z[ee.LOOSEPLAIN]})$|^$`);Se("COMPARATOR",`^${Z[ee.GTLT]}\\s*(${Z[ee.FULLPLAIN]})$|^$`);Se("COMPARATORTRIM",`(\\s*)${Z[ee.GTLT]}\\s*(${Z[ee.LOOSEPLAIN]}|${Z[ee.XRANGEPLAIN]})`,!0);os.comparatorTrimReplace="$1$2$3";Se("HYPHENRANGE",`^\\s*(${Z[ee.XRANGEPLAIN]})\\s+-\\s+(${Z[ee.XRANGEPLAIN]})\\s*$`);Se("HYPHENRANGELOOSE",`^\\s*(${Z[ee.XRANGEPLAINLOOSE]})\\s+-\\s+(${Z[ee.XRANGEPLAINLOOSE]})\\s*$`);Se("STAR","(<|>)?=?\\s*\\*");Se("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Se("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var vO=h((q60,Qee)=>{"use strict";var w7e=Object.freeze({loose:!0}),S7e=Object.freeze({}),F7e=i(t=>t?typeof t!="object"?w7e:t:S7e,"parseOptions");Qee.exports=F7e});var vw=h((I60,kee)=>{"use strict";var _ee=/^[0-9]+$/,Pee=i((t,e)=>{if(typeof t=="number"&&typeof e=="number")return t===e?0:t<e?-1:1;let r=_ee.test(t),n=_ee.test(e);return r&&n&&(t=+t,e=+e),t===e?0:r&&!n?-1:n&&! Line truncated
`).join(`
`+s),t.push(o+"m+"+C3.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=zHe()+e+" "+t[0]}i(mHe,"formatArgs");function zHe(){return At.inspectOpts.hideDate?"":new Date().toISOString()+" "}i(zHe,"getDate");function gHe(...t){return process.stderr.write(E3.format(...t)+`
`)}i(gHe,"log");function OHe(t){t?process.env.DEBUG=t:delete process.env.DEBUG}i(OHe,"save");function EHe(){return process.env.DEBUG}i(EHe,"load");function CHe(t){t.inspectOpts={};let e=Object.keys(At.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=At.inspectOpts[e[r]]}i(CHe,"init");C3.exports=B6()(At);var{formatters:Ote}=C3.exports;Ote.o=function(t){return this.inspectOpts.colors=this.useColors,E3.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};Ote.O=function(t){return this.inspectOpts.colors=this.useColors,E3.inspect(t,this.inspectOpts)}});var y3=h((fx0,R6)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?R6.exports=Mte():R6.exports=Ete()});var Bte=h(ir=>{"use strict";var yHe=ir&&ir.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),BHe=ir&&ir.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Cte=ir&&ir.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&yHe(e,t,r);return BHe(e,t),e};Object.defineProperty(ir,"__esModule",{value:!0});ir.req=ir.json=ir.toBuffer=void 0;var qHe=Cte(require("http")),DHe=Cte(require("https"));async function yte(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}i(yte,"toBuffer");ir.toBuffer=yte;async function IHe(t){let r=(await yte(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}i(IHe,"json");ir.json=IHe;function RHe(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?DHe:qHe).request(t,e),o=new Promise((s,a)=>{n.once("response",s).once("error",a).end()});return n.then=o.then.bind(o),n}i(RHe,"req");ir.req=RHe});var Rte=h(Xr=>{"use strict";var Dte=Xr&&Xr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),NHe=Xr&&Xr.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Ite=Xr&&Xr.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Dte(e,t,r);return NHe(e,t),e},wHe=Xr&&Xr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Dte(e,t,r)};Object.defineProperty(Xr,"__esModule",{value:!0});Xr.Agent=void 0;var SHe=Ite(require("net")),qte=Ite(require("http")),FHe=require("https");wHe(Bte(),Xr);var cs=Symbol("AgentBaseInternalState"),N6=class extends qte.Agent{static{i(this,"Agent")}constructor(e){super(e),this[cs]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new SHe.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?FHe.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(c=>{if(this.decrementSockets(s,a),c instanceof qte.Agent)try{return c.addRequest(e,o)}catch(u){return n(u)}this[cs].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,a),n(c)})}createConnection(){let e=this[cs].currentSocket;if(this[cs].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[cs].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[cs]&&(this[cs].defaultPort=e)}get protocol(){return this[cs].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[cs]&&(this[cs].protocol=e)}};Xr.Agent=N6});var Nte=h(Nl=>{"use strict";var WHe=Nl&&Nl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Nl,"__esModule",{value:!0});Nl.parseProxyResponse=void 0;var xHe=WHe(y3()),B3=(0,xHe.default)("https-proxy-agent:parse-proxy-response");function THe(t){return new Promise((e,r)=>{let n=0,o=[];function s(){let A=t.read();A?p(A):t.once("readable",s)}i(s,"read");function a(){t.removeListener("end",c),t.removeListener("error",u),t.removeListener("readable",s)}i(a,"cleanup");function c(){a(),B3("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}i(c,"onend");function u(A){a(),B3("onerror %o",A),r(A)}i(u,"onerror");function p(A){o.push(A),n+=A.length;let l=Buffer.concat(o,n),b=l.indexOf(`\r
\r
`);if(b===-1){B3("have not received end of HTTP headers yet..."),s();return}let M=l.slice(0,b).toString("ascii").split(`\r
`),z=M.shift();if(!z)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let O=z.split(" "),y=+O[1],E=O.slice(2).join(" "),B={};for(let q of M){if(!q)continue;let I=q.indexOf(":");if(I===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${q}"`));let W=q.slice(0,I).toLowerCase(),x=q.slice(I+1).trimStart(),L=B[W];typeof L=="string"?B[W]=[L,x]:Array.isArray(L)?L.push(x):B[W]=x}B3("got proxy server response: %o %o",z,B),a(),e({connect:{statusCode:y,statusText:E,headers:B},buffered:l})}i(p,"ondata"),t.on("error",u),t.on("end",c),s()})}i(THe,"parseProxyResponse");Nl.parseProxyResponse=THe});var Tte=h(Dn=>{"use strict";var vHe=Dn&&Dn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),LHe=Dn&&Dn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Wte=Dn&&Dn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&vHe(e,t,r);return LHe(e,t),e},xte=Dn&&Dn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Dn,"__esModule",{value:!0});Dn.HttpsProxyAgent=void 0;var q3=Wte(require("net")),wte=Wte(require("tls")),QHe=xte(require("assert")),_He=xte(y3()),PHe=Rte(),kHe=require("url"),UHe=Nte(),xf=(0,_He.default)("https-proxy-agent"),Ste=i(t=>t.servername===void 0&&t.host&&!q3.isIP(t.host)?{...t,servername:t.host}:t,"setServernameFromNonIpHost"),D3=class extends PHe.Agent{static{i(this,"HttpsProxyAgent")}constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new kHe.URL(e):e,this.proxyHeaders=r?.headers??{},xf("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?Fte(r,"headers"):null,host:n,port:o}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let o;n.protocol==="https:"?(xf("Creating `tls.Socket`: %o",this.connectOpts),o=wte.connect(Ste(this.connectOpts))):(xf("Creating `net.Socket`: %o",this.connectOpts),o=q3.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=q3.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
`;if(n.username||n.password){let b=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(b).toString("base64")}`}s.Host=`${a}:${r.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let b of Object.keys(s))c+=`${b}: ${s[b]}\r
`;let u=(0,UHe.parseProxyResponse)(o);o.write(`${c}\r
`);let{connect:p,buffered:A}=await u;if(e.emit("proxyConnect",p),this.emit("proxyConnect",p,e),p.statusCode===200)return e.once("socket",GHe),r.secureEndpoint?(xf("Upgrading socket connection to TLS"),wte.connect({...Fte(Ste(r),"host","path","port"),socket:o})):o;o.destroy();let l=new q3.Socket({writable:!1});return l.readable=!0,e.once("socket",b=>{xf("Replaying proxy buffer for failed request"),(0,QHe.default)(b.listenerCount("data")>0),b.push(A),b.push(null)}),l}};D3.protocols=["http","https"];Dn.HttpsProxyAgent=D3;function GHe(t){t.resume()}i(GHe,"resume");function Fte(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}i(Fte,"omit")});var Qte=h(ar=>{"use strict";var HHe=ar&&ar.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),XHe=ar&&ar.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),vte=ar&&ar.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&HHe(e,t,r);return XHe(e,t),e};Object.defineProperty(ar,"__esModule",{value:!0});ar.req=ar.json=ar.toBuffer=void 0;var VHe=vte(require("http")),YHe=vte(require("https"));async function Lte(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}i(Lte,"toBuffer");ar.toBuffer=Lte;async function JHe(t){let r=(await Lte(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}i(JHe,"json");ar.json=JHe;function $He(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?YHe:VHe).request(t,e),o=new Promise((s,a)=>{n.once("response",s).once("error",a).end()});return n.then=o.then.bind(o),n}i($He,"req");ar.req=$He});var Ute=h(Vr=>{"use strict";var Pte=Vr&&Vr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),jHe=Vr&&Vr.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),kte=Vr&&Vr.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Pte(e,t,r);return jHe(e,t),e},KHe=Vr&&Vr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Pte(e,t,r)};Object.defineProperty(Vr,"__esModule",{value:!0});Vr.Agent=void 0;var ZHe=kte(require("net")),_te=kte(require("http")),eXe=require("https");KHe(Qte(),Vr);var us=Symbol("AgentBaseInternalState"),w6=class extends _te.Agent{static{i(this,"Agent")}constructor(e){super(e),this[us]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new ZHe.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return(typeof e.secureEndpoint=="boolean"?e.secureEndpoint:this.isSecureEndpoint(e))?eXe.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(c=>{if(this.decrementSockets(s,a),c instanceof _te.Agent)return c.addRequest(e,o);this[us].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,a),n(c)})}createConnection(){let e=this[us].currentSocket;if(this[us].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[us].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[us]&&(this[us].defaultPort=e)}get protocol(){return this[us].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[us]&&(this[us].protocol=e)}};Vr.Agent=w6});var Xte=h(In=>{"use strict";var tXe=In&&In.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),rXe=In&&In.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Hte=In&&In.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&tXe(e,t,r);return rXe(e,t),e},nXe=In&&In.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(In,"__esModule",{value:!0});In.HttpProxyAgent=void 0;var oXe=Hte(require("net")),sXe=Hte(require("tls")),iXe=nXe(y3()),aXe=require("events"),cXe=Ute(),Gte=require("url"),wl=(0,iXe.default)("http-proxy-agent"),I3=class extends cXe.Agent{static{i(this,"HttpProxyAgent")}constructor(e,r){super(r),this.proxy=typeof e=="string"?new Gte.URL(e):e,this.proxyHeaders=r?.headers??{},wl("Creating new HttpProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={...r?uXe(r,"headers"):null,host:n,port:o}}addRequest(e,r){e._header=null,this.setRequestProps(e,r),super.addRequest(e,r)}setRequestProps(e,r){let{proxy:n}=this,o=r.secureEndpoint?"https:":"http:",s=e.getHeader("host")||"localhost",a=`${o}//${s}`,c=new Gte.URL(e.path,a);r.port!==80&&(c.port=String(r.port)),e.path=String(c);let u=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders};if(n.username||n.password){let p=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;u["Proxy-Authorization"]=`Basic ${Buffer.from(p).toString("base64")}`}u["Proxy-Connection"]||(u["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let p of Object.keys(u)){let A=u[p];A&&e.setHeader(p,A)}}async connect(e,r){e._header=null,e.path.includes("://")||this.setRequestProps(e,r);let n,o;wl("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(wl("Patching connection write() output buffer with updated header"),n=e.outputData[0].data,o=n.indexOf(`\r
\r
`)+4,e.outputData[0].data=e._header+n.substring(o),wl("Output buffer: %o",e.outputData[0].data));let s;return this.proxy.protocol==="https:"?(wl("Creating `tls.Socket`: %o",this.connectOpts),s=sXe.connect(this.connectOpts)):(wl("Creating `net.Socket`: %o",this.connectOpts),s=oXe.connect(this.connectOpts)),await(0,aXe.once)(s,"connect"),s}};I3.protocols=["http","https"];In.HttpProxyAgent=I3;function uXe(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}i(uXe,"omit")});var bre=h(k3=>{"use strict";Object.defineProperty(k3,"__esModule",{value:!0});k3.state=void 0;k3.state={instrumenterImplementation:void 0}});var wre=h(V3=>{"use strict";Object.defineProperty(V3,"__esModule",{value:!0});V3.state=void 0;V3.state={operationRequestMap:new WeakMap}});var use=h(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});var Rje=require("os"),Nje=require("util");function wje(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}i(wje,"_interopDefaultLegacy");var Sje=wje(Nje);function Fje(t,...e){process.stderr.write(`${Sje.default.format(t,...e)}${Rje.EOL}`)}i(Fje,"log");var Zoe=typeof process<"u"&&process.env&&process.env.DEBUG||void 0,tse,uT=[],pT=[],lC=[];Zoe&&AT(Zoe);var rse=Object.assign(t=>nse(t),{enable:AT,enabled:lT,disable:Wje,log:Fje});function AT(t){tse=t,uT=[],pT=[];let e=/\*/g,r=t.split(",").map(n=>n.trim().replace(e,".*?"));for(let n of r)n.startsWith("-")?pT.push(new RegExp(`^${n.substr(1)}$`)):uT.push(new RegExp(`^${n}$`));for(let n of lC)n.enabled=lT(n.namespace)}i(AT,"enable");function lT(t){if(t.endsWith("*"))return!0;for(let e of pT)if(e.test(t))return!1;for(let e of uT)if(e.test(t))return!0;return!1}i(lT,"enabled");function Wje(){let t=tse||"";return AT(""),t}i(Wje,"disable");function nse(t){let e=Object.assign(r,{enabled:lT(t),destroy:xje,log:rse.log,namespace:t,extend:Tje});function r(...n){e.enabled&&(n.length>0&&(n[0]=`${t} ${n[0]}`),e.log(...n))}return i(r,"debug"),lC.push(e),e}i(nse,"createDebugger");function xje(){let t=lC.indexOf(this);return t>=0?(lC.splice(t,1),!0):!1}i(xje,"destroy");function Tje(t){let e=nse(`${this.namespace}:${t}`);return e.log=this.log,e}i(Tje,"extend");var EM=rse,ose=new Set,pC=typeof process<"u"&&process.env&&process.env.AZURE_LOG_LEVEL||void 0,dC,bC=EM("azure");bC.log=(...t)=>{EM.log(...t)};var dT=["verbose","info","warning","error"];pC&&(cse(pC)?sse(pC):console.error(`AZURE_LOG_LEVEL set to unknown log level '${pC}'; logging is not enabled. Acceptable values: ${dT.join(", ")}.`));function sse(t){if(t&&!cse(t))throw new Error(`Unknown log level '${t}'. Acceptable values: ${dT.join(",")}`);dC=t;let e=[];for(let r of ose)ase(r)&&e.push(r.namespace);EM.enable(e.join(","))}i(sse,"setLogLevel");function vje(){return dC}i(vje,"getLogLevel");var ese={verbose:400,info:300,warning:200,error:100};function Lje(t){let e=bC.extend(t);return ise(bC,e),{error:AC(e,"error"),warning:AC(e,"warning"),info:AC(e,"info"),verbose:AC(e,"verbose")}}i(Lje,"createClientLogger");function ise(t,e){e.log=(...r)=>{t.log(...r)}}i(ise,"patchLogMethod");function AC(t,e){let r=Object.assign(t.extend(e),{level:e});if(ise(t,r),ase(r)){let n=EM.disable();EM.enable(n+","+r.namespace)}return ose.add(r),r}i(AC,"createLogger");function ase(t){return!!(dC&&ese[t.level]<=ese[dC])}i(ase,"shouldEnable");function cse(t){return dT.includes(t)}i(cse,"isAzureLogLevel");Jl.AzureLogger=bC;Jl.createClientLogger=Lje;Jl.getLogLevel=vje;Jl.setLogLevel=sse});var MT=h(yM=>{"use strict";Object.defineProperty(yM,"__esModule",{value:!0});var $l=new WeakMap,fC=new WeakMap,CM=class t{static{i(this,"AbortSignal")}constructor(){this.onabort=null,$l.set(this,[]),fC.set(this,!1)}get aborted(){if(!fC.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");return fC.get(this)}static get none(){return new t}addEventListener(e,r){if(!$l.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");$l.get(this).push(r)}removeEventListener(e,r){if(!$l.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");let n=$l.get(this),o=n.indexOf(r);o>-1&&n.splice(o,1)}dispatchEvent(e){throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes.")}};function pse(t){if(t.aborted)return;t.onabort&&t.onabort.call(t);let e=$l.get(t);e&&e.slice().forEach(r=>{r.call(t,{type:"abort"})}),fC.set(t,!0)}i(pse,"abortSignal");var bT=class extends Error{static{i(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}},fT=class{static{i(this,"AbortController")}constructor(e){if(this._signal=new CM,!!e){Array.isArray(e)||(e=arguments);for(let r of e)r.aborted?this.abort():r.addEventListener("abort",()=>{this.abort()})}}get signal(){return this._signal}abort(){pse(this._signal)}static timeout(e){let r=new CM,n=setTimeout(pse,e,r);return typeof n.unref=="function"&&n.unref(),r}};yM.AbortController=fT;yM.AbortError=bT;yM.AbortSignal=CM});var fse=h(c1=>{"use strict";Object.defineP Line truncated
Polling from: ${r.config.operationLocation}
Operation status: ${A}
Polling status: ${zse.includes(A)?"Stopped":"Running"}`),A==="succeeded"){let l=a(p,r);if(l!==void 0)return{response:await e(l).catch(hse({state:r,stateProxy:n,isOperationError:c})),status:A}}return{response:p,status:A}}i(bKe,"pollOperationHelper");async function Cse(t){let{poll:e,state:r,stateProxy:n,options:o,getOperationStatus:s,getResourceLocation:a,getOperationLocation:c,isOperationError:u,withOperationLocation:p,getPollingInterval:A,processResult:l,getError:b,updateState:M,setDelay:z,isDone:O,setErrorAsResult:y}=t,{operationLocation:E}=r.config;if(E!==void 0){let{response:B,status:q}=await bKe({poll:e,getOperationStatus:s,state:r,stateProxy:n,operationLocation:E,getResourceLocation:a,isOperationError:u,options:o});if(Ose({status:q,response:B,state:r,stateProxy:n,isDone:O,processResult:l,getError:b,setErrorAsResult:y}),!zse.includes(q)){let I=A?.(B);I&&z(I);let W=c?.(B,r);if(W!==void 0){let x=E!==W;r.config.operationLocation=W,p?.(W,x)}else p?.(E,!1)}M?.(r,B)}}i(Cse,"pollOperation");function yse(t){let{azureAsyncOperation:e,operationLocation:r}=t;return r??e}i(yse,"getOperationLocationPollingUrl");function Bse(t){return t.headers.location}i(Bse,"getLocationHeader");function qse(t){return t.headers["operation-location"]}i(qse,"getOperationLocationHeader");function Dse(t){return t.headers["azure-asyncoperation"]}i(Dse,"getAzureAsyncOperationHeader");function fKe(t){var e;let{location:r,requestMethod:n,requestPath:o,resourceLocationConfig:s}=t;switch(n){case"PUT":return o;case"DELETE":return;case"PATCH":return(e=a())!==null&&e!==void 0?e:o;default:return a()}function a(){switch(s){case"azure-async-operation":return;case"original-uri":return o;default:return r}}i(a,"getDefault")}i(fKe,"findResourceLocation");function Ise(t){let{rawResponse:e,requestMethod:r,requestPath:n,resourceLocationConfig:o}=t,s=qse(e),a=Dse(e),c=yse({operationLocation:s,azureAsyncOperation:a}),u=Bse(e),p=r?.toLocaleUpperCase();return c!==void 0?{mode:"OperationLocation",operationLocation:c,resourceLocation:fKe({requestMethod:p,location:u,requestPath:n,resourceLocationConfig:o})}:u!==void 0?{mode:"ResourceLocation",operationLocation:u}:p==="PUT"&&n?{mode:"Body",operationLocation:n}:void 0}i(Ise,"inferLroMode");function Rse(t){let{status:e,statusCode:r}=t;if(typeof e!="string"&&e!==void 0)throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${e}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);switch(e?.toLocaleLowerCase()){case void 0:return DT(r);case"succeeded":return"succeeded";case"failed":return"failed";case"running":case"accepted":case"started":case"canceling":case"cancelling":return"running";case"canceled":case"cancelled":return"canceled";default:return np.verbose(`LRO: unrecognized operation status: ${e}`),e}}i(Rse,"transformStatus");function MKe(t){var e;let{status:r}=(e=t.body)!==null&&e!==void 0?e:{};return Rse({status:r,statusCode:t.statusCode})}i(MKe,"getStatus");function hKe(t){var e,r;let{properties:n,provisioningState:o}=(e=t.body)!==null&&e!==void 0?e:{},s=(r=n?.provisioningState)!==null&&r!==void 0?r:o;return Rse({status:s,statusCode:t.statusCode})}i(hKe,"getProvisioningState");function DT(t){return t===202?"running":t<300?"succeeded":"failed"}i(DT,"toOperationStatus");function Nse({rawResponse:t}){let e=t.headers["retry-after"];if(e!==void 0){let r=parseInt(e);return isNaN(r)?mKe(new Date(e)):r*1e3}}i(Nse,"parseRetryAfter");function wse(t){let e=t.flatResponse.error;if(!e){np.warning("The long-running operation failed but there is no error property in the response's body");return}if(!e.code||!e.message){np.warning("The long-running operation failed but the error property in the response's body doesn't contain code or message");return}return e}i(wse,"getErrorFromResponse");function mKe(t){let e=Math.floor(new Date().getTime()),r=t.getTime();if(e<r)return r-e}i(mKe,"calculatePollingIntervalFromDate");function Sse(t){let{response:e,state:r,operationLocation:n}=t;function o(){var a;switch((a=r.config.metadata)===null||a===void 0?void 0:a.mode){case void 0:return DT(e.rawResponse.statusCode);case"Body":return IT(e,r);default:return"running"}}i(o,"helper");let s=o();return s==="running"&&n===void 0?"succeeded":s}i(Sse,"getStatusFromInitialResponse");async function zKe(t){let{stateProxy:e,resourceLocationConfig:r,processResult:n,lro:o,setErrorAsResult:s}=t;return Ese({init:i(async()=>{let a=await o.sendInitialRequest(),c=Ise({rawResponse:a.rawResponse,requestPath:o.requestPath,requestMethod:o.requestMethod,resourceLocationConfig:r});return Object.assign({response:a,operationLocation:c?.operationLocation,resourceLocation:c?.resourceLocation},c?.mode?{metadata:{mode:c.mode}}:{})},"init"),stateProxy:e,processResult:n?({flatResponse:a},c)=>n(a,c):({flatResponse:a})=>a,getOperationStatus:Sse,setErrorAsResult:s})}i(zKe,"initHttpOperation");function Fse({rawResponse:t},e){var r;switchLine truncated
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(o){case 0:a=s,o=1;break;case 1:r[n++]=a<<2|(s&48)>>4,a=s,o=2;break;case 2:r[n++]=(a&15)<<4|(s&60)>>2,a=s,o=3;break;case 3:r[n++]=(a&3)<<6|s,o=0;break}}if(o==1)throw Error("invalid base64 string.");return r.subarray(0,n)}i(rZe,"base64decode");r2.base64decode=rZe;function nZe(t){let e="",r=0,n,o=0;for(let s=0;s<t.length;s++)switch(n=t[s],r){case 0:e+=ra[n>>2],o=(n&3)<<4,r=1;break;case 1:e+=ra[o|n>>4],o=(n&15)<<2,r=2;break;case 2:e+=ra[o|n>>6],e+=ra[n&63],r=0;break}return r&&(e+=ra[o],e+="=",r==1&&(e+="=")),e}i(nZe,"base64encode");r2.base64encode=nZe});var lie=h(WC=>{"use strict";Object.defineProperty(WC,"__esModule",{value:!0});WC.utf8read=void 0;var QT=i(t=>String.fromCharCode.apply(String,t),"fromCharCodes");function oZe(t){if(t.length<1)return"";let e=0,r=[],n=[],o=0,s,a=t.length;for(;e<a;)s=t[e++],s<128?n[o++]=s:s>191&&s<224?n[o++]=(s&31)<<6|t[e++]&63:s>239&&s<365?(s=((s&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,n[o++]=55296+(s>>10),n[o++]=56320+(s&1023)):n[o++]=(s&15)<<12|(t[e++]&63)<<6|t[e++]&63,o>8191&&(r.push(QT(n)),o=0);return r.length?(o&&r.push(QT(n.slice(0,o))),r.join("")):QT(n.slice(0,o))}i(oZe,"utf8read");WC.utf8read=oZe});var SM=h(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.WireType=xs.mergeBinaryOptions=xs.UnknownFieldHandler=void 0;var sZe;(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(r,n,o,s,a)=>{(e(n)?n[t.symbol]:n[t.symbol]=[]).push({no:o,wireType:s,data:a})},t.onWrite=(r,n,o)=>{for(let{no:s,wireType:a,data:c}of t.list(n))o.tag(s,a).raw(c)},t.list=(r,n)=>{if(e(r)){let o=r[t.symbol];return n?o.filter(s=>s.no==n):o}return[]},t.last=(r,n)=>t.list(r,n).slice(-1)[0];let e=i(r=>r&&Array.isArray(r[t.symbol]),"is")})(sZe=xs.UnknownFieldHandler||(xs.UnknownFieldHandler={}));function iZe(t,e){return Object.assign(Object.assign({},t),e)}i(iZe,"mergeBinaryOptions");xs.mergeBinaryOptions=iZe;var aZe;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(aZe=xs.WireType||(xs.WireType={}))});var TC=h(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.varint32read=br.varint32write=br.int64toString=br.int64fromString=br.varint64write=br.varint64read=void 0;function cZe(){let t=0,e=0;for(let n=0;n<28;n+=7){let o=this.buf[this.pos++];if(t|=(o&127)<<n,(o&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let o=this.buf[this.pos++];if(e|=(o&127)<<n,(o&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}i(cZe,"varint64read");br.varint64read=cZe;function uZe(t,e,r){for(let s=0;s<28;s=s+7){let a=t>>>s,c=!(!(a>>>7)&&e==0),u=(c?a|128:a)&255;if(r.push(u),!c)return}let n=t>>>28&15|(e&7)<<4,o=e>>3!=0;if(r.push((o?n|128:n)&255),!!o){for(let s=3;s<31;s=s+7){let a=e>>>s,c=!!(a>>>7),u=(c?a|128:a)&255;if(r.push(u),!c)return}r.push(e>>>31&1)}}i(uZe,"varint64write");br.varint64write=uZe;var xC=65536*65536;function pZe(t){let e=t[0]=="-";e&&(t=t.slice(1));let r=1e6,n=0,o=0;function s(a,c){let u=Number(t.slice(a,c));o*=r,n=n*r+u,n>=xC&&(o=o+(n/xC|0),n=n%xC)}return i(s,"add1e6digit"),s(-24,-18),s(-18,-12),s(-12,-6),s(-6),[e,n,o]}i(pZe,"int64fromString");br.int64fromString=pZe;function AZe(t,e){if(e>>>0<=2097151)return""+(xC*e+(t>>>0));let r=t&16777215,n=(t>>>24|e<<8)>>>0&16777215,o=e>>16&65535,s=r+n*6777216+o*6710656,a=n+o*8147497,c=o*2,u=1e7;s>=u&&(a+=Math.floor(s/u),s%=u),a>=u&&(c+=Math.floor(a/u),a%=u);function p(A,l){let b=A?String(A):"";return l?"0000000".slice(b.length)+b:b}return i(p,"decimalFrom1e7"),p(c,0)+p(a,c)+p(s,1)}i(AZe,"int64toString");br.int64toString=AZe;function lZe(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}i(lZe,"varint32write");br.varint32write=lZe;function dZe(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}i(dZe,"varint32read");br.varint32read=dZe});var mc=h(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.PbLong=hc.PbULong=hc.detectBi=void 0;var FM=TC(),y0;function die(){let t=new DataView(new ArrayBuffer(8));y0=globalThis.BigInt!==void 0&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("922337203685477580 Line truncated
`)}};uy.RpcError=lv});var bv=h(Ay=>{"use strict";Object.defineProperty(Ay,"__esModule",{value:!0});Ay.mergeRpcOptions=void 0;var Hie=C1();function xe0(t,e){if(!e)return t;let r={};py(t,r),py(e,r);for(let n of Object.keys(e)){let o=e[n];switch(n){case"jsonOptions":r.jsonOptions=Hie.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=Hie.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},py(t.meta,r.meta),py(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(o):o.concat();break}}return r}i(xe0,"mergeRpcOptions");Ay.mergeRpcOptions=xe0;function py(t,e){if(!t)return;let r=e;for(let[n,o]of Object.entries(t))o instanceof Date?r[n]=new Date(o.getTime()):Array.isArray(o)?r[n]=o.concat():r[n]=o}i(py,"copy")});var Mv=h(cp=>{"use strict";Object.defineProperty(cp,"__esModule",{value:!0});cp.Deferred=cp.DeferredState=void 0;var Ls;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(Ls=cp.DeferredState||(cp.DeferredState={}));var fv=class{static{i(this,"Deferred")}constructor(e=!0){this._state=Ls.PENDING,this._promise=new Promise((r,n)=>{this._resolve=r,this._reject=n}),e&&this._promise.catch(r=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==Ls.PENDING)throw new Error(`cannot resolve ${Ls[this.state].toLowerCase()}`);this._resolve(e),this._state=Ls.RESOLVED}reject(e){if(this.state!==Ls.PENDING)throw new Error(`cannot reject ${Ls[this.state].toLowerCase()}`);this._reject(e),this._state=Ls.REJECTED}resolvePending(e){this._state===Ls.PENDING&&this.resolve(e)}rejectPending(e){this._state===Ls.PENDING&&this.reject(e)}};cp.Deferred=fv});var mv=h(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.RpcOutputStreamController=void 0;var Xie=Mv(),up=C1(),hv=class{static{i(this,"RpcOutputStreamController")}constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,r){return r.push(e),()=>{let n=r.indexOf(e);n>=0&&r.splice(n,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,r,n){up.assert((e?1:0)+(r?1:0)+(n?1:0)<=1,"only one emission at a time"),e&&this.notifyMessage(e),r&&this.notifyError(r),n&&this.notifyComplete()}notifyMessage(e){up.assert(!this.closed,"stream is closed"),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(e,void 0,!1))}notifyError(e){up.assert(!this.closed,"stream is closed"),this._closed=e,this.pushIt(e),this._lis.err.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(void 0,e,!1)),this.clearLis()}notifyComplete(){up.assert(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:i(()=>{let e=this._itState;up.assert(e,"bad state"),up.assert(!e.p,"iterator contract broken");let r=e.q.shift();return r?"value"in r?Promise.resolve(r):Promise.reject(r):(e.p=new Xie.Deferred,e.p.promise)},"next")}}pushIt(e){let r=this._itState;if(r.p){let n=r.p;up.assert(n.state==Xie.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};ly.RpcOutputStreamController=hv});var gv=h(u2=>{"use strict";var Te0=u2&&u2.__awaiter||function(t,e,r,n){function o(s){return s instanceof r?s:new r(function(a){a(s)})}return i(o,"adopt"),new(r||(r=Promise))(function(s,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}i(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}i(u,"rejected");function p(A){A.done?s(A.value):o(A.value).then(c,u)}i(p,"step"),p((n=n.apply(t,e||[])).next())})};Object.defineProperty(u2,"__esModule",{value:!0});u2.UnaryCall=void 0;var zv=class{static{i(this,"UnaryCall")}constructor(e,r,n,o,s,a,c){this.method=e,this.requestHeaders=r,this.request=n,this.headers=o,this.response=s,this.status=a,this.trailers=c}then(e,r){return this.promiseFinished().then(n=>e?Promise.resolve(e(n)):n,n=>r?Promise.resolve(r(n)):Promise.reject(n))}promiseFinished(){return Te0(this,void 0,void 0,function*(){let[e,r,n,o]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:r,status:n,trailers:o}})}};u2.UnaryCall=zv});var Ev=h(p2=>{"use strict";var ve0=p2&&p2.__awaiter||function(t,e,r,n){function o(s){return s instanceof r?s:new r(function(a){a(s)})}return i(o,"adopt"),new(r||(r=Promise))(function(s,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}i(c,"fulfilled");function Line truncated
You can add a runtime option to disable the check or this warning:
See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}i(us0,"logUnexpecedPropertyAccessOnce");function ps0(){Object.keys(p4).forEach(function(t){delete p4[t]})}i(ps0,"resetLoggedProperties")});var l4=h(ks=>{"use strict";ks.__esModule=!0;ks.HandlebarsEnvironment=lQ;function oAe(t){return t&&t.__esModule?t:{default:t}}i(oAe,"_interopRequireDefault");var gp=Yt(),As0=nn(),pQ=oAe(As0),ls0=iQ(),ds0=eAe(),bs0=cQ(),A4=oAe(bs0),fs0=uQ(),Ms0="4.7.9";ks.VERSION=Ms0;var hs0=8;ks.COMPILER_REVISION=hs0;var ms0=7;ks.LAST_COMPATIBLE_COMPILER_REVISION=ms0;var zs0={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};ks.REVISION_CHANGES=zs0;var AQ="[object Object]";function lQ(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},ls0.registerDefaultHelpers(this),ds0.registerDefaultDecorators(this)}i(lQ,"HandlebarsEnvironment");lQ.prototype={constructor:lQ,logger:A4.default,log:A4.default.log,registerHelper:i(function(e,r){if(gp.toString.call(e)===AQ){if(r)throw new pQ.default("Arg not supported with multiple helpers");gp.extend(this.helpers,e)}else this.helpers[e]=r},"registerHelper"),unregisterHelper:i(function(e){delete this.helpers[e]},"unregisterHelper"),registerPartial:i(function(e,r){if(gp.toString.call(e)===AQ)gp.extend(this.partials,e);else{if(typeof r>"u")throw new pQ.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=r}},"registerPartial"),unregisterPartial:i(function(e){delete this.partials[e]},"unregisterPartial"),registerDecorator:i(function(e,r){if(gp.toString.call(e)===AQ){if(r)throw new pQ.default("Arg not supported with multiple decorators");gp.extend(this.decorators,e)}else this.decorators[e]=r},"registerDecorator"),unregisterDecorator:i(function(e){delete this.decorators[e]},"unregisterDecorator"),resetLoggedPropertyAccesses:i(function(){fs0.resetLoggedProperties()},"resetLoggedPropertyAccesses")};var gs0=A4.default.log;ks.log=gs0;ks.createFrame=gp.createFrame;ks.logger=A4.default});var iAe=h((d4,sAe)=>{"use strict";d4.__esModule=!0;function dQ(t){this.string=t}i(dQ,"SafeString");dQ.prototype.toString=dQ.prototype.toHTML=function(){return""+this.string};d4.default=dQ;sAe.exports=d4.default});var aAe=h(bQ=>{"use strict";bQ.__esModule=!0;bQ.wrapHelper=Os0;function Os0(t,e){if(typeof t!="function")return t;var r=i(function(){var o=arguments[arguments.length-1];return arguments[arguments.length-1]=e(o),t.apply(this,arguments)},"wrapper");return r}i(Os0,"wrapHelper")});var dAe=h(yc=>{"use strict";yc.__esModule=!0;yc.checkRevision=Ds0;yc.template=Is0;yc.wrapProgram=b4;yc.resolvePartial=Rs0;yc.invokePartial=Ns0;yc.noop=AAe;function Es0(t){return t&&t.__esModule?t:{default:t}}i(Es0,"_interopRequireDefault");function Cs0(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}i(Cs0,"_interopRequireWildcard");var ys0=Yt(),B2=Cs0(ys0),Bs0=nn(),aa=Es0(Bs0),ca=l4(),cAe=iQ(),qs0=aAe(),uAe=uQ();function Ds0(t){var e=t&&t[0]||1,r=ca.COMPILER_REVISION;if(!(e>=ca.LAST_COMPATIBLE_COMPILER_REVISION&&e<=ca.COMPILER_REVISION))if(e<ca.LAST_COMPATIBLE_COMPILER_REVISION){var n=ca.REVISION_CHANGES[r],o=ca.REVISION_CHANGES[e];throw new aa.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+o+").")}else throw new aa.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}i(Ds0,"checkRevision");function Is0(t,e){if(!e)throw new aa.default("No environment passed to template");if(!t||!t.main)throw new aa.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var r=t.compiler&&t.compiler[0]===7;function n(a,c,u){u.hash&&(c=B2.extend({},c,u.hash),u.ids&&(u.ids[0]=!0)),a=e.VM.resolvePartial.call(this,a,c,u),u.hooks=this.hooks,u.protoAccessControl=this.protoAccessControl;var p=e.VM.invokePartial.call(this,a,c,u);if(p==null&&e.compile&&(u.partials[u.name]=e.compile(a,t.compilerOptions,e),p=u.partials[u.name](c,u)),p!=null){if(u.indent){for(var A=p.split(`
`),l=0,b=A.length;l<b&&!(!A[l]&&l+1===b);l++)A[l]=u.indent+A[l];p=A.join(`
`)}return p}else throw new aa.default("The partial "+u.name+" could not be compiled when running in runtime-only mode")}i(n,"invokePartialWrapper");var o={strict:i(function(c,u,p){if(!c||!(u in c))throw new aa.default('"'+u+'" not defined in '+c,{loc:p});return o.lookupProperty(c,u)},"strict"),lookupProperty:i(function(c,u){var p=c[u];if(p==null||Object.prototype.hasOwnProperty.call(c,u)||uAe.resultIsAllowed(p,o.protoAccessControl,u))return p},"lookupProperty"),lookup:i(function(c,u){for(var p=c.length,A=0;A<p;A++){var l=c[A]&&o.lookupProperty(c[A],u);if(l!=null)return l}},"lookup"),lambda:i(function(c,u){return typeof c=="function"?c.call(u):c},"lambda"),escapeExpression:B2.escapeExpression,invokePartial:n,fn:i(function(c){var u=t[c];return u.decorator=t[c+"_d"],u},"fn"),programs:[],program:i(function(c,u,p,A,l){var b=this.programs[c],M=this.fn(c);return u||l||A||p?b=b4(this,c,M,u,p,A,l):b||(b=this.programs[c]=b4(this,c,M)),b},"program"),data:i(function(c,u){for(;c&&u--;)c=c._parent;return c},"data"),mergeIfNeeded:i(function(c,u){var p=c||u;return c&&u&&c!==u&&(p=B2.extend({},u,c)),p},"mergeIfNeeded"),nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function s(a){var c=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],u=c.data;s._setup(c),!c.partial&&t.useData&&(u=ws0(a,u));var p=void 0,A=t.useBlockParams?[]:void 0;t.useDepths&&(c.depths?p=a!=c.depths[0]?[a].concat(c.depths):c.depths:p=[a]);function l(b){return""+t.main(o,b,o.helpers,o.partials,u,A,p)}return i(l,"main"),l=lAe(t.main,l,o,c.depths||[],u,A),l(a,c)}return i(s,"ret"),s.isTop=!0,s._setup=function(a){if(a.partial)o.protoAccessControl=a.protoAccessControl,o.helpers=a.helpers,o.partials=a.partials,o.decorators=a.decorators,o.hooks=a.hooks;else{var c={};pAe(c,e.helpers,o),pAe(c,a.helpers,o),o.helpers=c,t.usePartial&&(o.partials=o.mergeIfNeeded(a.partials,e.partials)),(t.usePartial||t.useDecorators)&&(o.decorators=B2.extend({},e.decorators,a.decorators)),o.hooks={},o.protoAccessControl=uAe.createProtoAccessControl(a);var u=a.allowCallsToHelperMissing||r;cAe.moveHelperToHooks(o,"helperMissing",u),cAe.moveHelperToHooks(o,"blockHelperMissing",u)}},s._child=function(a,c,u,p){if(t.useBlockParams&&!u)throw new aa.default("must pass block params");if(t.useDepths&&!p)throw new aa.default("must pass parent depths");return b4(o,a,t[a],c,0,u,p)},s}i(Is0,"template");function b4(t,e,r,n,o,s,a){function c(u){var p=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],A=a;return a&&u!=a[0]&&!(u===t.nullContext&&a[0]===null)&&(A=[u].concat(a)),r(t,u,t.helpers,t.partials,p.data||n,s&&[p.blockParams].concat(s),A)}return i(c,"prog"),c=lAe(r,c,t,a,n,s),c.program=e,c.depth=a?a.length:0,c.blockParams=o||0,c}i(b4,"wrapProgram");function Rs0(t,e,r){return t?!t.call&&!r.name&&(r.name=t,t=f4(r.partials,t)):r.name==="@partial-block"?t=f4(r.data,"partial-block"):t=f4(r.partials,r.name),t}i(Rs0,"resolvePartial");function Ns0(t,e,r){var n=f4(r.data,"partial-block");r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var o=void 0;if(r.fn&&r.fn!==AAe&&(function(){r.data=ca.createFrame(r.data);var s=r.fn;o=r.data["partial-block"]=i(function(c){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return u.data=ca.createFrame(u.data),u.data["partial-block"]=n,s(c,u)},"partialBlockWrapper"),s.partials&&(r.partials=B2.extend({},r.partials,s.partials))})(),t===void 0&&o&&(t=o),t===void 0)throw new aa.default("The partial "+r.name+" could not be found");if(t instanceof Function)return t(e,r)}i(Ns0,"invokePartial");function AAe(){return""}i(AAe,"noop");function f4(t,e){if(t&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}i(f4,"lookupOwnProperty");function ws0(t,e){return(!e||!("root"in e))&&(e=e?ca.createFrame(e):{},e.root=t),e}i(ws0,"initData");function lAe(t,e,r,n,o,s){if(t.decorator){var a={};e=t.decorator(e,a,r,n&&n[0],o,s,n),B2.extend(e,a)}return e}i(lAe,"executeDecorators");function pAe(t,e,r){e&&Object.keys(e).forEach(function(n){var o=e[n];t[n]=Ss0(o,r)})}i(pAe,"addHelpers");function Ss0(t,e){var r=e.lookupProperty;return qs0.wrapHelper(t,function(n){return n.lookupProperty=r,n})}i(Ss0,"passLookupPropertyOption")});var fQ=h((M4,bAe)=>{"use strict";M4.__esModule=!0;M4.default=function(t){(function(){typeof globalThis!="object"&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__)})();var e=globalThis.Handlebars;t.noConflict=function(){return globalThis.Handlebars===t&&(globalThis.Handlebars=e),t}};bAe.exports=M4.default});var zAe=h((h4,mAe)=>{"use strict";h4.__esModule=!0;function hQ(t){return t&&t.__esModule?t:{default:t}}i(hQ,"_interopRequireDefault");function mQ(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}i(mQ,"_interopRequireWildcard");var Fs0=l4(),fAe=mQ(Fs0),Ws0=iAe(),xs0=hQ(Ws0),Ts0=nn(),vs0=hQ(Ts0),Ls0=Yt(),MQ=mQ(Ls0),Qs0=dAe Line truncated
`+this.lexer.showPosition()+`
Expecting `+pe.join(", ")+", got '"+(this.terminals_[I]||I)+"'":Ue="Parse error on line "+(l+1)+": Unexpected "+(I==1?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(Ue,{text:this.lexer.match,token:this.terminals_[I]||I,line:this.lexer.yylineno,loc:y,expected:pe})}}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+I);switch(L[0]){case 1:a.push(I),c.push(this.lexer.yytext),u.push(this.lexer.yylloc),a.push(L[1]),I=null,W?(I=W,W=null):(b=this.lexer.yyleng,A=this.lexer.yytext,l=this.lexer.yylineno,y=this.lexer.yylloc,M>0&&M--);break;case 2:if(Be=this.productions_[L[1]][1],Ge.$=c[c.length-Be],Ge._$={first_line:u[u.length-(Be||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(Be||1)].first_column,last_column:u[u.length-1].last_column},E&&(Ge._$.range=[u[u.length-(Be||1)].range[0],u[u.length-1].range[1]]),Te=this.performAction.call(Ge,A,b,l,this.yy,L[1],c,u),typeof Te<"u")return Te;Be&&(a=a.slice(0,-1*Be*2),c=c.slice(0,-1*Be),u=u.slice(0,-1*Be)),a.push(this.productions_[L[1]][0]),c.push(Ge.$),u.push(Ge._$),ke=p[a[a.length-2]][a[a.length-1]],a.push(ke);break;case 3:return!0}}return!0},"parse")},e=(function(){var n={EOF:1,parseError:i(function(s,a){if(this.yy.parser)this.yy.parser.parseError(s,a);else throw new Error(s)},"parseError"),setInput:i(function(s){return this._input=s,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:i(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var a=s.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:i(function(s){var a=s.length,c=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a-1),this.offset-=a;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===u.length?this.yylloc.first_column:0)+u[u.length-c.length].length-c[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-a]),this},"unput"),more:i(function(){return this._more=!0,this},"more"),less:i(function(s){this.unput(this.match.slice(s))},"less"),pastInput:i(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:i(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:i(function(){var s=this.pastInput(),a=new Array(s.length+1).join("-");return s+this.upcomingInput()+`
`+a+"^"},"showPosition"),next:i(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var s,a,c,u,p,A;this._more||(this.yytext="",this.match="");for(var l=this._currentRules(),b=0;b<l.length&&(c=this._input.match(this.rules[l[b]]),!(c&&(!a||c[0].length>a[0].length)&&(a=c,u=b,!this.options.flex)));b++);return a?(A=a[0].match(/(?:\r\n?|\n).*/g),A&&(this.yylineno+=A.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:A?A[A.length-1].length-A[A.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],s=this.performAction.call(this,this.yy,this,l[u],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s||void 0):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:i(function(){var s=this.next();return typeof s<"u"?s:this.lex()},"lex"),begin:i(function(s){this.conditionStack.push(s)},"begin"),popState:i(function(){return this.conditionStack.pop()},"popState"),_currentRules:i(function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},"_currentRules"),topState:i(function(){return this.conditionStack[this.conditionStack.length-2]},"topState"),pushState:i(function(s){this.begin(s)},"begin")};return n.options={},n.performAction=i(function(s,a,c,u){function p(l,b){return a.yytext=a.yytext.substring(l,a.yyleng-b+l)}i(p,"strip");var A=u;switch(c){case 0:if(a.yytext.slice(-2)==="\\\\"?(p(0,1),this.begin("mu")):a.yytext.slice(-1)==="\\"?(p(0,1),this.begin("emu")):this.begin("mu"),a.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(p(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;break;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(a.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;break;case 30:return this.popState(),33;break;case 31:return a.yytext=p(1,2).replace(/\\"/g,'"'),80;break;case 32:return a.yytext=p(1,2).replace(/\\'/g,"'"),80;break;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return a.yytext=a.yytext.replace(/\\([\\\]])/g,"$1"),72;break;case 43:return"INVALID";case 44:return 5}},"anonymous"),n.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],n.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},n})();t.lexer=e;function r(){this.yy={}}return i(r,"Parser"),r.prototype=t,t.Parser=r,new r})();z4.default=ks0;EAe.exports=z4.default});var C4=h((E4,qAe)=>{"use strict";E4.__esModule=!0;function Us0(t){return t&&t.__esModule?t:{default:t}}i(Us0,"_interopRequireDefault");var Gs0=nn(),gQ=Us0(Gs0);function g4(){this.parents=[]}i(g4,"Visitor");g4.prototype={constructor:g4,mutating:!1,acceptKey:i(function(e,r){var n=this.accept(e[r]);if(this.mutating){if(n&&!g4.prototype[n.type])throw new gQ.default('Unexpected node type "'+n.type+'" found when accepting '+r+" on "+e.type);e[r]=n}},"acceptKey"),acceptRequired:i(function(e,r){if(this.acceptKey(e,r),!e[r])throw new gQ.default(e.type+" requires "+r)},"acceptRequired"),acceptArray:i(function(e){for(var r=0,n=e.length;r<n;r++)this.acceptKey(e,r),e[r]||(e.splice(r,1),r--,n--)},"acceptArray"),accept:i(function(e){if(e){if(!this[e.type])throw new gQ.default("Unknown type: "+e.type,e);this.current&&this.parents.unshift(this.current),this.current=e;var r=this[e.type](e);if(this.current=this.parents.shift(),!this.mutating||r)return r;if(r!==!1)return e}},"accept"),Program:i(function(e){this.acceptArray(e.body)},"Program"),MustacheStatement:O4,Decorator:O4,BlockStatement:yAe,DecoratorBlock:yAe,PartialStatement:BAe,PartialBlockStatement:i(function(e){BAe.call(this,e),this.acceptKey(e,"program")},"PartialBlockStatement"),ContentStatement:i(function(){},"ContentStatement"),CommentStatement:i(function(){},"CommentStatement"),SubExpression:O4,PathExpression:i(function(){},"PathExpressionLine truncated
`])}),e},"merge"),each:i(function(e){for(var r=0,n=this.source.length;r<n;r++)e(this.source[r])},"each"),empty:i(function(){var e=this.currentLocation||{start:{}};return new yp(e.start.line,e.start.column,this.srcFile)},"empty"),wrap:i(function(e){var r=arguments.length<=1||arguments[1]===void 0?this.currentLocation||{start:{}}:arguments[1];return e instanceof yp?e:(e=kQ(e,this,r),new yp(r.start.line,r.start.column,this.srcFile,e))},"wrap"),functionCall:i(function(e,r,n){return n=this.generateList(n),this.wrap([e,r?"."+r+"(":"(",n,")"])},"functionCall"),quotedString:i(function(e){return'"'+(e+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},"quotedString"),objectLiteral:i(function(e){var r=this,n=[];Object.keys(e).forEach(function(s){var a=kQ(e[s],r);a!=="undefined"&&n.push([r.quotedString(s),":",a])});var o=this.generateList(n);return o.prepend("{"),o.add("}"),o},"objectLiteral"),generateList:i(function(e){for(var r=this.empty(),n=0,o=e.length;n<o;n++)n&&r.add(","),r.add(kQ(e[n],this));return r},"generateList"),generateArray:i(function(e){var r=this.generateList(e);return r.prepend("["),r.add("]"),r},"generateArray")};w4.default=ale;cle.exports=w4.default});var ble=h((S4,dle)=>{"use strict";S4.__esModule=!0;function lle(t){return t&&t.__esModule?t:{default:t}}i(lle,"_interopRequireDefault");var ple=l4(),Pi0=nn(),GQ=lle(Pi0),ki0=Yt(),Ui0=ule(),Ale=lle(Ui0);function w2(t){this.value=t}i(w2,"Literal");function S2(){}i(S2,"JavaScriptCompiler");S2.prototype={nameLookup:i(function(e,r){return this.internalNameLookup(e,r)},"nameLookup"),depthedLookup:i(function(e){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(e),")"]},"depthedLookup"),compilerInfo:i(function(){var e=ple.COMPILER_REVISION,r=ple.REVISION_CHANGES[e];return[e,r]},"compilerInfo"),appendToBuffer:i(function(e,r,n){return ki0.isArray(e)||(e=[e]),e=this.source.wrap(e,r),this.environment.isSimple?["return ",e,";"]:n?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},"appendToBuffer"),initializeBuffer:i(function(){return this.quotedString("")},"initializeBuffer"),internalNameLookup:i(function(e,r){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",e,",",JSON.stringify(r),")"]},"internalNameLookup"),lookupPropertyFunctionIsUsed:!1,compile:i(function(e,r,n,o){this.environment=e,this.options=r,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!o,this.name=this.environment.name,this.isChild=!!n,this.context=n||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(e,r),this.useDepths=this.useDepths||e.useDepths||e.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||e.useBlockParams;var s=e.opcodes,a=void 0,c=void 0,u=void 0,p=void 0;for(u=0,p=s.length;u<p;u++)a=s[u],this.source.currentLocation=a.loc,c=c||a.loc,this[a.opcode].apply(this,a.args);if(this.source.currentLocation=c,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new GQ.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),`;
`]),this.decorators.push("return fn;"),o?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend(`function(fn, props, container, depth0, data, blockParams, depths) {
`),this.decorators.push(`}
`),this.decorators=this.decorators.merge()));var A=this.createFunctionContext(o);if(this.isChild)return A;var l={compiler:this.compilerInfo(),main:A};this.decorators&&(l.main_d=this.decorators,l.useDecorators=!0);var b=this.context,M=b.programs,z=b.decorators;for(u=0,p=M.length;u<p;u++)l[u]=M[u],z[u]&&(l[u+"_d"]=z[u],l.useDecorators=!0);return this.environment.usePartial&&(l.usePartial=!0),this.options.data&&(l.useData=!0),this.useDepths&&(l.useDepths=!0),this.useBlockParams&&(l.useBlockParams=!0),this.options.compat&&(l.compat=!0),o?l.compilerOptions=this.options:(l.compiler=JSON.stringify(l.compiler),this.source.currentLocation={start:{line:1,column:0}},l=this.objectLiteral(l),r.srcName?(l=l.toStringWithSourceMap({file:r.destName}),l.map=l.map&&l.map.toString()):l=l.toString()),l},"compile"),preamble:i(function(){this.lastContext=0,this.source=new Ale.default(this.options.srcName),this.decorators=new Ale.default(this.options.srcName)},"preamble"),createFunctionContext:i(function(e){var r=this,n="",o=this.stackVars.concat(this.registers.list);o.length>0&&(n+=", "+o.join(", "));var s=0;Object.keys(this.aliases).forEach(function(u){var p=r.aliases[u];p.children&&p.referenceCount>1&&(n+=", alias"+ ++s+"="+u,p.children[0]="alias"+s)}),this.lookupPropertyFunctionIsUsed&&(n+=", "+this.lookupPropertyFunctionVarDeclaration());var a=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&a.push("blockParams"),this.useDepths&&a.push("depths");var c=this.mergeSource(n);return e?(a.push(c),Function.apply(this,a)):this.source.wrap(["function(",a.join(","),`) {
`,c,"}"])},"createFunctionContext"),mergeSource:i(function(e){var r=this.environment.isSimple,n=!this.forceBuffer,o=void 0,s=void 0,a=void 0,c=void 0;return this.source.each(function(u){u.appendToBuffer?(a?u.prepend(" + "):a=u,c=u):(a&&(s?a.prepend("buffer += "):o=!0,c.add(";"),a=c=void 0),s=!0,r||(n=!1))}),n?a?(a.prepend("return "),c.add(";")):s||this.source.push('return "";'):(e+=", buffer = "+(o?"":this.initializeBuffer()),a?(a.prepend("return buffer + "),c.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(o?"":`;
`)),this.source.merge()},"mergeSource"),lookupPropertyFunctionVarDeclaration:i(function(){return`
lookupProperty = container.lookupProperty || function(parent, propertyName) {
if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
return parent[propertyName];
}
return undefined
}
`.trim()},"lookupPropertyFunctionVarDeclaration"),blockValue:i(function(e){var r=this.aliasable("container.hooks.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs(e,0,n);var o=this.popStack();n.splice(1,0,o),this.push(this.source.functionCall(r,"call",n))},"blockValue"),ambiguousBlockValue:i(function(){var e=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs("",0,r,!0),this.flushInline();var n=this.topStack();r.splice(1,0,n),this.pushSource(["if (!",this.lastHelper,") { ",n," = ",this.source.functionCall(e,"call",r),"}"])},"ambiguousBlockValue"),appendContent:i(function(e){this.pendingContent?e=this.pendingContent+e:this.pendingLocation=this.source.currentLocation,this.pendingContent=e},"appendContent"),append:i(function(){if(this.isInline())this.replaceStack(function(r){return[" != null ? ",r,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var e=this.popStack();this.pushSource(["if (",e," != null) { ",this.appendToBuffer(e,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},"append"),appendEscaped:i(function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},"appendEscaped"),getContext:i(function(e){this.lastContext=e},"getContext"),pushContext:i(function(){this.pushStackLiteral(this.contextName(this.lastContext))},"pushContext"),lookupOnContext:i(function(e,r,n,o){var s=0;!o&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(e[s++])):this.pushContext(),this.resolvePath("context",e,s,r,n)},"lookupOnContext"),lookupBlockParam:i(function(e,r){this.useBlockParams=!0,this.push(["blockParams[",e[0],"][",e[1],"]"]),this.resolvePath("context",r,1)},"lookupBlockParam"),lookupData:i(function(e,r,n){e?this.pushStackLiteral("container.data(data, "+e+")"):this.pushStackLiteral("data"),this.resolvePath("data",r,0,!0,n)},"lookupData"),resolvePath:i(function(e,r,n,o,s){var a=this;if(this.options.strict||this.options.assumeObjects){this.push(Gi0(this.options.strict&&s,this,r,n,e));return}for(var c=r.length,u=i(function(A){a.replaceStack(function(l){var b=a.nameLookup(l,r[A],e);return o?[" && ",b]:[" != null ? ",b," : ",l]})},"_loop"),p=n;p<c;p++)u(p)},"resolvePath"),resolvePossibleLambda:i(function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},"resolvePossibleLambda"),pushStringParam:i(function(e,r){this.pushContext(),this.pushString(r),r!=="SubExpression"&&(typeof e=="string"?this.pushString(e):this.pushStackLiteral(e))},"pushStringParam"),emptyHash:i(function(e){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(e?"undefined":"{}")},"emptyHash"),pushHash:i(function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},"pushHash"),popHash:i(function(){var e=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(e.ids)),this.stringParams&&(this.push(this.objectLiteral(e.contexts)),this.push(this.objectLiteral(e.types))),this.push(this.objectLiteral(e.values))},"popHash"),pushString:i(function(e){this.pushStackLiteral(this.quotedString(e))},"pushString"),pushLiteral:i(function(e){this.pushStackLiteral(e)},"pushLiteral"),pushProgram:i(function(e){e!=null?this.pushStackLiteral(this.programExpression(e)):this.pushStackLiteral(null)},"pushProgram"),registerDecorator:i(function(e,r){var n=this.nameLookup("decorators",r,"decorator"),o=this.setupHelperArgs(r,e);this.decorators.push(["var decorator = ",n,";"]),this.decorators.push(['if (typeof decorator !== "function") { throw new Error(',this.quotedString('Missing decorator: "'+r+'"'),"); }"]),this.decorators.push(["fn = ",this.decorators.functionCall("decorator","",["fn","props","container",o])," || fn;"])},"registerDecorator"),invokeHelper:i(function(e,r,n){var o=this.popStack(),s=this.setupHelper(e,r),a=[];n&&a.push(s.name),a.push(o),this.options.strict||a.push(this.aliasable("container.hooks.helperMissing"));var c=["(",this.itemsSeparatedBy(a,"||"),")"],u=this.source.functionCall(c,"call",s.callParams);this.push(u)},"invokeHelper"),itemsSeparatedBy:i(function(e,r){var n=[];n.push(e[0]);for(var o=1;o<e.length;o++)n.push(r,e[o]);return n},"itemsSeparatedBy"),invokeKnownHelper:i(function(e,r){var n=this.setupHelper(e,r);this.push(this.source.functionCall(n.name,"call",n.callParams))},"invokeKnownHelper"),invokeAmbiguous:i(function(e,r){this.useRegister("helper");var n=this.popStack();this.emptyHash();var o=this.setupHelper(0,e,r),s=this.lastHelper=this.nameLookup("helpers",e,"helper"),a=["(","(helper = ",s," || ",n,")"];this.options.strict||(a[0]="(helper = ",a.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",a,o.paramsInit?["),(",o.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("h Line truncated
`,e};A1.prototype.Program=function(t){var e="",r=t.body,n=void 0,o=void 0;if(t.blockParams){var s="BLOCK PARAMS: [";for(n=0,o=t.blockParams.length;n<o;n++)s+=" "+t.blockParams[n];s+=" ]",e+=this.pad(s)}for(n=0,o=r.length;n<o;n++)e+=this.accept(r[n]);return this.padding--,e};A1.prototype.MustacheStatement=function(t){return this.pad("{{ "+this.SubExpression(t)+" }}")};A1.prototype.Decorator=function(t){return this.pad("{{ DIRECTIVE "+this.SubExpression(t)+" }}")};A1.prototype.BlockStatement=A1.prototype.DecoratorBlock=function(t){var e="";return e+=this.pad((t.type==="DecoratorBlock"?"DIRECTIVE ":"")+"BLOCK:"),this.padding++,e+=this.pad(this.SubExpression(t)),t.program&&(e+=this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--),t.inverse&&(t.program&&this.padding++,e+=this.pad("{{^}}"),this.padding++,e+=this.accept(t.inverse),this.padding--,t.program&&this.padding--),this.padding--,e};A1.prototype.PartialStatement=function(t){var e="PARTIAL:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),this.pad("{{> "+e+" }}")};A1.prototype.PartialBlockStatement=function(t){var e="PARTIAL BLOCK:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),e+=" "+this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--,this.pad("{{> "+e+" }}")};A1.prototype.ContentStatement=function(t){return this.pad("CONTENT[ '"+t.value+"' ]")};A1.prototype.CommentStatement=function(t){return this.pad("{{! '"+t.value+"' }}")};A1.prototype.SubExpression=function(t){for(var e=t.params,r=[],n=void 0,o=0,s=e.length;o<s;o++)r.push(this.accept(e[o]));return e="["+r.join(", ")+"]",n=t.hash?" "+this.accept(t.hash):"",this.accept(t.path)+" "+e+n};A1.prototype.PathExpression=function(t){var e=t.parts.join("/");return(t.data?"@":"")+"PATH:"+e};A1.prototype.StringLiteral=function(t){return'"'+t.value+'"'};A1.prototype.NumberLiteral=function(t){return"NUMBER{"+t.value+"}"};A1.prototype.BooleanLiteral=function(t){return"BOOLEAN{"+t.value+"}"};A1.prototype.UndefinedLiteral=function(){return"UNDEFINED"};A1.prototype.NullLiteral=function(){return"NULL"};A1.prototype.Hash=function(t){for(var e=t.pairs,r=[],n=0,o=e.length;n<o;n++)r.push(this.accept(e[n]));return"HASH{"+r.join(", ")+"}"};A1.prototype.HashPair=function(t){return t.key+"="+this.accept(t.value)}});var VQ=h((Cr1,Ole)=>{var x4=hle().default,gle=mle();x4.PrintVisitor=gle.PrintVisitor;x4.print=gle.print;Ole.exports=x4;function zle(t,e){var r=require("fs"),n=r.readFileSync(e,"utf8");t.exports=x4.compile(n)}i(zle,"extension");typeof require<"u"&&require.extensions&&(require.extensions[".handlebars"]=zle,require.extensions[".hbs"]=zle)});var P4=h(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.Signature=qc.Envelope=void 0;qc.Envelope={fromJSON(t){return{payload:_4(t.payload)?Buffer.from(Wle(t.payload)):Buffer.alloc(0),payloadType:_4(t.payloadType)?globalThis.String(t.payloadType):"",signatures:globalThis.Array.isArray(t?.signatures)?t.signatures.map(e=>qc.Signature.fromJSON(e)):[]}},toJSON(t){let e={};return t.payload.length!==0&&(e.payload=xle(t.payload)),t.payloadType!==""&&(e.payloadType=t.payloadType),t.signatures?.length&&(e.signatures=t.signatures.map(r=>qc.Signature.toJSON(r))),e}};qc.Signature={fromJSON(t){return{sig:_4(t.sig)?Buffer.from(Wle(t.sig)):Buffer.alloc(0),keyid:_4(t.keyid)?globalThis.String(t.keyid):""}},toJSON(t){let e={};return t.sig.length!==0&&(e.sig=xle(t.sig)),t.keyid!==""&&(e.keyid=t.keyid),e}};function Wle(t){return Uint8Array.from(globalThis.Buffer.from(t,"base64"))}i(Wle,"bytesFromBase64");function xle(t){return globalThis.Buffer.from(t).toString("base64")}i(xle,"base64FromBytes");function _4(t){return t!=null}i(_4,"isSet")});var vle=h(k4=>{"use strict";Object.defineProperty(k4,"__esModule",{value:!0});k4.Timestamp=void 0;k4.Timestamp={fromJSON(t){return{seconds:Tle(t.seconds)?globalThis.String(t.seconds):"0",nanos:Tle(t.nanos)?globalThis.Number(t.nanos):0}},toJSON(t){let e={};return t.seconds!=="0"&&(e.seconds=t.seconds),t.nanos!==0&&(e.nanos=Math.round(t.nanos)),e}};function Tle(t){return t!=null}i(Tle,"isSet")});var Aa=h(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});Ee.TimeRange=Ee.X509CertificateChain=Ee.SubjectAlternativeName=Ee.X509Certificate=Ee.DistinguishedName=Ee.ObjectIdentifierValuePair=Ee.ObjectIdentifier=Ee.PublicKeyIdentifier=Ee.PublicKey=Ee.RFC3161SignedTimestamp=Ee.LogId=Ee.MessageSignature=Ee.HashOutput=Ee.SubjectAlternativeNameType=Ee.PublicKeyDetails=Ee.HashAlgorithm=void 0;Ee.hashAlgorithmFromJSON=Qle;Ee.hashAlgorithmToJSON=_le;Ee.publicKeyDetailsFromJSON=Ple;Ee.publicKeyDetailsToJSON=kle;Ee.subjectAlternativeNameTypeFromJSON=Ule;Ee.subjectAlternativeNameTypeToJSON=Gle;var ua0=vle(),zr;(function(t){t[t.HASH_ALGORITHM_UNSPECIFIED=0]="HASH_ALGORITHM_UNSPECIFIED",t[t.SHA2_256=1]="SHA2_256",t[t.SHA2_384=2]="SHA2_384",t[t.SHA2_512=3]="SHA2_512",t[t.SHA3_256=4]="SH Line truncated
`).join(`
`+s),t.push(o+"m+"+DB.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Tp0()+e+" "+t[0]}i(xp0,"formatArgs");function Tp0(){return nt.inspectOpts.hideDate?"":new Date().toISOString()+" "}i(Tp0,"getDate");function vp0(...t){return process.stderr.write(qB.formatWithOptions(nt.inspectOpts,...t)+`
`)}i(vp0,"log");function Lp0(t){t?process.env.DEBUG=t:delete process.env.DEBUG}i(Lp0,"save");function Qp0(){return process.env.DEBUG}i(Qp0,"load");function _p0(t){t.inspectOpts={};let e=Object.keys(nt.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=nt.inspectOpts[e[r]]}i(_p0,"init");DB.exports=j8()(nt);var{formatters:pde}=DB.exports;pde.o=function(t){return this.inspectOpts.colors=this.useColors,qB.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};pde.O=function(t){return this.inspectOpts.colors=this.useColors,qB.inspect(t,this.inspectOpts)}});var Z8=h((Bs1,K8)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?K8.exports=ude():K8.exports=Ade()});var RB=h(l1=>{"use strict";Object.defineProperty(l1,"__esModule",{value:!0});l1.DownloadHTTPError=l1.DownloadLengthMismatchError=l1.DownloadError=l1.ExpiredMetadataError=l1.EqualVersionError=l1.BadVersionError=l1.RepositoryError=l1.PersistError=l1.RuntimeError=l1.ValueError=void 0;var e_=class extends Error{static{i(this,"ValueError")}};l1.ValueError=e_;var t_=class extends Error{static{i(this,"RuntimeError")}};l1.RuntimeError=t_;var r_=class extends Error{static{i(this,"PersistError")}};l1.PersistError=r_;var xh=class extends Error{static{i(this,"RepositoryError")}};l1.RepositoryError=xh;var IB=class extends xh{static{i(this,"BadVersionError")}};l1.BadVersionError=IB;var n_=class extends IB{static{i(this,"EqualVersionError")}};l1.EqualVersionError=n_;var o_=class extends xh{static{i(this,"ExpiredMetadataError")}};l1.ExpiredMetadataError=o_;var Th=class extends Error{static{i(this,"DownloadError")}};l1.DownloadError=Th;var s_=class extends Th{static{i(this,"DownloadLengthMismatchError")}};l1.DownloadLengthMismatchError=s_;var i_=class extends Th{static{i(this,"DownloadHTTPError")}statusCode;constructor(e,r){super(e),this.statusCode=r}};l1.DownloadHTTPError=i_});var dde=h(K2=>{"use strict";var c_=K2&&K2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(K2,"__esModule",{value:!0});K2.withTempFile=void 0;var a_=c_(require("fs/promises")),Pp0=c_(require("os")),lde=c_(require("path")),kp0=i(async t=>Up0(async e=>t(lde.default.join(e,"tempfile"))),"withTempFile");K2.withTempFile=kp0;var Up0=i(async t=>{let e=await a_.default.realpath(Pp0.default.tmpdir()),r=await a_.default.mkdtemp(e+lde.default.sep);try{return await t(r)}finally{await a_.default.rm(r,{force:!0,recursive:!0,maxRetries:3})}},"withTempDir")});var fde=h((Ns1,bde)=>{var u_=class{static{i(this,"RetryOperation")}#e=1;#t=null;#n=[];#r=null;#o;#s=null;#a;#i;#u=null;#c;constructor(e,r={}){this.#a=[...e],this.#i=[...e],this.#c=r.unref,this.#o=r.maxRetryTime||1/0,r.forever&&(this.#t=[...this.#i])}get timeouts(){return[...this.#i]}get errors(){return[...this.#n]}get attempts(){return this.#e}get mainError(){let e=null;if(this.#n.length){let r=0,n={};for(let o=0;o<this.#n.length;o++){let s=this.#n[o],{message:a}=s;n[a]||(n[a]=0),n[a]++,n[a]>=r&&(e=s,r=n[a])}}return e}reset(){this.#e=1,this.#i=[...this.#a]}stop(){this.#u&&clearTimeout(this.#u),this.#i=[],this.#t=null}retry(e){if(this.#n.push(e),new Date().getTime()-this.#s>=this.#o)return this.#n.unshift(new Error("RetryOperation timeout occurred")),!1;let r=this.#i.shift();if(r===void 0)if(this.#t)this.#n.pop(),r=this.#t.at(-1);else return!1;return this.#u=setTimeout(()=>{this.#e++,this.#r(this.#e)},r),this.#c&&this.#u.unref(),!0}attempt(e){this.#r=e,this.#s=new Date().getTime(),this.#r(this.#e)}};bde.exports={RetryOperation:u_}});var mde=h((Ss1,hde)=>{var{RetryOperation:Gp0}=fde(),Mde=i((t,e)=>Math.min(Math.round((1+(e.randomize?Math.random():0))*Math.max(e.minTimeout,1)*Math.pow(e.factor,t)),e.maxTimeout),"createTimeout"),Hp0=i(t=>t?.code==="EPROMISERETRY"&&Object.hasOwn(t,"retried"),"isRetryError"),Xp0=i(async(t,e={})=>{let r=[];if(e instanceof Array)r=[...e];else{e.retries===1/0&&(e.forever=!0,delete e.retries);let o={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1,...e};if(o.minTimeout>o.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");if(o.retries){for(let s=0;s<o.retries;s++)r.push(Mde(s,o));r.sort((s,a)=>s-a)}else e.forever&&r.push(Mde(0,o))}let n=new Gp0(r,{forever:e.forever,unref:e.unref,maxRetryTime:e.maxRetryTime});return new Promise(function(o,s){n.attempt(async a=>{try{let c=await t(u=>{throw Object.assign(new Error("Retrying"),{code:"EPROMISERETRY",retried:u})},a,n);return o(c)}catch(c){if(!Hp0(c))return s(c);if(!n.retry(c.retried||new Error))return s(c.retried)}})})},"promiseRetry");hde.exports={promiseRetry:Xp0}});var l_=h(Fc=>{"use strict";var A_=Fc&&Fc.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Fc,"__esModule",{value:!0});Fc.DefaultFetcher=Fc.BaseFetcher=void 0;var Vp0=A_(Z8()),zde=A_(require("fs")),Yp0=A_(require("util")),gde=RB(),Jp0=dde(),$p0=mde(),jp0=(0,Vp0.default)("tuf:fetch"),Kp0="User-Agent",NB=class{static{i(this,"BaseFetcher")}async downloadFile(e,r,n){return(0,Jp0.withTempFile)(async o=>{let s=await this.fetch(e),a=0,c=zde.default.createWriteStream(o),u=s.getReader();try{for(;;){let{done:p,value:A}=await u.read();if(p)break;if(a+=A.length,a>r)throw new gde.DownloadLengthMismatchError("Max length reached");await Zp0(c,Buffer.from(A))}}finally{u.releaseLock(),await Yp0.default.promisify(c.close).bind(c)()}return n(o)})}async downloadBytes(e,r){return this.downloadFile(e,r,async n=>{let o=zde.defau Line truncated
`).forEach(r=>{r.match(ol0)||r.match(sl0)||(e+=r)}),Buffer.from(e,"base64")}i(il0,"toDER");function al0(t,e="CERTIFICATE"){let n=t.toString("base64").match(/.{1,64}/g)||"";return[`-----BEGIN ${e}-----`,...n,`-----END ${e}-----`].join(`
`).concat(`
`)}i(al0,"fromDER")});var XB=h(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.SHA2_HASH_ALGOS=Lc.RSA_SIGNATURE_ALGOS=Lc.ECDSA_SIGNATURE_ALGOS=void 0;Lc.ECDSA_SIGNATURE_ALGOS={"1.2.840.10045.4.3.1":"sha224","1.2.840.10045.4.3.2":"sha256","1.2.840.10045.4.3.3":"sha384","1.2.840.10045.4.3.4":"sha512"};Lc.RSA_SIGNATURE_ALGOS={"1.2.840.113549.1.1.14":"sha224","1.2.840.113549.1.1.11":"sha256","1.2.840.113549.1.1.12":"sha384","1.2.840.113549.1.1.13":"sha512"};Lc.SHA2_HASH_ALGOS={"2.16.840.1.101.3.4.2.1":"sha256","2.16.840.1.101.3.4.2.2":"sha384","2.16.840.1.101.3.4.2.3":"sha512"}});var T_=h(VB=>{"use strict";Object.defineProperty(VB,"__esModule",{value:!0});VB.RFC3161TimestampVerificationError=void 0;var x_=class extends Error{static{i(this,"RFC3161TimestampVerificationError")}};VB.RFC3161TimestampVerificationError=x_});var $de=h($s=>{"use strict";var cl0=$s&&$s.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),ul0=$s&&$s.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),pl0=$s&&$s.__importStar||(function(){var t=i(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&cl0(r,e,n[o]);return ul0(r,e),r}})();Object.defineProperty($s,"__esModule",{value:!0});$s.TSTInfo=void 0;var Jde=pl0(od()),Al0=XB(),ll0=T_(),v_=class{static{i(this,"TSTInfo")}root;constructor(e){this.root=e}get version(){return this.root.subs[0].toInteger()}get genTime(){return this.root.subs[4].toDate()}get messageImprintHashAlgorithm(){let e=this.messageImprintObj.subs[0].subs[0].toOID();return Al0.SHA2_HASH_ALGOS[e]}get messageImprintHashedMessage(){return this.messageImprintObj.subs[1].value}get raw(){return this.root.toDER()}verify(e){let r=Jde.digest(this.messageImprintHashAlgorithm,e);if(!Jde.bufferEqual(r,this.messageImprintHashedMessage))throw new ll0.RFC3161TimestampVerificationError("message imprint does not match artifact")}get messageImprintObj(){return this.root.subs[2]}};$s.TSTInfo=v_});var Kde=h(js=>{"use strict";var dl0=js&&js.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:i(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),bl0=js&&js.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),fl0=js&&js.__importStar||(function(){var t=i(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&dl0(r,e,n[o]);return bl0(r,e),r}})();Object.defineProperty(js,"__esModule",{value:!0});js.RFC3161Timestamp=void 0;var Ml0=UB(),L_=fl0(od()),jde=XB(),kh=T_(),hl0=$de(),ml0="1.2.840.113549.1.7.2",zl0="1.2.840.113549.1.9.16.1.4",gl0="1.2.840.113549.1.9.4",Q_=class t{static{i(this,"RFC3161Timestamp")}root;constructor(e){this.root=e}static parse(e){let r=Ml0.ASN1Obj.parseBuffer(e);return new t(r)}get status(){return this.pkiStatusInfoObj.subs[0].toInteger()}get contentType(){return this.contentTypeObj.toOID()}get eContentType(){return this.eContentTypeObj.toOID()}get signingTime(){return this.tstInfo.genTime}get signerIssuer(){return this.signerSidObj.subs[0].value}get signerSerialNumber(){return this.signerSidObj.subs[1].value}get signerDigestAlgorithm(){let e=this.signerDigestAlgorithmObj.subs[0].toOID();return jde.SHA2_HASH_ALGOS[e]}get signatureAlgorithm(){let e=this.signatureAlgorithmObj.subs[0].toOID();return jde.ECDSA_SIGNATURE_ALGOS[e]}get signatureValue(){return this.signatureValueObj.value}get tstInfo(){return new hl0.TSTInfo(this.eContentObj.subs[0].subs[0])}verify(e,r){if(!this.timeStampTokenObj)throw new kh.RFC3161TimestampVerificationError("timeStampToken is missing");if(this.contentType!==ml0)throw new kh.RFC3161TimestampVerificationError(`incorrect content type: ${this.contentType}`);if(this.eContentType!==zl0)throw new kh.RFC3161TimestampVerificationError(`incorrect encapsulated content type: ${this.eContentType}`);this.tstInfo.verify(e),this.verifyMessageDigest(),this.verifySignature(r)}verifyMessageDigest(){let e=L_.digest(this.signerDigestAlgorithm,this.tstInfo.raw),r=this.messageDigestAttributeObj.subs[1].subs[0].valu Line truncated
`,_20=/\u2014 (\S+) (\S+)\n/g;function P20(t,e){let r=t.inclusionProof,n=fP.fromString(r.checkpoint.envelope),o=dq.fromString(n.note);if(!k20(n,e))throw new Ad.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint signature"});return o}i(P20,"verifyCheckpoint");function k20(t,e){let r=Buffer.from(t.note,"utf-8");return t.signatures.some(n=>{let o=e.find(s=>Sbe.crypto.bufferEqual(s.logID.subarray(0,4),n.keyHint)&&s.baseURL.includes(n.name));return o?Sbe.crypto.verify(r,o.publicKey,n.signature):!1})}i(k20,"verifySignedNote");var fP=class t{static{i(this,"SignedNote")}note;signatures;constructor(e,r){this.note=e,this.signatures=r}static fromString(e){if(!e.includes(bP))throw new Ad.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"missing checkpoint separator"});let r=e.indexOf(bP),n=e.slice(0,r+1),s=e.slice(r+bP.length).matchAll(_20),a=Array.from(s,c=>{let[,u,p]=c,A=Buffer.from(p,"base64");if(A.length<5)throw new Ad.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"malformed checkpoint signature"});return{name:u,keyHint:A.subarray(0,4),signature:A.subarray(4)}});if(a.length===0)throw new Ad.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"no signatures found in checkpoint"});return new t(n,a)}},dq=class t{static{i(this,"LogCheckpoint")}origin;logSize;logHash;rest;constructor(e,r,n,o){this.origin=e,this.logSize=r,this.logHash=n,this.rest=o}static fromString(e){let r=e.trimEnd().split(`
`);if(r.length<3)throw new Ad.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"too few lines in checkpoint header"});let n=r[0],o;try{o=BigInt(r[1])}catch{throw new Ad.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint log size"})}let s=Buffer.from(r[2],"base64"),a=r.slice(3);return new t(n,o,s,a)}};Vh.LogCheckpoint=dq});var Wbe=h(mP=>{"use strict";Object.defineProperty(mP,"__esModule",{value:!0});mP.verifyMerkleInclusion=H20;var hP=wo(),bq=It(),U20=Buffer.from([0]),G20=Buffer.from([1]);function H20(t,e){let r=t.inclusionProof,n;try{n=BigInt(r.logIndex)}catch{throw new bq.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid inclusion proof log index"})}let o=BigInt(e.logSize);if(n<0n||n>=o)throw new bq.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:`invalid index: ${n}`});let{inner:s,border:a}=X20(n,o);if(r.hashes.length!==s+a)throw new bq.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid hash count"});let c=r.hashes.slice(0,s),u=r.hashes.slice(s),p=K20(t.canonicalizedBody),A=Y20(V20(p,c,n),u);if(!hP.crypto.bufferEqual(A,e.logHash))throw new bq.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"calculated root hash does not match inclusion proof"})}i(H20,"verifyMerkleInclusion");function X20(t,e){let r=J20(t,e),n=$20(t>>BigInt(r));return{inner:r,border:n}}i(X20,"decompInclProof");function V20(t,e,r){return e.reduce((n,o,s)=>r>>BigInt(s)&BigInt(1)?MP(o,n):MP(n,o),t)}i(V20,"chainInner");function Y20(t,e){return e.reduce((r,n)=>MP(n,r),t)}i(Y20,"chainBorderRight");function J20(t,e){return j20(t^e-BigInt(1))}i(J20,"innerProofSize");function $20(t){return t.toString(2).split("1").length-1}i($20,"onesCount");function j20(t){return t===0n?0:t.toString(2).length}i(j20,"bitLength");function MP(t,e){return hP.crypto.digest("sha256",G20,t,e)}i(MP,"hashChildren");function K20(t){return hP.crypto.digest("sha256",U20,t)}i(K20,"hashLeaf")});var Tbe=h(zP=>{"use strict";Object.defineProperty(zP,"__esModule",{value:!0});zP.verifyTLogSET=td0;var xbe=wo(),Z20=It(),ed0=ad();function td0(t,e){if(!(0,ed0.filterTLogAuthorities)(e,{logID:t.logId.keyId,targetDate:new Date(Number(t.integratedTime)*1e3)}).some(o=>{let s=rd0(t),a=Buffer.from(xbe.json.canonicalize(s),"utf8"),c=t.inclusionPromise.signedEntryTimestamp;return xbe.crypto.verify(a,o.publicKey,c)}))throw new Z20.VerificationError({code:"TLOG_INCLUSION_PROMISE_ERROR",message:"inclusion promise could not be verified"})}i(td0,"verifyTLogSET");function rd0(t){let{integratedTime:e,logIndex:r,logId:n,canonicalizedBody:o}=t;return{body:o.toString("base64"),integratedTime:Number(e),logIndex:Number(r),logID:n.keyId.toString("hex")}}i(rd0,"toVerificationPayload")});var Lbe=h(Mq=>{"use strict";Object.defineProperty(Mq,"__esModule",{value:!0});Mq.verifyTLogBody=ad0;Mq.verifyTLogInclusion=cd0;var vbe=Ibe(),fq=It(),gP=Rbe(),OP=Nbe(),nd0=wbe(),od0=Fbe(),sd0=Wbe(),id0=Tbe();function ad0(t,e){let{kind:r,version:n}=t.kindVersion,o;try{o=JSON.parse(t.canonicalizedBody.toString("utf8"))}catch{throw new fq.VerificationError({code:"TLOG_BODY_ERROR",message:"invalid canonicalized body"})}if(r!==o.kind||n!==o.apiVersion)throw new fq.VerificationError({code:"TLOG_BODY_ERROR",message:`kind/version mismatch - expected: ${r}/${n}, received: ${o.kind}/${o.apiVersion}`});switch(r){case"dsse":if(n==gP.DSSE_API_VERSION_V1)return(0,gP.verifyDSSETLogBody)(o,e);{let s=vbe.Entry.fromJSON(o);return(0,gP.verifyDSSETLogBodyV2)(s,e)}case"intoto":return(0,nd0.verifyIntotoTLogBody)(o,e);case"hashedrekord":if(n==OP.HASHEDREKORD_API_VERSION_V1)return(0,OP.verifyHashedRekordTLogBody)(o,e);{let s=vbe.Entry.fromJSON(o);return(0,OP.verifyHashedRekordTLogBodyV2)(s,e)}default:throw new fq.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported kind: ${r}`})}}i(ad0,"verifyTLogBody");function cd0(t,e){let r=!1;if(ud0(t)&&((0,id0.verifyTLogSET)(t,e),r=!0),pd0(t)){let n=(0,od0.verifyCheckpoint)(t,e);(0,sd0.verifyMerkleInclusion)(t,n),r=!0}if(!r)throw new fq.VerificationError({code:"TLOG_MISSING_INCLUSION_ERROR",message:"inclusion could not be verified"})}i(cd0,"verifyTLogInclusion");function ud0(t){return t.inclusionPromise!==void 0}i(ud0,"isTLogEntryWithInclusionPromise");function pd0(t){return t.inclusionProof!==void 0}i(pd0,"isTLogEntryWithInclusionProof")});var kbe=h(hq=>{"use strict";Object.defineProperty(hq,"__esModule",{value:!0});hq.Verifier=void 0;var Ad0=require("util"),Up=It(),Qbe=Mbe(),EP=hbe(),_be=gbe(),Pbe=Lbe(),yP=class{static{i(this,"Verifier")}trustMaterial;options;constructor(e,r={}){this.trustMaterial=e,this.options={ctlogThreshold:r.ctlogThreshold??1,tlogThreshold:r.tlogThreshold??1,timestampThreshold:r.timestampThreshold??r.tsaThreshold??1,tsaThreshold:0}}verify(e,r){let n=this.verifyTimestamps(e),o=this.verifySigningKey(e,n);return this.verifyTLogs(e),this.verifySignature(e,o),r&&this.verifyPolicy(r,o.identity||{}),o}verifyTimestamps(e){let r=[];for(let n of e.timestamps)switch(n.$case){case"time Line truncated
[`+D+"] ";for(F in arguments[0])s(arguments[0],F)&&(C+=F+": "+arguments[0][F]+", ");C=C.slice(0,-2)}else C=arguments[D];g.push(C)}L(d+`
Arguments: `+Array.prototype.slice.call(g).join("")+`
`+new Error().stack),m=!1}return f.apply(this,arguments)},f)}i(ce,"deprecate");var Te={};function Ge(d,f){e.deprecationHandler!=null&&e.deprecationHandler(d,f),Te[d]||(L(f),Te[d]=!0)}i(Ge,"deprecateSimple"),e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;function Ne(d){return typeof Function<"u"&&d instanceof Function||Object.prototype.toString.call(d)==="[object Function]"}i(Ne,"isFunction");function Be(d){var f,m;for(m in d)s(d,m)&&(f=d[m],Ne(f)?this[m]=f:this["_"+m]=f);this._config=d,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}i(Be,"set");function ke(d,f){var m=l({},d),g;for(g in f)s(f,g)&&(o(d[g])&&o(f[g])?(m[g]={},l(m[g],d[g]),l(m[g],f[g])):f[g]!=null?m[g]=f[g]:delete m[g]);for(g in d)s(d,g)&&!s(f,g)&&o(d[g])&&(m[g]=l({},m[g]));return m}i(ke,"mergeConfigs");function pe(d){d!=null&&this.set(d)}i(pe,"Locale");var Ue;Object.keys?Ue=Object.keys:Ue=i(function(d){var f,m=[];for(f in d)s(d,f)&&m.push(f);return m},"keys");var J={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function Qe(d,f,m){var g=this._calendar[d]||this._calendar.sameElse;return Ne(g)?g.call(f,m):g}i(Qe,"calendar");function C0(d,f,m){var g=""+Math.abs(d),C=f-g.length,D=d>=0;return(D?m?"+":"":"-")+Math.pow(10,Math.max(0,C)).toString().substr(1)+g}i(C0,"zeroFill");var Mt=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,p0=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,V1={},q0={};function ne(d,f,m,g){var C=g;typeof g=="string"&&(C=i(function(){return this[g]()},"func")),d&&(q0[d]=C),f&&(q0[f[0]]=function(){return C0(C.apply(this,arguments),f[1],f[2])}),m&&(q0[m]=function(){return this.localeData().ordinal(C.apply(this,arguments),d)})}i(ne,"addFormatToken");function Qo(d){return d.match(/\[[\s\S]/)?d.replace(/^\[|\]$/g,""):d.replace(/\\/g,"")}i(Qo,"removeFormattingTokens");function un(d){var f=d.match(Mt),m,g;for(m=0,g=f.length;m<g;m++)q0[f[m]]?f[m]=q0[f[m]]:f[m]=Qo(f[m]);return function(C){var D="",F;for(F=0;F<g;F++)D+=Ne(f[F])?f[F].call(C,d):f[F];return D}}i(un,"makeFormatFunction");function b0(d,f){return d.isValid()?(f=Kt(f,d.localeData()),V1[f]=V1[f]||un(f),V1[f](d)):d.localeData().invalidDate()}i(b0,"formatMoment");function Kt(d,f){var m=5;function g(C){return f.longDateFormat(C)||C}for(i(g,"replaceLongDateFormatTokens"),p0.lastIndex=0;m>=0&&p0.test(d);)d=d.replace(p0,g),p0.lastIndex=0,m-=1;return d}i(Kt,"expandFormat");var Hm={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function Xm(d){var f=this._longDateFormat[d],m=this._longDateFormat[d.toUpperCase()];return f||!m?f:(this._longDateFormat[d]=m.match(Mt).map(function(g){return g==="MMMM"||g==="MM"||g==="DD"||g==="dddd"?g.slice(1):g}).join(""),this._longDateFormat[d])}i(Xm,"longDateFormat");var RD="Invalid date";function Jc(){return this._invalidDate}i(Jc,"invalidDate");var R="%d",T=/\d{1,2}/;function v(d){return this._ordinal.replace("%d",d)}i(v,"ordinal");var k={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function qe(d,f,m,g){var C=this._relativeTime[m];return Ne(C)?C(d,f,m,g):C.replace(/%d/i,d)}i(qe,"relativeTime");function Ze(d,f){var m=this._relativeTime[d>0?"future":"past"];return Ne(m)?m(f):m.replace(/%s/i,f)}i(Ze,"pastFuture");var K0={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function ve(d){return typeof d=="string"?K0[d]||K0[d.toLowerCase()]:void 0}i(ve,"normalizeUnits");function D0(d){var f={},m,g;for(g in d)s(d,g)&&(m=ve(g),m&&(f[m]=d[g]));return f}i(D0,"normalizeObjectUnits");var e9={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function K4e(d){var f=[],m;for(m in d)s(d,m)&&f.push({unit:m,priority:e9[m]});return f.sort(function(g,C){return g.priority-C.priority}),f Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}i(iE0,"_nonIterableRest");Bm.exports=iE0,Bm.exports.__esModule=!0,Bm.exports.default=Bm.exports});var aEe=h((jb1,qm)=>{var aE0=HOe(),cE0=T3e(),uE0=sEe(),pE0=iEe();function AE0(t,e){return aE0(t)||cE0(t,e)||uE0(t,e)||pE0()}i(AE0,"_slicedToArray");qm.exports=AE0,qm.exports.__esModule=!0,qm.exports.default=qm.exports});var uEe=h((Zb1,cEe)=>{"use strict";var lE0=dD().forEach,dE0=gm(),bE0=dE0("forEach");cEe.exports=bE0?[].forEach:i(function(e){return lE0(this,e,arguments.length>1?arguments[1]:void 0)},"forEach")});var AEe=h(()=>{"use strict";var fE0=w0(),pEe=uEe();fE0({target:"Array",proto:!0,forced:[].forEach!==pEe},{forEach:pEe})});var dEe=h((nf1,lEe)=>{"use strict";AEe();var ME0=Lo();lEe.exports=ME0("Array","forEach")});var fEe=h((of1,bEe)=>{"use strict";var hE0=dEe();bEe.exports=hE0});var MEe=h(()=>{});var mEe=h((af1,hEe)=>{"use strict";var mE0=Nd(),zE0=$t(),gE0=qr(),OE0=fEe();MEe();var O7=Array.prototype,EE0={DOMTokenList:!0,NodeList:!0};hEe.exports=function(t){var e=t.forEach;return t===O7||gE0(O7,t)&&e===O7.forEach||zE0(EE0,mE0(t))?OE0:e}});var E7=h((cf1,zEe)=>{zEe.exports=mEe()});var gEe=h(()=>{"use strict";var CE0=w0(),yE0=$q().includes,BE0=d1(),qE0=rk(),DE0=BE0(function(){return!Array(1).includes()});CE0({target:"Array",proto:!0,forced:DE0},{includes:i(function(e){return yE0(this,e,arguments.length>1?arguments[1]:void 0)},"includes")});qE0("includes")});var EEe=h((lf1,OEe)=>{"use strict";gEe();var IE0=Lo();OEe.exports=IE0("Array","includes")});var yEe=h((df1,CEe)=>{"use strict";var RE0=an(),NE0=ga(),wE0=D1(),SE0=wE0("match");CEe.exports=function(t){var e;return RE0(t)&&((e=t[SE0])!==void 0?!!e:NE0(t)==="RegExp")}});var qEe=h((bf1,BEe)=>{"use strict";var FE0=yEe(),WE0=TypeError;BEe.exports=function(t){if(FE0(t))throw new WE0("The method doesn't accept regular expressions");return t}});var IEe=h((ff1,DEe)=>{"use strict";var xE0=D1(),TE0=xE0("match");DEe.exports=function(t){var e=/./;try{"/./"[t](e)}catch{try{return e[TE0]=!1,"/./"[t](e)}catch{}}return!1}});var NEe=h(()=>{"use strict";var vE0=w0(),LE0=t1(),QE0=qEe(),_E0=Gp(),REe=ui(),PE0=IEe(),kE0=LE0("".indexOf);vE0({target:"String",proto:!0,forced:!PE0("includes")},{includes:i(function(e){return!!~kE0(REe(_E0(this)),REe(QE0(e)),arguments.length>1?arguments[1]:void 0)},"includes")})});var SEe=h((zf1,wEe)=>{"use strict";NEe();var UE0=Lo();wEe.exports=UE0("String","includes")});var xEe=h((gf1,WEe)=>{"use strict";var FEe=qr(),GE0=EEe(),HE0=SEe(),C7=Array.prototype,y7=String.prototype;WEe.exports=function(t){var e=t.includes;return t===C7||FEe(C7,t)&&e===C7.includes?GE0:typeof t=="string"||t===y7||FEe(y7,t)&&e===y7.includes?HE0:e}});var vEe=h((Of1,TEe)=>{"use strict";var XE0=xEe();TEe.exports=XE0});var Dm=h((Ef1,LEe)=>{LEe.exports=vEe()});var B7=h((Cf1,QEe)=>{"use strict";QEe.exports=`
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var kEe=h((yf1,PEe)=>{"use strict";var VE0=t1(),YE0=Gp(),JE0=ui(),D7=B7(),_Ee=VE0("".replace),$E0=RegExp("^["+D7+"]+"),jE0=RegExp("(^|[^"+D7+"])["+D7+"]+$"),q7=i(function(t){return function(e){var r=JE0(YE0(e));return t&1&&(r=_Ee(r,$E0,"")),t&2&&(r=_Ee(r,jE0,"$1")),r}},"createMethod");PEe.exports={start:q7(1),end:q7(2),trim:q7(3)}});var JEe=h((qf1,YEe)=>{"use strict";var XEe=X1(),KE0=d1(),ZE0=t1(),eC0=ui(),tC0=kEe().trim,UEe=B7(),Im=XEe.parseInt,GEe=XEe.Symbol,HEe=GEe&&GEe.iterator,VEe=/^[+-]?0x/i,rC0=ZE0(VEe.exec),nC0=Im(UEe+"08")!==8||Im(UEe+"0x16")!==22||HEe&&!KE0(function(){Im(Object(HEe))});YEe.exports=nC0?i(function(e,r){var n=tC0(eC0(e));return Im(n,r>>>0||(rC0(VEe,n)?16:10))},"parseInt"):Im});var jEe=h(()=>{"use strict";var oC0=w0(),$Ee=JEe();oC0({global:!0,forced:parseInt!==$Ee},{parseInt:$Ee})});var ZEe=h((Nf1,KEe)=>{"use strict";jEe();var sC0=Wo();KEe.exports=sC0.parseInt});var tCe=h((wf1,eCe)=>{"use strict";var iC0=ZEe();eCe.exports=iC0});var nCe=h((Sf1,rCe)=>{rCe.exports=tCe()});var ED=h((Ff1,oCe)=>{oCe.exports=g7()});var aCe=h((Wf1,iCe)=>{"use strict";var sCe=tm(),aC0=TypeError;iCe.exports=function(t,e){if(!delete t[e])throw new aC0("Cannot delete property "+sCe(e)+" of "+sCe(t))}});var pCe=h((xf1,uCe)=>{"use strict";var cCe=dm(),cC0=Math.floor,I7=i(function(t,e){var r=t.length;if(r<8)for(var n=1,o,s;n<r;){for(s=n,o=t[n];s&&e(t[s-1],o)>0;)t[s]=t[--s];s!==n++&&(t[s]=o)}else for(var a=cC0(r/2),c=I7(cCe(t,0,a),e),u=I7(cCe(t,a),e),p=c.length,A=u.length,l=0,b=0;l<p||b<A;)t[l+b]=l<p&&b<A?e(c[l],u[b])<=0?c[l++]:u[b++]:l<p?c[l++]:u[b++];return t},"sort");uCe.exports=I7});var dCe=h((vf1,lCe)=>{"use strict";var uC0=Ed(),ACe=uC0.match(/firefox\/(\d+)/i);lCe.exports=!!ACe&&+ACe[1]});var fCe=h((Lf1,bCe)=>{"use strict";var pC0=Ed();bCe.exports=/MSIE|Trident/.test(pC0)});var mCe=h((Qf1,hCe)=>{"use strict";var AC0=Ed(),MCe=AC0.match(/AppleWebKit\/(\d+)\./);hCe.exports=!!MCe&&+MCe[1]});var DCe=h(()=>{"use strict";var lC0=w0(),BCe=t1(),dC0=Xp(),bC0=ai(),zCe=Ca(),fC0=aCe(),gCe=ui(),R7=d1(),MC0=pCe(),hC0=gm(),OCe=dCe(),mC0=fCe(),ECe=Cd(),CCe=mCe(),Hc=[],yCe=BCe(Hc.sort),zC0=BCe(Hc.push),gC0=R7(function(){Hc.sort(void 0)}),OC0=R7(function(){Hc.sort(null)}),EC0=hC0("sort"),qCe=!R7(function(){if(ECe)return ECe<70;if(!(OCe&&OCe>3)){if(mC0)return!0;if(CCe)return CCe<603;var t="",e,r,n,o;for(e=65;e<76;e++){switch(r=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(o=0;o<47;o++)Hc.push({k:r+o,v:n})}for(Hc.sort(function(s,a){return a.v-s.v}),o=0;o<Hc.length;o++)r=Hc[o].k.charAt(0),t.charAt(t.length-1)!==r&&(t+=r);return t!=="DGBEFHACIJK"}}),CC0=gC0||!OC0||!EC0||!qCe,yC0=i(function(t){return function(e,r){return r===void 0?-1:e===void 0?1:t!==void 0?+t(e,r)||0:gCe(e)>gCe(r)?1:-1}},"getSortCompare");lC0({target:"Array",proto:!0,forced:CC0},{sort:i(function(e){e!==void 0&&dC0(e);var r=bC0(this);if(qCe)return e===void 0?yCe(r):yCe(r,e);var n=[],o=zCe(r),s,a;for(a=0;a<o;a++)a in r&&zC0(n,r[a]);for(MC0(n,yC0(e)),s=zCe(n),a=0;a<s;)r[a]=n[a++];for(;a<o;)fC0(r,a++);return r},"sort")})});var RCe=h((Uf1,ICe)=>{"use strict";DCe();var BC0=Lo();ICe.exports=BC0("Array","sort")});var wCe=h((Gf1,NCe)=>{"use strict";var qC0=qr(),DC0=RCe(),N7=Array.prototype;NCe.exports=function(t){var e=t.sort;return t===N7||qC0(N7,t)&&e===N7.sort?DC0:e}});var FCe=h((Hf1,SCe)=>{"use strict";var IC0=wCe();SCe.exports=IC0});var xCe=h((Xf1,WCe)=>{WCe.exports=FCe()});var TCe=h(()=>{});var QCe=h((Jf1,LCe)=>{"use strict";var RC0=X1(),NC0=d1(),vCe=RC0.RegExp,wC0=!NC0(function(){var t=!0;try{vCe(".","d")}catch{t=!1}var e={},r="",n=t?"dgimsy":"gimsy",o=i(function(u,p){Object.defineProperty(e,u,{get:i(function(){return r+=p,!0},"get")})},"addGetter"),s={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};t&&(s.hasIndices="d");for(var a in s)o(a,s[a]);var c=Object.getOwnPropertyDescriptor(vCe.prototype,"flags").get.call(e);return c!==n||r!==n});LCe.exports={correct:wC0}});var PCe=h((jf1,_Ce)=>{"use strict";var SC0=Ea();_Ce.exports=function(){var t=SC0(this),e="";return t.hasIndices&&(e+="d"),t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.unicodeSets&&(e+="v"),t.sticky&&(e+="y"),e}});var GCe=h((Kf1,UCe)=>{"use strict";var FC0=eo(),WC0=$t(),xC0=qr(),kCe=QCe(),TC0=PCe(),vC0=RegExp.prototype;UCe.exports=kCe.correct?function(t){return t.flags}:function(t){return!kCe.correct&&xC0(vC0,t)&&!WC0(t,"flags")?FC0(TC0,t):t.flags}});var XCe=h((Zf1,HCe)=>{"use strict";TCe();var LC0=GCe();HCe.exports=LC0});var JCe=h((eM1,YCe)=>{"use strict";var QC0=qr(),_C0=XCe(),VCe=RegExp.prototype;YCe.exports=function(t){return t===VCe||QC0(VCe,t)?_C0(t):t.flags}});var jCe=h((tM1,$Ce)=>{"use strict";var PC0=JCe();$Ce.exports=PC0});var ZCe=h((rM1,KCe)=>{KCe.exports=jCe()});var mye=h((Fm,hye)=>{"use strict";var jt=si(),kC0=ci();kC0(Fm,"__esModule",{ Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s=!0,a=!1,c;return{s:i(function(){r=(0,UC0.default)(t)},"s"),n:i(function(){var p=r.next();return s=p.done,p},"n"),e:i(function(p){a=!0,c=p},"e"),f:i(function(){try{!s&&r.return!=null&&r.return()}finally{if(a)throw c}},"f")}}i(wm,"_createForOfIteratorHelper");function jC0(t,e){var r;if(t){if(typeof t=="string")return eye(t,e);var n=(0,ro.default)(r=Object.prototype.toString.call(t)).call(r,8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return(0,VC0.default)(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eye(t,e)}}i(jC0,"_unsupportedIterableToArray");function eye(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}i(eye,"_arrayLikeToArray");var _0="xregexp",tA={astral:!1,namespacing:!1},b1={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},pi={},Rm={},Wd={},w7=[],xd="default",tye="class",KC0={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},ZC0=/\$(?:{([\w$]+)}|<([\w$]+)>|(\d\d?|[\s\S]))/g,ey0=b1.exec.call(/()??/,"")[1]===void 0,ty0=(0,eA.default)(/x/)!==void 0,ry0={},iye=ry0.toString;function F7(t){var e=!0;try{if(new RegExp("",t),t==="y"){var r=(function(){return"gy"})(),n=".a".replace(new RegExp("a",r),".")==="..";n&&(e=!1)}}catch{e=!1}return e}i(F7,"hasNativeFlag");var aye=F7("u"),W7=F7("y"),cye={g:!0,i:!0,m:!0,u:aye,y:W7};function uye(t,e,r,n,o){var s;if(t[_0]={captureNames:e},o)return t;if(t.__proto__)t.__proto__=Y.prototype;else for(var a in Y.prototype)t[a]=Y.prototype[a];return t[_0].source=r,t[_0].flags=n&&(0,$C0.default)(s=n.split("")).call(s).join(""),t}i(uye,"augment");function Nm(t){return b1.replace.call(t,/([\s\S])(?=[\s\S]*\1)/g,"")}i(Nm,"clipDuplicates");function nA(t,e){var r;if(!Y.isRegExp(t))throw new TypeError("Type RegExp expected");var n=t[_0]||{},o=ny0(t),s="",a="",c=null,u=null;return e=e||{},e.removeG&&(a+="g"),e.removeY&&(a+="y"),a&&(o=b1.replace.call(o,new RegExp("[".concat(a,"]+"),"g"),"")),e.addG&&(s+="g"),e.addY&&(s+="y"),s&&(o=Nm(o+s)),e.isInternalOnly||(n.source!==void 0&&(c=n.source),(0,eA.default)(n)!=null&&(u=s?Nm((0,eA.default)(n)+s):(0,eA.default)(n))),t=uye(new RegExp(e.source||t.source,o),oy0(t)?(0,ro.default)(r=n.captureNames).call(r,0):null,c,u,e.isInternalOnly),t}i(nA,"copyRegex");function pye(t){return(0,sye.default)(t,16)}i(pye,"dec");function Aye(t,e,r){return t.input[t.index-1]==="("||t.input[t.index+t[0].length]===")"||t.input[t.index-1]==="|"||t.input[t.index+t[0].length]==="|"||t.index<1||t.index+t[0].length>=t.input.length||b1.test.call(/^\(\?[:=!]/,t.input.substr(t.index-3,3))||sy0(t.input,t.index+t[0].length,r)?"":"(?:)"}i(Aye,"getContextualTokenSeparator");function ny0(t){return ty0?(0,eA.default)(t):b1.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(t))[1]}i(ny0,"getNativeFlags");function oy0(t){return!!(t[_0]&&t[_0].captureNames)}i(oy0,"hasNamedCapture");function lye(t){return(0,sye.default)(t,10).toString(16)}i(lye,"hex");function sy0(t,e,r){var n="\\(\\?#[^)]*\\)",o="#[^#\\n]*",s="[?*+]|{\\d+(?:,\\d*)?}";return b1.test.call((0,rA.default)(r).call(r,"x")?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/,(0,ro.default)(t).call(t,e))}i(sy0,"isQuantifierNext");function x7(t,e){return iye.call(t)==="[object ".concat(e,"]")}i(x7,"isType");function dye(t){for(;t.length<4;)t="0".concat(t);return t}i(dye,"pad4");function iy0(t,e){if(Nm(e)!==e)throw new SyntaxError("Invalid duplicate regex flag ".concat(e));t=b1.replace.call(t,/^\(\?([\w$]+)\)/,function(s,a){if(b1.test.call(/[gy]/,a))throw new SyntaxError("Cannot use flag g or y in mode modifier ".concat(s));return e=Nm(e+a),""});var r=wm(e),n;try{for(r.s();!(n=r.n()).done;){var o=n.value;if(!cye[o])throw new SyntaxError("Unknown regex flag ".concat(o))}}catch(s){r.e(s)}finally{r.f()}return{pattern:t,flags:e}}i(iy0,"prepareFlags");function bye(t){var e={};return x7(t,"String")?((0,S7.default)(Y).call(Y,t,/[^\s,]+/,function(r){e[r]=!0}),e):t}i(bye,"prepareOptions");function rye(t){if(!/^[\w$]$/.test(t))throw new Error("Flag must be a single character A-Za-z0-9_$");cye[t]=!0}i(rye,"registerFlag");function ay0(t,e,r,n,o){for(var s=w7.length,a=t[r],c=null,u,p;s--;)if(p=w7[s],!(p.leadChar&&p.leadChar!==a||p.scope!==n&&p.scope!=="all"||p.flag&&!(0,rA.default)(e).call(e,p.flag))&&(u=Y.exec(t,p.regex,r,"sticky"),u)){c={matchLength:u[0].length,output:p.handler.call(o,u,n,e),reparse:p.reparse};break}return c}i(ay0,"runTokens");function fye(t){tA.astral=t}i(fye,"setAstral");function Mye(t){tA.namespacing=t}i(Mye,"setNamespacing");f Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s=!0,a=!1,c;return{s:i(function(){r=(0,ky0.default)(t)},"s"),n:i(function(){var p=r.next();return s=p.done,p},"n"),e:i(function(p){a=!0,c=p},"e"),f:i(function(){try{!s&&r.return!=null&&r.return()}finally{if(a)throw c}},"f")}}i($y0,"_createForOfIteratorHelper");function jy0(t,e){var r;if(t){if(typeof t=="string")return e4e(t,e);var n=(0,Vy0.default)(r=Object.prototype.toString.call(t)).call(r,8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return(0,Xy0.default)(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e4e(t,e)}}i(jy0,"_unsupportedIterableToArray");function e4e(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}i(e4e,"_arrayLikeToArray");var Ky0=i(function(e){var r={},n=e._dec,o=e._hex,s=e._pad4;function a(b){return b.replace(/[- _]+/g,"").toLowerCase()}i(a,"normalize");function c(b){var M=/^\\[xu](.+)/.exec(b);return M?n(M[1]):b.charCodeAt(b[0]==="\\"?1:0)}i(c,"charCode");function u(b){var M="",z=-1;return(0,Jy0.default)(e).call(e,b,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,function(O){var y=c(O[1]);y>z+1&&(M+="\\u".concat(s(o(z+1))),y>z+2&&(M+="-\\u".concat(s(o(y-1))))),z=c(O[2]||O[1])}),z<65535&&(M+="\\u".concat(s(o(z+1))),z<65534&&(M+="-\\uFFFF")),M}i(u,"invertBmp");function p(b){var M="b!";return r[b][M]||(r[b][M]=u(r[b].bmp))}i(p,"cacheInvertedBmp");function A(b,M){var z=r[b],O="";if(z.bmp&&!z.isBmpLast){var y;O=(0,Q7.default)(y="[".concat(z.bmp,"]")).call(y,z.astral?"|":"")}if(z.astral&&(O+=z.astral),z.isBmpLast&&z.bmp){var E;O+=(0,Q7.default)(E="".concat(z.astral?"|":"","[")).call(E,z.bmp,"]")}return M?"(?:(?!".concat(O,")(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-\uFFFF]))"):"(?:".concat(O,")")}i(A,"buildAstral");function l(b,M){var z=M?"a!":"a=";return r[b][z]||(r[b][z]=A(b,M))}i(l,"cacheAstral"),e.addToken(/\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/,function(b,M,z){var O="Invalid double negation ",y="Unknown Unicode token ",E="Unicode token missing data ",B="Astral mode required for Unicode token ",q="Astral mode does not support Unicode tokens within character classes",I=b[1]==="P"||!!b[2],W=(0,Yy0.default)(z).call(z,"A"),x=a(b[4]||b[3]),L=r[x];if(b[1]==="P"&&b[2])throw new SyntaxError(O+b[0]);if(!r.hasOwnProperty(x))throw new SyntaxError(y+b[0]);if(L.inverseOf){if(x=a(L.inverseOf),!r.hasOwnProperty(x)){var ce;throw new ReferenceError((0,Q7.default)(ce="".concat(E+b[0]," -> ")).call(ce,L.inverseOf))}L=r[x],I=!I}if(!(L.bmp||W))throw new SyntaxError(B+b[0]);if(W){if(M==="class")throw new SyntaxError(q);return l(x,I)}return M==="class"?I?p(x):L.bmp:"".concat((I?"[^":"[")+L.bmp,"]")},{scope:"all",optionalFlags:"A",leadChar:"\\"}),e.addUnicodeData=function(b){var M="Unicode token requires name",z="Unicode token has no character data ",O=$y0(b),y;try{for(O.s();!(y=O.n()).done;){var E=y.value;if(!E.name)throw new Error(M);if(!(E.inverseOf||E.bmp||E.astral))throw new Error(z+E.name);r[a(E.name)]=E,E.alias&&(r[a(E.alias)]=E)}}catch(B){O.e(B)}finally{O.f()}e.cache.flush("patterns")},e._getUnicodeProperty=function(b){var M=a(b);return r[M]}},"_default");vm.default=Ky0;t4e.exports=vm.default});var o4e=h((qM1,n4e)=>{n4e.exports=[{name:"InAdlam",astral:"\uD83A[\uDD00-\uDD5F]"},{name:"InAegean_Numbers",astral:"\uD800[\uDD00-\uDD3F]"},{name:"InAhom",astral:"\uD805[\uDF00-\uDF3F]"},{name:"InAlchemical_Symbols",astral:"\uD83D[\uDF00-\uDF7F]"},{name:"InAlphabetic_Presentation_Forms",bmp:"\uFB00-\uFB4F"},{name:"InAnatolian_Hieroglyphs",astral:"\uD811[\uDC00-\uDE7F]"},{name:"InAncient_Greek_Musical_Notation",astral:"\uD834[\uDE00-\uDE4F]"},{name:"InAncient_Greek_Numbers",astral:"\uD800[\uDD40-\uDD8F]"},{name:"InAncient_Symbols",astral:"\uD800[\uDD90-\uDDCF]"},{name:"InArabic",bmp:"\u0600-\u06FF"},{name:"InArabic_Extended_A",bmp:"\u08A0-\u08FF"},{name:"InArabic_Mathematical_Alphabetic_Symbols",astral:"\uD83B[\uDE00-\uDEFF]"},{name:"InArabic_Presentation_Forms_A",bmp:"\uFB50-\uFDFF"},{name:"InArabic_Presentation_Forms_B",bmp:"\uFE70-\uFEFF"},{name:"InArabic_Supplement",bmp:"\u0750-\u077F"},{name:"InArmenian",bmp:"\u0530-\u058F"},{name:"InArrows",bmp:"\u2190-\u21FF"},{name:"InAvestan",astral:"\uD802[\uDF00-\uDF3F]"},{name:"InBalinese",bmp:"\u1B00-\u1B7F"},{name:"InBamum",bmp:"\uA6A0-\uA6FF"},{name:"InBamum_Supplement",astral:"\uD81A[\uDC00-\uDE3F]"},{name:"InBasic_Latin",bmp:"\0-\x7F"},{name:"InBassa_Vah",astral:"\uD81A[\uDED0-\uDEFF]"},{name:"InBatak",bmp:"\u1BC0-\u1BFF"},{name:"InBengali",bmp:"\u0980-\u09FF"},{name:"InBhaiksuki",astral:"\uD807[\uDC00-\uDC6F]"},{name:"InBlock_Elements",bmp:"\u2580-\u259F"},{name:"InBopomofo",bmp:"\u3100-\u312F"},{name:"InBopomofo_Extended",bmp:"\u31A0-\u31BF"},{name:"InBox_Drawing",bmp:"\u2500-\u257F"},{name:"InBrahmi",astral:"\uD804[\uDC00-\uDC7F]"},{name:"InBraille_Patterns",bmp:"\u2800-\u28FF"},{name:"InBuginese",bmp:"\u1A00-\u1A1F"},{name:"InBuhid",bmp:"\u1740-\u175F"},{ Line truncated
Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}i(Vj,"getBooleanInput");function GN(t,e){if(process.env.GITHUB_OUTPUT||"")return Vd("OUTPUT",bz(t,e));process.stdout.write(UN.EOL),ko("set-output",{name:t},Po(e))}i(GN,"setOutput");function Yj(t){process.exitCode=kN.Failure,ll(t)}i(Yj,"setFailed");function vi(){return process.env.RUNNER_DEBUG==="1"}i(vi,"isDebug");function N(t){ko("debug",{},t)}i(N,"debug");function ll(t,e={}){ko("error",KD(e),t instanceof Error?t.toString():t)}i(ll,"error");function r0(t,e={}){ko("warning",KD(e),t instanceof Error?t.toString():t)}i(r0,"warning");function S(t){process.stdout.write(t+UN.EOL)}i(S,"info");function Iu(t){eI("group",t)}i(Iu,"startGroup");function Ru(){eI("endgroup")}i(Ru,"endGroup");function at(t,e){return g8e(this,void 0,void 0,function*(){Iu(t);let r;try{r=yield e()}finally{Ru()}return r})}i(at,"group");function fO(t,e){if(process.env.GITHUB_STATE||"")return Vd("STATE",bz(t,e));ko("save-state",{name:t},Po(e))}i(fO,"saveState");function Jj(t){return process.env[`STATE_${t}`]||""}i(Jj,"getState");var YM=w(require("fs"),1),nL=w(require("os"),1),oL=w(require("path"),1);var jj=w(require("os"),1);function rf(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}i(rf,"toCommandValue");function Kj(t,e,r){let n=new HN(t,e,r);process.stdout.write(n.toString()+jj.EOL)}i(Kj,"issueCommand");var $j="::",HN=class{static{i(this,"Command")}constructor(e,r,n){e||(e="missing.command"),this.command=e,this.properties=r,this.message=n}toString(){let e=$j+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let r=!0;for(let n in this.properties)if(this.properties.hasOwnProperty(n)){let o=this.properties[n];o&&(r?r=!1:e+=",",e+=`${n}=${E8e(o)}`)}}return e+=`${$j}${O8e(this.message)}`,e}};function O8e(t){return rf(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}i(O8e,"escapeData");function E8e(t){return rf(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}i(E8e,"escapeProperty");var rK=w(require("os"),1);var eK=require("os"),nf=require("fs");var XN=function(t,e,r,n){function o(s){return s instanceof r?s:new r(function(a){a(s)})}return i(o,"adopt"),new(r||(r=Promise))(function(s,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}i(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}i(u,"rejected");function p(A){A.done?s(A.value):o(A.value).then(c,u)}i(p,"step"),p((n=n.apply(t,e||[])).next())})},{access:C8e,appendFile:y8e,writeFile:B8e}=nf.promises,Zj="GITHUB_STEP_SUMMARY";var VN=class{static{i(this,"Summary")}constructor(){this._buffer=""}filePath(){return XN(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[Zj];if(!e)throw new Error(`Unable to find environment variable for $${Zj}. Check if your runtime environment supports job summaries.`);try{yield C8e(e,nf.constants.R_OK|nf.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,n={}){let o=Object.entries(n).map(([s,a])=>` ${s}="${a}"`).join("");return r?`<${e}${o}>${r}</${e}>`:`<${e}${o}>`}write(e){return XN(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?B8e:y8e)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return XN(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,r=!1){return this._buffer+=e,r?this.addEOL():this}addEOL(){return this.addRaw(eK.EOL)}addCodeBlock(e,r){let n=Object.assign({},r&&{lang:r}),o=this.wrap("pre",this.wrap("code",e),n);return this.addRaw(o).addEOL()}addList(e,r=!1){let n=r?"ol":"ul",o=e.map(a=>this.wrap("li",a)).join(""),s=this.wrap(n,o);return this.addRaw(s).addEOL()}addTable(e){let r=e.map(o=>{let s=o.map(a=>{if(typeof a=="string")return this.wrap("td",a);let{header:c,data:u,colspan:p,rowspan:A}=a,l=c?"th":"td",b=Object.assign(Object.assign({},p&&{colspan:p}),A&&{rowspan:A});return this.wrap(l,u,b)}).join("");return this.wrap("tr",s)}).join(""),n=this.wrap("table",r);return this.addRaw(n).addEOL()}addDetails(e,r){let n=this.wrap("details",this.wrap("summary",e)+r);return this.addRaw(n).addEOL()}addImage(e,r,n){let{width:o,height:s}=n||{},a=Object.assign(Object.assign({},o&&{width:o}),s&&{height:s}),c=this.wrap("img",null,Object.assign({src:e,alt:r},a));return this.addRaw(c).addEOL()}addHeading(e,r){let n=`h${r}`,o=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1",s=this.wrap(o,e);return this.addRaw(s).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,r){let n=Object.assign({},r&&{cite:r}),o=this.wrap("blockquote",e,n);return this.addRaw(o).addEOL()}addLinLine truncated
`),e=e.replace(/\r/g,`
`));let o=e.split(`
`).map(s=>s.trim());for(let s of o)!s||s.startsWith("#")||n.patterns.push(new mf(s));return n.searchPaths.push(...Dw(n.patterns)),n})}static stat(e,r,n){return Ww(this,void 0,void 0,function*(){let o;if(r.followSymbolicLinks)try{o=yield ml.promises.stat(e.path)}catch(s){if(s.code==="ENOENT"){if(r.omitBrokenSymbolicLinks){En(`Broken symlink '${e.path}'`);return}throw new Error(`No information found for the path '${e.path}'. This may indicate a broken symbolic link.`)}throw s}else o=yield ml.promises.lstat(e.path);if(o.isDirectory()&&r.followSymbolicLinks){let s=yield ml.promises.realpath(e.path);for(;n.length>=e.level;)n.pop();if(n.some(a=>a===s)){En(`Symlink cycle detected for path '${e.path}' and realpath '${s}'`);return}n.push(s)}return o})}};var b7e=function(t,e,r,n){function o(s){return s instanceof r?s:new r(function(a){a(s)})}return i(o,"adopt"),new(r||(r=Promise))(function(s,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}i(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}i(u,"rejected");function p(A){A.done?s(A.value):o(A.value).then(c,u)}i(p,"step"),p((n=n.apply(t,e||[])).next())})};function xee(t,e){return b7e(this,void 0,void 0,function*(){return yield xO.create(t,e)})}i(xee,"create");var KO=w(require("crypto"),1),El=w(require("fs"),1),Fu=w(require("path"),1),I1e=w(q1e(),1),R1e=w(require("util"),1);var Bf;(function(t){t.Gzip="cache.tgz",t.Zstd="cache.tzst"})(Bf||(Bf={}));var Lt;(function(t){t.Gzip="gzip",t.ZstdWithoutLong="zstd-without-long",t.Zstd="zstd"})(Lt||(Lt={}));var Ur;(function(t){t.GNU="gnu",t.BSD="bsd"})(Ur||(Ur={}));var JO=2,$O=5e3,t6=5e3,r6=`${process.env.PROGRAMFILES}\\Git\\usr\\bin\\tar.exe`,D1e=`${process.env.SYSTEMDRIVE}\\Windows\\System32\\tar.exe`,qf="cache.tar",n6="manifest.txt",rF0=10*Math.pow(1024,3),jO="cache read denied:";var Ol=function(t,e,r,n){function o(s){return s instanceof r?s:new r(function(a){a(s)})}return i(o,"adopt"),new(r||(r=Promise))(function(s,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}i(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}i(u,"rejected");function p(A){A.done?s(A.value):o(A.value).then(c,u)}i(p,"step"),p((n=n.apply(t,e||[])).next())})},OGe=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(s){r[s]=t[s]&&function(a){return new Promise(function(c,u){a=t[s](a),o(c,u,a.done,a.value)})}}function o(s,a,c,u){Promise.resolve(u).then(function(p){s({value:p,done:c})},a)}},EGe="1.0";function Df(){return Ol(this,void 0,void 0,function*(){let t=process.platform==="win32",e=process.env.RUNNER_TEMP||"";if(!e){let n;t?n=process.env.USERPROFILE||"C:\\":process.platform==="darwin"?n="/Users":n="/home",e=Fu.join(n,"actions","temp")}let r=Fu.join(e,KO.randomUUID());return yield Ti(r),r})}i(Df,"createTempDirectory");function ss(t){return El.statSync(t).size}i(ss,"getArchiveFileSizeInBytes");function o6(t){return Ol(this,void 0,void 0,function*(){var e,r,n,o,s;let a=[],c=(s=process.env.GITHUB_WORKSPACE)!==null&&s!==void 0?s:process.cwd(),u=yield xee(t.join(`
`),{implicitDescendants:!1});try{for(var p=!0,A=OGe(u.globGenerator()),l;l=yield A.next(),e=l.done,!e;p=!0){o=l.value,p=!1;let M=Fu.relative(c,o).replace(new RegExp(`\\${Fu.sep}`,"g"),"/");N(`Matched: ${M}`),M===""?a.push("."):a.push(`${M}`)}}catch(b){r={error:b}}finally{try{!p&&!e&&(n=A.return)&&(yield n.call(A))}finally{if(r)throw r.error}}return a})}i(o6,"resolvePaths");function If(t){return Ol(this,void 0,void 0,function*(){return R1e.promisify(El.unlink)(t)})}i(If,"unlinkFile");function N1e(t){return Ol(this,arguments,void 0,function*(e,r=[]){let n="";r.push("--version"),N(`Checking ${e} ${r.join(" ")}`);try{yield _r(`${e}`,r,{ignoreReturnCode:!0,silent:!0,listeners:{stdout:i(o=>n+=o.toString(),"stdout"),stderr:i(o=>n+=o.toString(),"stderr")}})}catch(o){N(o.message)}return n=n.trim(),N(n),n})}i(N1e,"getVersion");function Rf(){return Ol(this,void 0,void 0,function*(){let t=yield N1e("zstd",["--quiet"]),e=I1e.clean(t);return N(`zstd version: ${e}`),t===""?Lt.Gzip:Lt.ZstdWithoutLong})}i(Rf,"getCompressionMethod");function nc(t){return t===Lt.Gzip?Bf.Gzip:Bf.Zstd}i(nc,"getCacheFileName");function w1e(){return Ol(this,void 0,void 0,function*(){return El.existsSync(r6)?r6:(yield N1e("tar")).toLowerCase().includes("gnu tar")?it("tar"):""})}i(w1e,"getGnuTarPathOnWindows");function s6(t,e){if(e===void 0)throw Error(`Expected ${t} but value was undefiend`);return e}i(s6,"assertDefined");function Cl(t,e,r=!1){let n=t.slice();return e&&n.push(e),process.platform==="win32"&&!r&&n.push("windows-only"),n.push(EGe),KO.createHash("sha256").update(n.join("|")).digest("hex")}i(Cl,"getCacheVersion");function S1e(){let t=process.env.ACTIONS_RUNTIME_TOKEN;if(!t)throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");return t}i(S1e,"getRuntimeToken");var wf=w(require("http"),1),c6=w(require("https"),1);function i6(t){let e=t.protocol==="https:";if(CGe(t))return;let r=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(r)try{return new e3(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new e3(`http://${r}`)}else return}i(i6,"getProxyUrl");function CGe(t){if(!t.hostname)return!1;let e=t.hostname;if(yGe(e))return!0;let r=process.env.no_proxy||process.env.NO_PROXY||"";if(!r)return!1;let n;t.port?n=Number(t.port):t.protocol==="http:"?n=80:t.protocol==="https:"&&(n=443);let o=[t.hostname.toUpperCase()];typeof n=="number"&&o.push(`${o[0]}:${n}`);for(let s of r.split(",").map(a=>a.trim().toUpperCase()).filter(a=>a))if(s==="*"||o.some(a=>a===s||a.endsWith(`.${s}`)||s.startsWith(".")&&a.endsWith(`${s}`)))return!0;return!1}i(CGe,"checkBypass");function yGe(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}i(yGe,"isLoopbackAddress");var e3=class extends URL{static{i(this,"DecodedURL")}constructor(e,r){super(e,r),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}};var oc=w(Yd(),1),F1e=w(ul(),1);var z1=function(t,e,r,n){function o(s){return s instanceof r?s:new r(function(a){a(s)})}return i(o,"adopt"),new(r||(r=Promise))(function(s,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}i(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}i(u,"rejected");function p(A){A.done?s(A.value):o(A.value).then(c,u)}i(p,"step"),p((n=n.apply(t,e||[])).next())})},n1;(function(t){t[t.OK=200]="OK",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.ResourceMoved=302]="ResourceMoved",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.SwitchProxy=306]="SwitchProxy",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.TooManyRequests=429]="TooManyRequests",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout"})(n1||(n1={}));var Qt;(function(t){t.Accept="accept",t.ContentType="content-type"})(Qt||(Qt={}));var Pi;(function(t){t.ApplicationJson="application/json"})(Pi||(Pi={}));var qGe=[n1.MovedPermanently,n1.ResourceMoved,n1.SeeOther,n1.TemporaryRedirect,n1.PermanentRedirect],DGe=[n1.BadGateway,n1.ServiceUnavailable,n1.GatewayTimeout],IGe=["OPTIONS","GET","DELETE","HEAD"],RGe=10,NGe=5,is=class t extends Error{static{i(this,"HttpClientError")}const Line truncated
${QGe.sanitize({...this,request:{...this.request,agent:n},response:this.response})}`,"value"),enumerable:!1}),Object.setPrototypeOf(this,t.prototype)}};function i3(t){return t instanceof _t?!0:xu(t)&&t.name==="RestError"}i(i3,"isRestError");function sr(t,e){return Buffer.from(t,e)}i(sr,"stringToUint8Array");var a3=w(require("node:http"),1),c3=w(require("node:https"),1),m6=w(require("node:zlib"),1),j1e=require("node:stream");var Bn=Sf("ts-http-runtime");var _Ge={};function Ff(t){return t&&typeof t.pipe=="function"}i(Ff,"isReadableStream");function $1e(t){return t.readable===!1?Promise.resolve():new Promise(e=>{let r=i(()=>{e(),t.removeListener("close",r),t.removeListener("end",r),t.removeListener("error",r)},"handler");t.on("close",r),t.on("end",r),t.on("error",r)})}i($1e,"isStreamComplete");function K1e(t){return t&&typeof t.byteLength=="number"}i(K1e,"isArrayBuffer");var u3=class extends j1e.Transform{static{i(this,"ReportTransform")}loadedBytes=0;progressCallback;_transform(e,r,n){this.push(e),this.loadedBytes+=e.length;try{this.progressCallback({loadedBytes:this.loadedBytes}),n()}catch(o){n(o)}}constructor(e){super(),this.progressCallback=e}},z6=class{static{i(this,"NodeHttpClient")}cachedHttpAgent;cachedHttpsAgents=new WeakMap;async sendRequest(e){let r=new AbortController,n;if(e.abortSignal){if(e.abortSignal.aborted)throw new as("The operation was aborted. Request has already been canceled.");n=i(p=>{p.type==="abort"&&r.abort()},"abortListener"),e.abortSignal.addEventListener("abort",n)}let o;e.timeout>0&&(o=setTimeout(()=>{let p=new zo;Bn.info(`request to '${p.sanitizeUrl(e.url)}' timed out. canceling...`),r.abort()},e.timeout));let s=e.headers.get("Accept-Encoding"),a=s?.includes("gzip")||s?.includes("deflate"),c=typeof e.body=="function"?e.body():e.body;if(c&&!e.headers.has("Content-Length")){let p=GGe(c);p!==null&&e.headers.set("Content-Length",p)}let u;try{if(c&&e.onUploadProgress){let z=e.onUploadProgress,O=new u3(z);O.on("error",y=>{Bn.error("Error in upload progress",y)}),Ff(c)?c.pipe(O):O.end(c),c=O}let p=await this.makeRequest(e,r,c);o!==void 0&&clearTimeout(o);let A=PGe(p),b={status:p.statusCode??0,headers:A,request:e};if(e.method==="HEAD")return p.resume(),b;u=a?kGe(p,A):p;let M=e.onDownloadProgress;if(M){let z=new u3(M);z.on("error",O=>{Bn.error("Error in download progress",O)}),u.pipe(z),u=z}return e.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY)||e.streamResponseStatusCodes?.has(b.status)?b.readableStreamBody=u:b.bodyAsText=await UGe(u),b}finally{if(e.abortSignal&&n){let p=Promise.resolve();Ff(c)&&(p=$1e(c));let A=Promise.resolve();Ff(u)&&(A=$1e(u)),Promise.all([p,A]).then(()=>{n&&e.abortSignal?.removeEventListener("abort",n)}).catch(l=>{Bn.warning("Error when cleaning up abortListener on httpRequest",l)})}}}makeRequest(e,r,n){let o=new URL(e.url),s=o.protocol!=="https:";if(s&&!e.allowInsecureConnection)throw new Error(`Cannot connect to ${e.url} while allowInsecureConnection is false.`);let c={agent:e.agent??this.getOrCreateAgent(e,s),hostname:o.hostname,path:`${o.pathname}${o.search}`,port:o.port,method:e.method,headers:e.headers.toJSON({preserveCase:!0}),...e.requestOverrides};return new Promise((u,p)=>{let A=s?a3.default.request(c,u):c3.default.request(c,u);A.once("error",l=>{p(new _t(l.message,{code:l.code??_t.REQUEST_SEND_ERROR,request:e}))}),r.signal.addEventListener("abort",()=>{let l=new as("The operation was aborted. Rejecting from abort signal callback while making request.");A.destroy(l),p(l)}),n&&Ff(n)?n.pipe(A):n?typeof n=="string"||Buffer.isBuffer(n)?A.end(n):K1e(n)?A.end(ArrayBuffer.isView(n)?Buffer.from(n.buffer):Buffer.from(n)):(Bn.error("Unrecognized body type",n),p(new _t("Unrecognized body type"))):A.end()})}getOrCreateAgent(e,r){let n=e.disableKeepAlive;if(r)return n?a3.default.globalAgent:(this.cachedHttpAgent||(this.cachedHttpAgent=new a3.default.Agent({keepAlive:!0})),this.cachedHttpAgent);{if(n&&!e.tlsSettings)return c3.default.globalAgent;let o=e.tlsSettings??_Ge,s=this.cachedHttpsAgents.get(o);return s&&s.options.keepAlive===!n||(Bn.info("No cached TLS Agent exist, creating a new Agent"),s=new c3.default.Agent({keepAlive:!n,...o}),this.cachedHttpsAgents.set(o,s)),s}}};function PGe(t){let e=Gr();for(let r of Object.keys(t.headers)){let n=t.headers[r];Array.isArray(n)?n.length>0&&e.set(r,n[0]):n&&e.set(r,n)}return e}i(PGe,"getResponseHeaders");function kGe(t,e){let r=e.get("Content-Encoding");if(r==="gzip"){let n=m6.default.createGunzip();return t.pipe(n),n}else if(r==="deflate"){let n=m6.default.createInflate();return t.pipe(n),n}return t}i(kGe,"getDecodedResponseStream");function UGe(t){return new Promise((e,r)=>{let n=[];t.on("data",o=>{Buffer.isBuffer(o)?n.push(o):n.push(Buffer.from(o))}),t.on("end",()=>{e(Buffer.concat(n).toString("utf8"))}),t.on("error",o=>{o&&o?.name==="AbortError"?r(o):r(new _t(`Error reading response as text: ${o.message}`,{code:_t.PARSE_ERROR}))})})}i(UGe,"streamToText");function GGe(t){return t?Buffer.isBuffer(t)?t.length: Line truncated
`;return e}i(OXe,"encodeHeaders");function EXe(t){return t instanceof Uint8Array?t.byteLength:F3(t)?t.size===-1?void 0:t.size:void 0}i(EXe,"getLength");function CXe(t){let e=0;for(let r of t){let n=EXe(r);if(n===void 0)return;e+=n}return e}i(CXe,"getTotalLength");async function yXe(t,e,r){let n=[sr(`--${r}`,"utf-8"),...e.flatMap(s=>[sr(`\r
`,"utf-8"),sr(OXe(s.headers),"utf-8"),sr(`\r
`,"utf-8"),s.body,sr(`\r
--${r}`,"utf-8")]),sr(`--\r
\r
`,"utf-8")],o=CXe(n);o&&t.headers.set("Content-Length",o),t.body=await rre(n)}i(yXe,"buildRequestBody");var Tf="multipartPolicy",BXe=70,qXe=new Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?");function DXe(t){if(t.length>BXe)throw new Error(`Multipart boundary "${t}" exceeds maximum length of 70 characters`);if(Array.from(t).some(e=>!qXe.has(e)))throw new Error(`Multipart boundary "${t}" contains invalid characters`)}i(DXe,"assertValidBoundary");function x3(){return{name:Tf,async sendRequest(t,e){if(!t.multipartBody)return e(t);if(t.body)throw new Error("multipartBody and regular body cannot be set at the same time");let r=t.multipartBody.boundary,n=t.headers.get("Content-Type")??"multipart/mixed",o=n.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);if(!o)throw new Error(`Got multipart request body, but content-type header was not multipart: ${n}`);let[,s,a]=o;if(a&&r&&a!==r)throw new Error(`Multipart boundary was specified as ${a} in the header, but got ${r} in the request body`);return r??=a,r?DXe(r):r=gXe(),t.headers.set("Content-Type",`${s}; boundary=${r}`),await yXe(t,t.multipartBody.parts,r),t.multipartBody=void 0,e(t)}}}i(x3,"multipartPolicy");function T3(){return s3()}i(T3,"createEmptyPipeline");var nre=r3({logLevelEnvVarName:"AZURE_LOG_LEVEL",namespace:"azure"}),eL0=nre.logger;function ps(t){return nre.createClientLogger(t)}i(ps,"createClientLogger");var As=ps("core-rest-pipeline");function L6(t={}){return A3({logger:As.info,...t})}i(L6,"logPolicy");var Q6=l3;function _6(t={}){return d3(t)}i(_6,"redirectPolicy");var v3=w(require("node:os"),1),L3=w(require("node:process"),1);function ore(){return"User-Agent"}i(ore,"getHeaderName");async function sre(t){if(L3.default&&L3.default.versions){let e=`${v3.default.type()} ${v3.default.release()}; ${v3.default.arch()}`,r=L3.default.versions;r.bun?t.set("Bun",`${r.bun} (${e})`):r.deno?t.set("Deno",`${r.deno} (${e})`):r.node&&t.set("Node",`${r.node} (${e})`)}}i(sre,"setPlatformSpecificData");var Q3="1.22.2";function xXe(t){let e=[];for(let[r,n]of t){let o=n?`${r}/${n}`:r;e.push(o)}return e.join(" ")}i(xXe,"getUserAgentString");function ire(){return ore()}i(ire,"getUserAgentHeaderName");async function _3(t){let e=new Map;e.set("core-rest-pipeline",Q3),await sre(e);let r=xXe(e);return t?`${t} ${r}`:r}i(_3,"getUserAgentValue");var are=ire(),cre="userAgentPolicy";function P6(t={}){let e=_3(t.userAgentPrefix);return{name:cre,async sendRequest(r,n){return r.headers.has(are)||r.headers.set(are,await e),n(r)}}}i(P6,"userAgentPolicy");var Yr=class extends Error{static{i(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}};function k6(t,e){let{cleanupBeforeAbort:r,abortSignal:n,abortErrorMsg:o}=e??{};return new Promise((s,a)=>{function c(){a(new Yr(o??"The operation was aborted."))}i(c,"rejectOnAbort");function u(){n?.removeEventListener("abort",p)}i(u,"removeListeners");function p(){r?.(),u(),c()}if(i(p,"onAbort"),n?.aborted)return c();try{t(A=>{u(),s(A)},A=>{u(),a(A)})}catch(A){a(A)}n?.addEventListener("abort",p)})}i(k6,"createAbortablePromise");var _Xe="The delay was aborted.";function vf(t,e){let r,{abortSignal:n,abortErrorMsg:o}=e??{};return k6(s=>{r=setTimeout(s,t)},{cleanupBeforeAbort:i(()=>clearTimeout(r),"cleanupBeforeAbort"),abortSignal:n,abortErrorMsg:o??_Xe})}i(vf,"delay");function ic(t){if(xu(t))return t.message;{let e;try{typeof t=="object"&&t?e=JSON.stringify(t):e=String(t)}catch{e="[unable to stringify input]"}return`Unknown error ${e}`}}i(ic,"getErrorMessage");function ure(t){return xu(t)}i(ure,"isError");function Sl(){return Wu()}i(Sl,"randomUUID");var l0=Lu;var pre=Symbol("rawContent");function G6(t){return typeof t[pre]=="function"}i(G6,"hasRawContent");function Are(t){return G6(t)?t[pre]():t}i(Are,"getRawContent");var P3=Tf;function H6(){let t=x3();return{name:P3,sendRequest:i(async(e,r)=>{if(e.multipartBody)for(let n of e.multipartBody.parts)G6(n.body)&&(n.body=Are(n.body));return t.sendRequest(e,r)},"sendRequest")}}i(H6,"multipartPolicy");var X6=b3;function V6(){return f3()}i(V6,"decompressResponsePolicy");function Y6(t={}){return m3(t)}i(Y6,"defaultRetryPolicy");function J6(){return z3()}i(J6,"formDataPolicy");function ac(t){return F6(t)}i(ac,"getDefaultProxySettings");function $6(t,e){return N3(t,e)}i($6,"proxyPolicy");var lre="setClientRequestIdPolicy";function j6(t="x-ms-client-request-id"){return{name:lre,async sendRequest(e,r){return e.headers.has(t)||e.headers.set(t,e.requestId),r(e)}}}i(j6,"setClientRequestIdPolicy");function K6(t){return w3(t)}i(K6,"agentPolicy");function Z6(t){return S3(t)}i(Z6,"tlsPolicy");var Fl={span:Symbol.for("@azure/core-tracing span"),namespace:Symbol.for("@azure/core-tracing namespace")};function dre(t={}){let e=new eS(t.parentContext);return t.span&&(e=e.setValue(Fl.span,t.span)),t.namespace&&(e=e.setValue(Fl.namespace,t.namespace)),e}i(dre,"createTracingContext");var eS=class t{static{i(this,"TracingContextImpl")}_contextMap;constructor(e){this._contextMap=e i Line truncated
`&&t[s]!=="\r";s++)u+=t[s];if(u=u.trim(),u[u.length-1]==="/"&&(u=u.substring(0,u.length-1),s--),!pYe(u)){let l;return u.trim().length===0?l="Invalid space after '<'.":l="Tag '"+u+"' is an invalid name.",g1("InvalidTag",l,Pt(t,s))}let p=sYe(t,s);if(p===!1)return g1("InvalidAttr","Attributes for '"+u+"' have open quote.",Pt(t,s));let A=p.value;if(s=p.index,A[A.length-1]==="/"){let l=s-A.length;A=A.substring(0,A.length-1);let b=$re(A,e);if(b===!0)n=!0;else return g1(b.err.code,b.err.msg,Pt(t,l+b.err.line))}else if(c)if(p.tagClosed){if(A.trim().length>0)return g1("InvalidTag","Closing tag '"+u+"' can't have attributes or invalid starting.",Pt(t,a));if(r.length===0)return g1("InvalidTag","Closing tag '"+u+"' has not been opened.",Pt(t,a));{let l=r.pop();if(u!==l.tagName){let b=Pt(t,l.tagStartPos);return g1("InvalidTag","Expected closing tag '"+l.tagName+"' (opened in line "+b.line+", col "+b.col+") instead of closing tag '"+u+"'.",Pt(t,a))}r.length==0&&(o=!0)}}else return g1("InvalidTag","Closing tag '"+u+"' doesn't have proper closing.",Pt(t,s));else{let l=$re(A,e);if(l!==!0)return g1(l.err.code,l.err.msg,Pt(t,s-A.length+l.err.line));if(o===!0)return g1("InvalidXml","Multiple possible root nodes found.",Pt(t,s));e.unpairedTags.indexOf(u)!==-1||r.push({tagName:u,tagStartPos:a}),n=!0}for(s++;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="!"){s++,s=Jre(t,s);continue}else if(t[s+1]==="?"){if(s=Yre(t,++s),s.err)return s}else break;else if(t[s]==="&"){let l=cYe(t,s);if(l==-1)return g1("InvalidChar","char '&' is not expected.",Pt(t,s));s=l}else if(o===!0&&!Vre(t[s]))return g1("InvalidXml","Extra text at the end",Pt(t,s));t[s]==="<"&&s--}}else{if(Vre(t[s]))continue;return g1("InvalidChar","char '"+t[s]+"' is not expected.",Pt(t,s))}if(n){if(r.length==1)return g1("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",Pt(t,r[0].tagStartPos));if(r.length>0)return g1("InvalidXml","Invalid '"+JSON.stringify(r.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return g1("InvalidXml","Start tag expected.",1);return!0}i(eE,"validate");function Vre(t){return t===" "||t===" "||t===`
`||t==="\r"}i(Vre,"isWhiteSpace");function Yre(t,e){let r=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){let n=t.substr(r,e-r);if(e>5&&n==="xml")return g1("InvalidXml","XML declaration allowed only at the start of the document.",Pt(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}i(Yre,"readPI");function Jre(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}i(Jre,"readCommentAndCDATA");var nYe='"',oYe="'";function sYe(t,e){let r="",n="",o=!1;for(;e<t.length;e++){if(t[e]===nYe||t[e]===oYe)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){o=!0;break}r+=t[e]}return n!==""?!1:{value:r,index:e,tagClosed:o}}i(sYe,"readAttributeStr");var iYe=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function $re(t,e){let r=K3(t,iYe),n={};for(let o=0;o<r.length;o++){if(r[o][1].length===0)return g1("InvalidAttr","Attribute '"+r[o][2]+"' has no space in starting.",Jf(r[o]));if(r[o][3]!==void 0&&r[o][4]===void 0)return g1("InvalidAttr","Attribute '"+r[o][2]+"' is without value.",Jf(r[o]));if(r[o][3]===void 0&&!e.allowBooleanAttributes)return g1("InvalidAttr","boolean attribute '"+r[o][2]+"' is not allowed.",Jf(r[o]));let s=r[o][2];if(!uYe(s))return g1("InvalidAttr","Attribute '"+s+"' is an invalid name.",Jf(r[o]));if(!Object.prototype.hasOwnProperty.call(n,s))n[s]=1;else return g1("InvalidAttr","Attribute '"+s+"' is repeated.",Jf(r[o]))}return!0}i($re,"validateAttributeString");function aYe(t,e){let r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}i(aYe,"validateNumberAmpersand");function cYe(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,aYe(t,e);let r=0;for(;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}i(cYe,"validateAmpersand");function g1(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}i(g1,"getErrorObject");function uYe(t){return mS(t)}i(uYe,"validateAttrName");function pYe(t){return mS(t)}i(pYe,"validateTagName");function Pt(t,e){let r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}i(Pt,"getLineNumberForPosition");function Jf(t){return t.startIndex+t[1].length}i(Jf,"getPositionFromMatch");var jre={amp:"&",AMP:"&",lt:"<",LT:"<",gt:">",GT:">",quot:'"',QUOT:'"',apos:"'",lsquo:"\u2018",rsquo:"\u2019",ldquo:"\u201C",rdquo:"\u201D",lsquor:"\u201A",rsquor:"\u2019",ldquor:"\u201E",bdquo:"\u201E",comma:",",period:".",colon:":",semi:";",excl:"!",quest:"?",num:"#",dollar:"$",percent:"%",amp:"&",ast:"*",commat:"@",lowbar:"_",verbar:"|",vert:"|",sol:"/",bsol:"\\",lbrace:"{",rbrace:"}",lbrack:"[",rbrack:"]",lpar:"(",rpar:")",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",COPY:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",REG:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",half:"\xBD",frac34:"\xBE",iquest:"\xBF",times:"\xD7",div:"\xF7",divide:"\xF7"},Kre={Agrave:"\xC0",agrave:"\xE0",Aacute:"\xC1",aacute:"\xE1",Acirc:"\xC2",acirc:"\xE2",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",Aring:"\xC5",aring:"\xE5",AElig:"\xC6",aelig:"\xE6",Ccedil:"\xC7",ccedil:"\xE7",Egrave:"\xC8",egrave:"\xE8",Eacute:"\xC9",eacute:"\xE9",Ecirc:"\xCA",ecirc:"\xEA",Euml:"\xCB",euml:"\xEB",Igrave:"\xCC",igrave:"\xEC",Iacute:"\xCD",iacute:"\xED",Icirc:"\xCE",icirc:"\xEE",Iuml:"\xCF",iuml:"\xEF",ETH:"\xD0",eth:"\xF0",Ntilde:"\xD1",ntilde:"\xF1",Ograve:"\xD2",ograve:"\xF2",Oacute:"\xD3",oacute:"\xF3",Ocirc:"\xD4",ocirc:"\xF4",Otilde:"\xD5",otilde:"\xF5",Ouml:"\xD6",ouml:"\xF6",Oslash:"\xD8",oslash:"\xF8",Ugrave:"\xD9",ugrave:"\xF9",Uacute:"\xDA",uacute:"\xFA",Ucirc:"\xDB",ucirc:"\xFB",Uuml:"\xDC",uuml:"\xFC",Yacute:"\xDD",yacute:"\xFD",THORN:"\xDE",thorn:"\xFE",szlig:"\xDF",yuml:"\xFF",Yuml:"\u0178"},Zre={Amacr:"\u0100",amacr:"\u0101",Abreve:"\u0102",abreve:"\u0103",Aogon:"\u0104",aogon:"\u0105",Cacute:"\u0106",cacute:"\u0107",Ccirc:"\u0108",ccirc:"\u0109",Cdot:"\u010A",cdot:"\u010B",Ccaron:"\u010C",ccaron:"\u010D",Dcaron:"\u010E",dcaron:"\u010F",Dstrok:"\u0110",dstrok:"\u0111",Emacr:"\u0112",emacr:"\u0113",Ecaron:"\u011A",ecaron:"\u011B",Edot:"\u0116",edot:"\u0117",Eogon:"\u0118",eogon:"\u0119",Gcirc:"\u011C",gcirc:"\u011D",Gbreve:"\u011E",gbreve:"\u011F",Gdot:"\u0120",gdot:"\u0121",Gcedil:"\u0122",Hcirc:"\u0124",hcirc:"\Line truncated
`);let e=new ur("!xml"),r=e,n="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;let o=this.options,s=new Kf(o.processEntities),a=t.length;for(let c=0;c<a;c++)if(t[c]==="<"){let p=t.charCodeAt(c+1);if(p===47){let A=Ll(t,">",c,"Closing Tag is not closed."),l=t.substring(c+2,A).trim();if(o.removeNSPrefix){let M=l.indexOf(":");M!==-1&&(l=l.substr(M+1))}l=qS(o.transformTagName,l,"",o).tagName,r&&(n=this.saveTextToParentTag(n,r,this.readonlyMatcher));let b=this.matcher.getCurrentTag();if(l&&o.unpairedTagsSet.has(l))throw new Error(`Unpaired tag can not be used as closing tag: </${l}>`);b&&o.unpairedTagsSet.has(b)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,r=this.tagsNodeStack.pop(),n="",c=A}else if(p===63){let A=DS(t,c,!1,"?>");if(!A)throw new Error("Pi Tag is not closed.");n=this.saveTextToParentTag(n,r,this.readonlyMatcher);let l=this.buildAttributesMap(A.tagExp,this.matcher,A.tagName,!0);if(l){let b=l[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(b)||1),s.setXmlVersion(Number(b)||1)}if(!(o.ignoreDeclaration&&A.tagName==="?xml"||o.ignorePiTags)){let b=new ur(A.tagName);b.add(o.textNodeName,""),A.tagName!==A.tagExp&&A.attrExpPresent&&o.ignoreAttributes!==!0&&(b[":@"]=l),this.addChild(r,b,this.readonlyMatcher,c)}c=A.closeIndex+1}else if(p===33&&t.charCodeAt(c+2)===45&&t.charCodeAt(c+3)===45){let A=Ll(t,"-->",c+4,"Comment is not closed.");if(o.commentPropName){let l=t.substring(c+4,A-2);n=this.saveTextToParentTag(n,r,this.readonlyMatcher),r.add(o.commentPropName,[{[o.textNodeName]:l}])}c=A}else if(p===33&&t.charCodeAt(c+2)===68){let A=s.readDocType(t,c);this.entityDecoder.addInputEntities(A.entities),c=A.i}else if(p===33&&t.charCodeAt(c+2)===91){let A=Ll(t,"]]>",c,"CDATA is not closed.")-2,l=t.substring(c+9,A);n=this.saveTextToParentTag(n,r,this.readonlyMatcher);let b=this.parseTextData(l,r.tagname,this.readonlyMatcher,!0,!1,!0,!0);b==null&&(b=""),o.cdataPropName?r.add(o.cdataPropName,[{[o.textNodeName]:l}]):r.add(o.textNodeName,b),c=A+2}else{let A=DS(t,c,o.removeNSPrefix);if(!A){let x=t.substring(Math.max(0,c-50),Math.min(a,c+50));throw new Error(`readTagExp returned undefined at position ${c}. Context: "${x}"`)}let l=A.tagName,b=A.rawTagName,M=A.tagExp,z=A.attrExpPresent,O=A.closeIndex;if({tagName:l,tagExp:M}=qS(o.transformTagName,l,M,o),o.strictReservedNames&&(l===o.commentPropName||l===o.cdataPropName||l===o.textNodeName||l===o.attributesGroupName))throw new Error(`Invalid tag name: ${l}`);r&&n&&r.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,r,this.readonlyMatcher,!1));let y=r;y&&o.unpairedTagsSet.has(y.tagname)&&(r=this.tagsNodeStack.pop(),this.matcher.pop());let E=!1;M.length>0&&M.lastIndexOf("/")===M.length-1&&(E=!0,l[l.length-1]==="/"?(l=l.substr(0,l.length-1),M=l):M=M.substr(0,M.length-1),z=l!==M);let B=null,q={},I;I=FYe(b),l!==e.tagname&&this.matcher.push(l,{},I),l!==M&&z&&(B=this.buildAttributesMap(M,this.matcher,l),B&&(q=SYe(B,o))),l!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());let W=c;if(this.isCurrentNodeStopNode){let x="";if(E)c=A.closeIndex;else if(o.unpairedTagsSet.has(l))c=A.closeIndex;else{let ce=this.readStopNodeData(t,b,O+1);if(!ce)throw new Error(`Unexpected end of ${b}`);c=ce.i,x=ce.tagContent}let L=new ur(l);B&&(L[":@"]=B),L.add(o.textNodeName,x),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(r,L,this.readonlyMatcher,W)}else{if(E){({tagName:l,tagExp:M}=qS(o.transformTagName,l,M,o));let x=new ur(l);B&&(x[":@"]=B),this.addChild(r,x,this.readonlyMatcher,W),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(o.unpairedTagsSet.has(l)){let x=new ur(l);B&&(x[":@"]=B),this.addChild(r,x,this.readonlyMatcher,W),this.matcher.pop(),this.isCurrentNodeStopNode=!1,c=A.closeIndex;continue}else{let x=new ur(l);if(this.tagsNodeStack.length>o.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(r),B&&(x[":@"]=B),this.addChild(r,x,this.readonlyMatcher,W),r=x}n="",c=O}}}else n+=t[c];return e.child},"parseXml");function QYe(t,e,r,n){this.options.captureMetaData||(n=void 0);let o=this.options.jPath?r.toString():r,s=this.options.updateTag(e.tagname,o,e[":@"]);s===!1||(typeof s=="string"&&(e.tagname=s),t.addChild(e,n))}i(QYe,"addChild");function _Ye(t,e,r){let n=this.options.processEntities;if(!n||!n.enabled)return t;if(n.allowedTags){let o=this.options.jPath?r.toString():r;if(!(Array.isArray(n.allowedTags)?n.allowedTags.includes(e):n.allowedTags(e,o)))return t}if(n.tagFilter){let o=this.options.jPath?r.toString():r;if(!n.tagFilter(e,o))return t}return this.entityDecoder.decode(t)}i(_Ye,"replaceEntitiesValue");function PYe(t,e,r,n){return t&&(n===void 0&&(n=e.child.length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}i(PYe,"saveTextToParentTag");function kYe(){return this.stopNodeExpressionsLine truncated
`;function jYe(t,e){if(!Array.isArray(t)||t.length===0)return"1.0";let r=t[0];if(FS(r)==="?xml"){let o=r[":@"];if(o){let s=e.attributeNamePrefix+"version";if(o[s])return o[s]}}return"1.0"}i(jYe,"detectXmlVersionFromArray");function zne(t,e,r,n,o){return!r.sanitizeName||Uu(t,{xmlVersion:o})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}i(zne,"resolveTagName");function SS(t,e){let r="";e.format&&(r=$Ye);let n=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let a=0;a<e.stopNodes.length;a++){let c=e.stopNodes[a];typeof c=="string"?n.push(new jr(c)):c instanceof jr&&n.push(c)}let o=jYe(t,e),s=new bs;return gne(t,e,r,s,n,o)}i(SS,"toXml");function gne(t,e,r,n,o,s){let a="",c=!1;if(e.maxNestedTags&&n.getDepth()>e.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(t)){if(t!=null){let u=t.toString();return u=wS(u,e),u}return""}for(let u=0;u<t.length;u++){let p=t[u],A=FS(p);if(A===void 0)continue;let b=A===e.textNodeName||A===e.cdataPropName||A===e.commentPropName||A[0]==="?"?A:zne(A,!1,e,n,s),M=KYe(p[":@"],e);n.push(b,M);let z=eJe(n,o);if(b===e.textNodeName){let q=p[A];z||(q=e.tagValueProcessor(b,q),q=wS(q,e)),c&&(a+=r),a+=q,c=!1,n.pop();continue}else if(b===e.cdataPropName){c&&(a+=r);let q=p[A][0][e.textNodeName],I=sE(q);a+=`<![CDATA[${I}]]>`,c=!1,n.pop();continue}else if(b===e.commentPropName){let q=p[A][0][e.textNodeName],I=oE(q);a+=r+`<!--${I}-->`,c=!0,n.pop();continue}else if(b[0]==="?"){let q=mne(p[":@"],e,z,n,s);a+=(b==="?xml"?"":r)+`<${b}${q}?>`,c=!0,n.pop();continue}let O=r;O!==""&&(O+=e.indentBy);let y=mne(p[":@"],e,z,n,s),E=r+`<${b}${y}`,B;z?B=One(p[A],e):B=gne(p[A],e,O,n,o,s),e.unpairedTags.indexOf(b)!==-1?e.suppressUnpairedNode?a+=E+">":a+=E+"/>":(!B||B.length===0)&&e.suppressEmptyNode?a+=E+"/>":B&&B.endsWith(">")?a+=E+`>${B}${r}</${b}>`:(a+=E+">",B&&r!==""&&(B.includes("/>")||B.includes("</"))?a+=r+e.indentBy+B+r:a+=B,a+=`</${b}>`),c=!0,n.pop()}return a}i(gne,"arrToStr");function KYe(t,e){if(!t||e.ignoreAttributes)return null;let r={},n=!1;for(let o in t){if(!Object.prototype.hasOwnProperty.call(t,o))continue;let s=o.startsWith(e.attributeNamePrefix)?o.substr(e.attributeNamePrefix.length):o;r[s]=pc(t[o]),n=!0}return n?r:null}i(KYe,"extractAttributeValues");function One(t,e){if(!Array.isArray(t))return t!=null?t.toString():"";let r="";for(let n=0;n<t.length;n++){let o=t[n],s=FS(o);if(s===e.textNodeName)r+=o[s];else if(s===e.cdataPropName)r+=o[s][0][e.textNodeName];else if(s===e.commentPropName)r+=o[s][0][e.textNodeName];else{if(s&&s[0]==="?")continue;if(s){let a=ZYe(o[":@"],e),c=One(o[s],e);!c||c.length===0?r+=`<${s}${a}/>`:r+=`<${s}${a}>${c}</${s}>`}}}return r}i(One,"getRawContent");function ZYe(t,e){let r="";if(t&&!e.ignoreAttributes)for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let o=t[n];o===!0&&e.suppressBooleanAttributes?r+=` ${n.substr(e.attributeNamePrefix.length)}`:r+=` ${n.substr(e.attributeNamePrefix.length)}="${pc(o)}"`}return r}i(ZYe,"attr_to_str_raw");function FS(t){let e=Object.keys(t);for(let r=0;r<e.length;r++){let n=e[r];if(Object.prototype.hasOwnProperty.call(t,n)&&n!==":@")return n}}i(FS,"propName");function mne(t,e,r,n,o){let s="";if(t&&!e.ignoreAttributes)for(let a in t){if(!Object.prototype.hasOwnProperty.call(t,a))continue;let c=a.substr(e.attributeNamePrefix.length),u=r?c:zne(c,!0,e,n,o),p;r?p=t[a]:(p=e.attributeValueProcessor(a,t[a]),p=wS(p,e)),p===!0&&e.suppressBooleanAttributes?s+=` ${u}`:s+=` ${u}="${pc(p)}"`}return s}i(mne,"attr_to_str");function eJe(t,e){if(!e||e.length===0)return!1;for(let r=0;r<e.length;r++)if(t.matches(e[r]))return!0;return!1}i(eJe,"checkStopNode");function wS(t,e){if(t&&t.length>0&&e.processEntities)for(let r=0;r<e.entities.length;r++){let n=e.entities[r];t=t.replace(n.regex,n.val)}return t}i(wS,"replaceEntitiesValue");function WS(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(let r of t)if(typeof r=="string"&&e===r||r instanceof RegExp&&r.test(e))return!0}:()=>!1}i(WS,"getIgnoreAttributesFn");var tJe={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:i(function(t,e){return e},"tagValueProcessor"),attributeValueProcessor:i(function(t,e){return e},"attributeValueProcessor"),preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0,sanitizeName:!1};function Ar(t){if(this.options=Object.assign({},tJe,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(e=>typeof e=="string"&&e.startsWith("*.")?".."+e.substring(2):e)),this.stopNodeExpressions=[],this.options.stopNodes&&ArraLine truncated
`,this.newLine=`
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}i(Ar,"Builder");function rJe(t,e){let r=t["?xml"];if(r&&typeof r=="object"){if(e.attributesGroupName&&r[e.attributesGroupName]){let o=r[e.attributesGroupName][e.attributeNamePrefix+"version"];if(o)return o}let n=r[e.attributeNamePrefix+"version"];if(n)return n}return"1.0"}i(rJe,"detectXmlVersionFromObj");function xS(t,e,r,n,o){return!r.sanitizeName||Uu(t,{xmlVersion:o})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}i(xS,"resolveTagName");Ar.prototype.build=function(t){if(this.options.preserveOrder)return SS(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});let e=new bs,r=rJe(t,this.options);return this.j2x(t,0,e,r).val}};Ar.prototype.j2x=function(t,e,r,n){let o="",s="";if(this.options.maxNestedTags&&r.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");let a=this.options.jPath?r.toString():r,c=this.checkStopNode(r);for(let u in t){if(!Object.prototype.hasOwnProperty.call(t,u))continue;let A=u===this.options.textNodeName||u===this.options.cdataPropName||u===this.options.commentPropName||this.options.attributesGroupName&&u===this.options.attributesGroupName||this.isAttribute(u)||u[0]==="?"?u:xS(u,!1,this.options,r,n);if(typeof t[u]>"u")this.isAttribute(u)&&(s+="");else if(t[u]===null)this.isAttribute(u)||A===this.options.cdataPropName||A===this.options.commentPropName?s+="":A[0]==="?"?s+=this.indentate(e)+"<"+A+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+A+"/"+this.tagEndChar;else if(t[u]instanceof Date)s+=this.buildTextValNode(t[u],A,"",e,r);else if(typeof t[u]!="object"){let l=this.isAttribute(u);if(l&&!this.ignoreAttributesFn(l,a)){let b=xS(l,!0,this.options,r,n);o+=this.buildAttrPairStr(b,""+t[u],c)}else if(!l)if(u===this.options.textNodeName){let b=this.options.tagValueProcessor(u,""+t[u]);s+=this.replaceEntitiesValue(b)}else{r.push(A);let b=this.checkStopNode(r);if(r.pop(),b){let M=""+t[u];M===""?s+=this.indentate(e)+"<"+A+this.closeTag(A)+this.tagEndChar:s+=this.indentate(e)+"<"+A+">"+M+"</"+A+this.tagEndChar}else s+=this.buildTextValNode(t[u],A,"",e,r)}}else if(Array.isArray(t[u])){let l=t[u].length,b="",M="";for(let z=0;z<l;z++){let O=t[u][z];if(!(typeof O>"u"))if(O===null)A[0]==="?"?s+=this.indentate(e)+"<"+A+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+A+"/"+this.tagEndChar;else if(typeof O=="object")if(this.options.oneListGroup){r.push(A);let y=this.j2x(O,e+1,r,n);r.pop(),b+=y.val,this.options.attributesGroupName&&O.hasOwnProperty(this.options.attributesGroupName)&&(M+=y.attrStr)}else b+=this.processTextOrObjNode(O,A,e,r,n);else if(this.options.oneListGroup){let y=this.options.tagValueProcessor(A,O);y=this.replaceEntitiesValue(y),b+=y}else{r.push(A);let y=this.checkStopNode(r);if(r.pop(),y){let E=""+O;E===""?b+=this.indentate(e)+"<"+A+this.closeTag(A)+this.tagEndChar:b+=this.indentate(e)+"<"+A+">"+E+"</"+A+this.tagEndChar}else b+=this.buildTextValNode(O,A,"",e,r)}}this.options.oneListGroup&&(b=this.buildObjectNode(b,A,M,e)),s+=b}else if(this.options.attributesGroupName&&u===this.options.attributesGroupName){let l=Object.keys(t[u]),b=l.length;for(let M=0;M<b;M++){let z=xS(l[M],!0,this.options,r,n);o+=this.buildAttrPairStr(z,""+t[u][l[M]],c)}}else s+=this.processTextOrObjNode(t[u],A,e,r,n)}return{attrStr:o,val:s}};Ar.prototype.buildAttrPairStr=function(t,e,r){return r||(e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+pc(e)+'"'};function nJe(t,e,r,n,o){let s=this.extractAttributes(t);if(n.push(e,s),this.checkStopNode(n)){let u=this.buildRawContent(t),p=this.buildAttributesForStopNode(t);return n.pop(),this.buildObjectNode(u,e,p,r)}let c=this.j2x(t,r+1,n,o);return n.pop(),e[0]==="?"?this.buildTextValNode("",e,c.attrStr,r,n):t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,c.attrStr,r,n):this.buildObjectNode(c.val,e,c.attrStr,r)}i(nJe,"processTextOrObjNode");Ar.prototype.extractAttributes=function(t){if(!t||typeof t!="object")return null;let e={},r=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){let n=t[this.options.attributesGroupName];for(let o in n){if(!Object.prototype.hasOwnProperty.call(n,o))continue;let s=o.startsWith(this.options.attributeNamePrefix)?o.substring(this.options.attributeNamePrefix.length):o;e[s]=pc(n[o]),r=!0}}else for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let o=this.isAttribute(n);o&&(e[o]=pc(t[n]),r=!0)}return r?e:null};Ar.prototype.buildRawContent=function(t){if(typeof t=="string")return t;if(typeof t!="object"||t===null)return String(t);if(t[this.options.textNodeName]!==void 0)return t[this.options.textNodeName];let e="";for(let r in t){if(!Object.prototype.hasOwnProperty.call(t,r)||this.isAttribute(r)||this.options.attributesGroupName&&r===this.o Line truncated
`)+`
`+this.getCanonicalizedHeadersString(e)+this.getCanonicalizedResourceString(e),n=this.factory.computeHMACSHA256(r);return e.headers.set(ye.AUTHORIZATION,`SharedKey ${this.factory.accountName}:${n}`),e}getHeaderValueToSign(e,r){let n=e.headers.get(r);return!n||r===ye.CONTENT_LENGTH&&n==="0"?"":n}getCanonicalizedHeadersString(e){let r=e.headers.headersArray().filter(o=>o.name.toLowerCase().startsWith(ye.PREFIX_FOR_STORAGE));r.sort((o,s)=>ME(o.name.toLowerCase(),s.name.toLowerCase())),r=r.filter((o,s,a)=>!(s>0&&o.name.toLowerCase()===a[s-1].name.toLowerCase()));let n="";return r.forEach(o=>{n+=`${o.name.toLowerCase().trimRight()}:${o.value.trimLeft()}
`}),n}getCanonicalizedResourceString(e){let r=dE(e.url)||"/",n="";n+=`/${this.factory.accountName}${r}`;let o=bE(e.url),s={};if(o){let a=[];for(let c in o)if(Object.prototype.hasOwnProperty.call(o,c)){let u=c.toLowerCase();s[u]=o[c],a.push(u)}a.sort();for(let c of a)n+=`
${c}:${decodeURIComponent(s[c])}`}return n}};var o1=class extends Xu{static{i(this,"StorageSharedKeyCredential")}accountName;accountKey;constructor(e,r){super(),this.accountName=e,this.accountKey=Buffer.from(r,"base64")}create(e,r){return new nM(e,r,this)}computeHMACSHA256(e){return(0,Rne.createHmac)("sha256",this.accountKey).update(e,"utf8").digest("base64")}};var Q1=ps("storage-common");var Rn;(function(t){t[t.EXPONENTIAL=0]="EXPONENTIAL",t[t.FIXED=1]="FIXED"})(Rn||(Rn={}));var lc={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:Rn.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},lJe=new Yr("The operation was aborted."),oM=class extends fs{static{i(this,"StorageRetryPolicy")}retryOptions;constructor(e,r,n=lc){super(e,r),this.retryOptions={retryPolicyType:n.retryPolicyType?n.retryPolicyType:lc.retryPolicyType,maxTries:n.maxTries&&n.maxTries>=1?Math.floor(n.maxTries):lc.maxTries,tryTimeoutInMs:n.tryTimeoutInMs&&n.tryTimeoutInMs>=0?n.tryTimeoutInMs:lc.tryTimeoutInMs,retryDelayInMs:n.retryDelayInMs&&n.retryDelayInMs>=0?Math.min(n.retryDelayInMs,n.maxRetryDelayInMs?n.maxRetryDelayInMs:lc.maxRetryDelayInMs):lc.retryDelayInMs,maxRetryDelayInMs:n.maxRetryDelayInMs&&n.maxRetryDelayInMs>=0?n.maxRetryDelayInMs:lc.maxRetryDelayInMs,secondaryHost:n.secondaryHost?n.secondaryHost:lc.secondaryHost}}async sendRequest(e){return this.attemptSendRequest(e,!1,1)}async attemptSendRequest(e,r,n){let o=e.clone(),s=r||!this.retryOptions.secondaryHost||!(e.method==="GET"||e.method==="HEAD"||e.method==="OPTIONS")||n%2===1;s||(o.url=lE(o.url,this.retryOptions.secondaryHost)),this.retryOptions.tryTimeoutInMs&&(o.url=Ac(o.url,Xi.Parameters.TIMEOUT,Math.floor(this.retryOptions.tryTimeoutInMs/1e3).toString()));let a;try{if(Q1.info(`RetryPolicy: =====> Try=${n} ${s?"Primary":"Secondary"}`),a=await this._nextPolicy.sendRequest(o),!this.shouldRetry(s,n,a))return a;r=r||!s&&a.status===404}catch(c){if(Q1.error(`RetryPolicy: Caught error, message: ${c.message}, code: ${c.code}`),!this.shouldRetry(s,n,a,c))throw c}return await this.delay(s,n,e.abortSignal),this.attemptSendRequest(e,r,++n)}shouldRetry(e,r,n,o){if(r>=this.retryOptions.maxTries)return Q1.info(`RetryPolicy: Attempt(s) ${r} >= maxTries ${this.retryOptions.maxTries}, no further try.`),!1;let s=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"];if(o){for(let a of s)if(o.name.toUpperCase().includes(a)||o.message.toUpperCase().includes(a)||o.code&&o.code.toString().toUpperCase()===a)return Q1.info(`RetryPolicy: Network error ${a} found, will retry.`),!0}if(n||o){let a=n?n.status:o?o.statusCode:0;if(!e&&a===404)return Q1.info("RetryPolicy: Secondary access with 404, will retry."),!0;if(a===503||a===500)return Q1.info(`RetryPolicy: Will retry for status code ${a}.`),!0}if(n&&n?.status>=400){let a=n.headers.get(ye.X_MS_CopySourceErrorCode);if(a!==void 0)switch(a){case"InternalError":case"OperationTimedOut":case"ServerBusy":return!0}}return o?.code==="PARSE_ERROR"&&o?.message.startsWith('Error "Error: Unclosed root tag')?(Q1.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry."),!0):!1}async delay(e,r,n){let o=0;if(e)switch(this.retryOptions.retryPolicyType){case Rn.EXPONENTIAL:o=Math.min((Math.pow(2,r-1)-1)*this.retryOptions.retryDelayInMs,this.retryOptions.maxRetryDelayInMs);break;case Rn.FIXED:o=this.retryOptions.retryDelayInMs;break}else o=Math.random()*1e3;return Q1.info(`RetryPolicy: Delay for ${o}ms`),fE(o,n,lJe)}};var sM=class{static{i(this,"StorageRetryPolicyFactory")}retryOptions;constructor(e){this.retryOptions=e}create(e,r){return new oM(e,r,this.retryOptions)}};var dJe="storageBrowserPolicy";function Nne(){return{name:dJe,async sendRequest(t,e){return l0||((t.method==="GET"||t.method==="HEAD")&&(t.url=Ac(t.url,Xi.Parameters.FORCE_BROWSER_NO_CACHE,new Date().getTime().toString())),t.headers.delete(ye.COOKIE),t.headers.delete(ye.CONTENT_LENGTH)),e(t)}}}i(Nne,"storageBrowserPolicy");var bJe="StorageCorrectContentLengthPolicy";function wne(){function t(e){e.body&&(typeof e.body=="string"||Buffer.isBuffer(e.body))&&e.body.length>0&&e.headers.set(ye.CONTENT_LENGTH,Buffer.byteLength(e.body))}return i(t,"correctContentLength"),{name:bJe,async sendRequest(e,r){return t(e),r(e)}}}i(wne,"storageCorrectContentLengthPolicy");var fJe="storageRetryPolicy",_l={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:Rn.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},MJe=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"],hJe=new Yr("The operation was aborted.");function Sne(t={}){let e=t.retryPolicyType??_l.retryPolicyType,r=t.maxTries??_l.maxTries,n=t.retryDelayInMs??_l.retryDelayInMs,o=t.maxRetryDelayInMs??_l.maxRetryDelayInMs,s=t.secondaryHost??_l.secondaryHost,a=t.tryTimeoutInMs??_l.tryTimeoutInMs;function c({isPrimaryRetry:p,attempt:A,response:l,error:b}){if(A>=r)return Line truncated
`)+`
`+n(s)+o(s),c=(0,Fne.createHmac)("sha256",t.accountKey).update(a,"utf8").digest("base64");s.headers.set(ye.AUTHORIZATION,`SharedKey ${t.accountName}:${c}`)}i(e,"signRequest");function r(s,a){let c=s.headers.get(a);return!c||a===ye.CONTENT_LENGTH&&c==="0"?"":c}i(r,"getHeaderValueToSign");function n(s){let a=[];for(let[u,p]of s.headers)u.toLowerCase().startsWith(ye.PREFIX_FOR_STORAGE)&&a.push({name:u,value:p});a.sort((u,p)=>ME(u.name.toLowerCase(),p.name.toLowerCase())),a=a.filter((u,p,A)=>!(p>0&&u.name.toLowerCase()===A[p-1].name.toLowerCase()));let c="";return a.forEach(u=>{c+=`${u.name.toLowerCase().trimRight()}:${u.value.trimLeft()}
`}),c}i(n,"getCanonicalizedHeadersString");function o(s){let a=dE(s.url)||"/",c="";c+=`/${t.accountName}${a}`;let u=bE(s.url),p={};if(u){let A=[];for(let l in u)if(Object.prototype.hasOwnProperty.call(u,l)){let b=l.toLowerCase();p[b]=u[l],A.push(b)}A.sort();for(let l of A)c+=`
${l}:${decodeURIComponent(p[l])}`}return c}return i(o,"getCanonicalizedResourceString"),{name:mJe,async sendRequest(s,a){return e(s),a(s)}}}i(_S,"storageSharedKeyCredentialPolicy");var zJe="storageRequestFailureDetailsParserPolicy";function Wne(){return{name:zJe,async sendRequest(t,e){try{return await e(t)}catch(r){throw typeof r=="object"&&r!==null&&r.response&&r.response.parsedBody&&r.response.parsedBody.code==="InvalidHeaderValue"&&r.response.parsedBody.HeaderName==="x-ms-version"&&(r.message=`The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.
`),r}}}}i(Wne,"storageRequestFailureDetailsParserPolicy");var xne=require("node:crypto");var hE=class{static{i(this,"UserDelegationKeyCredential")}accountName;userDelegationKey;key;constructor(e,r){this.accountName=e,this.userDelegationKey=r,this.key=Buffer.from(r.value,"base64")}computeHMACSHA256(e){return(0,xne.createHmac)("sha256",this.key).update(e,"utf8").digest("base64")}};var mE="12.31.0",zE="2026-02-06";var gE="https://storage.azure.com/.default",Vi={Parameters:{FORCE_BROWSER_NO_CACHE:"_",SIGNATURE:"sig",SNAPSHOT:"snapshot",VERSIONID:"versionid",TIMEOUT:"timeout"}};var go="",PS="*",gJe=1*1024*1024;var OJe=4*gJe;var Tne="AES256",vne="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;",Lne=["Access-Control-Allow-Origin","Cache-Control","Content-Length","Content-Type","Date","Request-Id","traceparent","Transfer-Encoding","User-Agent","x-ms-client-request-id","x-ms-date","x-ms-error-code","x-ms-request-id","x-ms-return-client-request-id","x-ms-version","Accept-Ranges","Content-Disposition","Content-Encoding","Content-Language","Content-MD5","Content-Range","ETag","Last-Modified","Server","Vary","x-ms-content-crc64","x-ms-copy-action","x-ms-copy-completion-time","x-ms-copy-id","x-ms-copy-progress","x-ms-copy-status","x-ms-has-immutability-policy","x-ms-has-legal-hold","x-ms-lease-state","x-ms-lease-status","x-ms-range","x-ms-request-server-encrypted","x-ms-server-encrypted","x-ms-snapshot","x-ms-source-range","If-Match","If-Modified-Since","If-None-Match","If-Unmodified-Since","x-ms-access-tier","x-ms-access-tier-change-time","x-ms-access-tier-inferred","x-ms-account-kind","x-ms-archive-status","x-ms-blob-append-offset","x-ms-blob-cache-control","x-ms-blob-committed-block-count","x-ms-blob-condition-appendpos","x-ms-blob-condition-maxsize","x-ms-blob-content-disposition","x-ms-blob-content-encoding","x-ms-blob-content-language","x-ms-blob-content-length","x-ms-blob-content-md5","x-ms-blob-content-type","x-ms-blob-public-access","x-ms-blob-sequence-number","x-ms-blob-type","x-ms-copy-destination-snapshot","x-ms-creation-time","x-ms-default-encryption-scope","x-ms-delete-snapshots","x-ms-delete-type-permanent","x-ms-deny-encryption-scope-override","x-ms-encryption-algorithm","x-ms-if-sequence-number-eq","x-ms-if-sequence-number-le","x-ms-if-sequence-number-lt","x-ms-incremental-copy","x-ms-lease-action","x-ms-lease-break-period","x-ms-lease-duration","x-ms-lease-id","x-ms-lease-time","x-ms-page-write","x-ms-proposed-lease-id","x-ms-range-get-content-md5","x-ms-rehydrate-priority","x-ms-sequence-number-action","x-ms-sku-name","x-ms-source-content-md5","x-ms-source-if-match","x-ms-source-if-modified-since","x-ms-source-if-none-match","x-ms-source-if-unmodified-since","x-ms-tag-count","x-ms-encryption-key-sha256","x-ms-copy-source-error-code","x-ms-copy-source-status-code","x-ms-if-tags","x-ms-source-if-tags"],Qne=["comp","maxresults","rscc","rscd","rsce","rscl","rsct","se","si","sip","sp","spr","sr","srt","ss","st","sv","include","marker","prefix","copyid","restype","blockid","blocklisttype","delimiter","prevsnapshot","ske","skoid","sks","skt","sktid","skv","snapshot"],_ne="BlobUsesCustomerSpecifiedEncryption",Pne="BlobDoesNotUseCustomerSpecifiedEncryption",kne=["10000","10001","10002","10003","10004","10100","10101","10102","10103","10104","11000","11001","11002","11003","11004","11100","11101","11102","11103","11104"];function Yi(t){if(!t||typeof t!="object")return!1;let e=t;return Array.isArray(e.factories)&&typeof e.options=="object"&&typeof e.toServiceClientOptions=="function"}i(Yi,"isPipelineLike");var iM=class{static{i(this,"Pipeline")}factories;options;constructor(e,r={}){this.factories=e,this.options=r}toServiceClientOptions(){return{httpClient:this.options.httpClient,requestPolicyFactories:this.factories}}};function O1(t,e={}){t||(t=new H0);let r=new iM([],e);return r._credential=t,r}i(O1,"newPipeline");function EJe(t){let e=[CJe,Une,yJe,BJe,qJe,DJe,RJe];if(t.factories.length){let r=t.factories.filter(n=>!e.some(o=>o(n)));if(r.length){let n=r.some(o=>IJe(o));return{wrappedPolicies:MS(r),afterRetry:n}}}}i(EJe,"processDownlevelPipeline");function kS(t){let{httpClient:e,...r}=t.options,n=t._coreHttpClient;n||(n=e?hS(e):QS(),t._coreHttpClient=n);let o=t._corePipeline;if(!o){let s=`azsdk-js-azure-storage-blob/${mE}`,a=r.userAgentOptions&&r.userAgentOptions.userAgentPrefix?`${r.userAgentOptions.userAgentPrefix} ${s}`:`${s}`;o=kf({...r,loggingOptions:{additionalAllowedHeaderNames:Lne,additionalAllowedQueryParameters:Qne,logger:aE.info},userAgentOptions:{userAgentPrefix:a},serializationOptions:{stringifyXML:iE,serializerOptions:{xml:{xmlCharKey:"#"}}},deserializationOptions:{parseXML:vS,serializerOptions:{xml:{xmlCharKey:"#"}}}}),o.removePolicy({phase:"Retry"}),o.removePolicy({name:X6}),o.addPolicy(wne()),o.addPolicy(Sne(r.retryOptions),{phase:"R Line truncated
`),s=e.computeHMACSHA256(o);return{sasQueryParameters:new Bo(t.version,s,n,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:o}}i(Eje,"generateBlobSASQueryParameters20150405");function Cje(t,e){if(t=tp(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Ss.parse(t.permissions.toString()).toString():o=Fs.parse(t.permissions.toString()).toString());let s=[o||"",t.startsOn?d0(t.startsOn,!1):"",t.expiresOn?d0(t.expiresOn,!1):"",ep(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?yo(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new Bo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:s}}i(Cje,"generateBlobSASQueryParameters20181109");function yje(t,e){if(t=tp(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Ss.parse(t.permissions.toString()).toString():o=Fs.parse(t.permissions.toString()).toString());let s=[o||"",t.startsOn?d0(t.startsOn,!1):"",t.expiresOn?d0(t.expiresOn,!1):"",ep(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?yo(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new Bo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,void 0,void 0,void 0,t.encryptionScope),stringToSign:s}}i(yje,"generateBlobSASQueryParameters20201206");function Bje(t,e){if(t=tp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Ss.parse(t.permissions.toString()).toString():o=Fs.parse(t.permissions.toString()).toString());let s=[o||"",t.startsOn?d0(t.startsOn,!1):"",t.expiresOn?d0(t.expiresOn,!1):"",ep(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?d0(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?d0(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.ipRange?yo(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new Bo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey),stringToSign:s}}i(Bje,"generateBlobSASQueryParametersUDK20181109");function qje(t,e){if(t=tp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Ss.parse(t.permissions.toString()).toString():o=Fs.parse(t.permissions.toString()).toString());let s=[o||"",t.startsOn?d0(t.startsOn,!1):"",t.expiresOn?d0(t.expiresOn,!1):"",ep(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?d0(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?d0(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?yo(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new Bo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId),stringToSign:s}}i(qje,"generateBlobSASQueryParametersUDK20200210");function Dje(t,e){if(t=tp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Ss.parse(t.permissions.toString()).toString():o=Fs.parse(t.permissions.toString()).toString());let s=[o||"",t.startsOn?d0(t.startsOn,!1):"",t.expiresOn?d0(t.expiresOn,!1):"",ep(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?d0(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?d0(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?yo(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new Bo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope),stringToSign:s}}i(Dje,"generateBlobSASQueryParametersUDK20201206");function Ije(t,e){if(t=tp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Ss.parse(t.permissions.toString()).toString():o=Fs.parse(t.permissions.toString()).toString());let s=[o||"",t.startsOn?d0(t.startsOn,!1):"",t.expiresOn?d0(t.expiresOn,!1):"",ep(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?d0(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?d0(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,void 0,t.delegatedUserObjectId,t.ipRange?yo(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new Bo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope,t.delegatedUserObjectId),stringToSign:s}}i(Ije,"generateBlobSASQueryParametersUDK20250705");function ep(t,e,r){let n=[`/blob/${t}/${e}`];return r&&n.push(`/${r}`),n.join("")}i(ep,"getCanonicalName");function tp(t){let e=t.version?t.version:zE;if(t.snapshotTime&&e<"2018-11-09")throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");if(t.blobName===void 0&&t.snapshotTime)throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");if(t.versionId&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");if(t.blobName===void 0&&t.versionId)throw RangeError("Must provide 'blobName' when providing 'versionId'.");if(t.permissions&&t.permissions.setImmutabilityPolicy&&e<"2020-08-04")throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");if(t.permissions&&t.permissions.deleteVersion&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");if(t.permissions&&t.permissions.permanentDelete&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");if(t.permissions&&t.permissions.tag&&e<"2019-12-12")throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");if(e<"2020-02-10"&&t.permissions&&(t.permissions.move||t.permissions.execute))throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");if(e<"2021-04-10"&&t.permissions&&t.permissions.filterByTags)throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");if(e<"2020-02-10"&&(t.preauthorizedAgentObjectId||t.correlationId))throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");if(t.encryptionScope&&e<"2020-12-06")throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");return t.version=e,t}i(tp,"SASSignatureValuesSanityCheckAndAutofill");var mM=class{static{i(this,"BlobLeaseClient")}_leaseId;_url;_containerOrBlobOperation;_isContainer;get leaseId(){return this._leaseId}get url(){return this._url}constructor(e,r){let n=e.storageClientContext;this._url=e.url,e.name===void 0?(this._isContainer=!0,this._containerOrBlobOperation=n.container):(this._isContainer=!1,this._containerOrBlobOperation=n.blob),r||(r=Sl()),this._leaseId=r}async acquireLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==go||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==go||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return ue.withSpan("BlobLeaseClient-acquireLease",r,async n=>de(await this._containerOrBlobOperation.acquireLease({abortSignal:r.abortSignal,duration:e,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},proposedLeaseId:this._leaseId,tracingOptions:n.tracingOptions})))}async changeLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==go||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==go||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return ue.withSpan("BlobLeaseClient-changeLease",r,async n=>{let o=de(await this._containerOrBlobOperation.changeLease(this._leaseId,e,{abortSignal:r.abortSignal,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},tracingOptions:n.tracingOptions}));return this._leaseId=e,o})}async releaseLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==go||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==go||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return ue.withSpan("BlobLeaseClient-releaseLease",e,async r=>de(await this._containerOrBlobOperation.releaseLease(this._leaseId,{abortSignal:e.abortSignal,modifiedAccessConditions:{...e.conditions,ifTags:e.conditions?.tagConditions},tracingOptions:r.tracingOptions})))}async renewLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==go||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==go||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default val Line truncated
If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;super(r),this.code=e,this.name="NetworkError"}};Kl.isNetworkErrorCode=t=>t?["ECONNRESET","ENOTFOUND","ETIMEDOUT","ECONNREFUSED","EHOSTUNREACH"].includes(t):!1;var sp=class extends Error{static{i(this,"UsageError")}constructor(){super(`Cache storage quota has been hit. Unable to upload any new cache entries.
More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`),this.name="UsageError"}};sp.isUsageErrorMessage=t=>t?t.includes("insufficient usage"):!1;var IM=class extends Error{static{i(this,"RateLimitError")}constructor(e){super(e),this.name="RateLimitError"}};var LKe=function(t,e,r,n){function o(s){return s instanceof r?s:new r(function(a){a(s)})}return i(o,"adopt"),new(r||(r=Promise))(function(s,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}i(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}i(u,"rejected");function p(A){A.done?s(A.value):o(A.value).then(c,u)}i(p,"step"),p((n=n.apply(t,e||[])).next())})},ST=class{static{i(this,"UploadProgress")}constructor(e){this.contentLength=e,this.sentBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}setSentBytes(e){this.sentBytes=e}getTransferredBytes(){return this.sentBytes}isDone(){return this.getTransferredBytes()===this.contentLength}display(){if(this.displayedComplete)return;let e=this.sentBytes,r=(100*(e/this.contentLength)).toFixed(1),n=Date.now()-this.startTime,o=(e/(1024*1024)/(n/1e3)).toFixed(1);S(`Sent ${e} of ${this.contentLength} (${r}%), ${o} MBs/sec`),this.isDone()&&(this.displayedComplete=!0)}onProgress(){return e=>{this.setSentBytes(e.loadedBytes)}}startDisplayTimer(e=1e3){let r=i(()=>{this.display(),this.isDone()||(this.timeoutHandle=setTimeout(r,e))},"displayCallback");this.timeoutHandle=setTimeout(r,e)}stopDisplayTimer(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.display()}};function Xse(t,e,r){return LKe(this,void 0,void 0,function*(){var n;let o=new ta(t),s=o.getBlockBlobClient(),a=new ST((n=r?.archiveSizeBytes)!==null&&n!==void 0?n:0),c={blockSize:r?.uploadChunkSize,concurrency:r?.uploadConcurrency,maxSingleShotSize:128*1024*1024,onProgress:a.onProgress()};try{a.startDisplayTimer(),N(`BlobClient: ${o.name}:${o.accountName}:${o.containerName}`);let u=yield s.uploadFile(e,c);if(u._response.status>=400)throw new yC(`uploadCacheArchiveSDK: upload failed with status code ${u._response.status}`);return u}catch(u){throw r0(`uploadCacheArchiveSDK: internal error uploading cache archive: ${u.message}`),u}finally{a.stopDisplayTimer()}})}i(Xse,"uploadCacheArchiveSDK");var Yse=w(require("buffer"),1),Ws=w(require("fs"),1),Jse=w(require("stream"),1),$se=w(require("util"),1);var BC=function(t,e,r,n){function o(s){return s instanceof r?s:new r(function(a){a(s)})}return i(o,"adopt"),new(r||(r=Promise))(function(s,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}i(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}i(u,"rejected");function p(A){A.done?s(A.value):o(A.value).then(c,u)}i(p,"step"),p((n=n.apply(t,e||[])).next())})};function qC(t){return t?t>=200&&t<300:!1}i(qC,"isSuccessStatusCode");function QKe(t){return t?t>=500:!0}i(QKe,"isServerErrorStatusCode");function _Ke(t){return t?[n1.BadGateway,n1.ServiceUnavailable,n1.GatewayTimeout].includes(t):!1}i(_Ke,"isRetryableStatusCode");function PKe(t){return BC(this,void 0,void 0,function*(){return new Promise(e=>setTimeout(e,t))})}i(PKe,"sleep");function Vse(t,e,r){return BC(this,arguments,void 0,function*(n,o,s,a=JO,c=$O,u=void 0){let p="",A=1;for(;A<=a;){let l,b,M=!1;try{l=yield o()}catch(z){u&&(l=u(z)),M=!0,p=z.message}if(l&&(b=s(l),!QKe(b)))return l;if(b&&(M=_Ke(b),p=`Cache service responded with ${b}`),N(`${n} - Attempt ${A} of ${a} failed with error: ${p}`),!M){N(`${n} - Error is not retryable`);break}yield PKe(c),A++}throw Error(`${n} failed: ${p}`)})}i(Vse,"retry");function RM(t,e){return BC(this,arguments,void 0,function*(r,n,o=JO,s=$O){return yield Vse(r,n,a=>a.statusCode,o,s,a=>{if(a instanceof is)return{statusCode:a.statusCode,result:null,headers:{},error:a}})})}i(RM,"retryTypedResponse");function Zl(t,e){return BC(this,arguments,void 0,function*(r,n,o=JO,s=$O){return yield Vse(r,n,a=>a.message.statusCode,o,s)})}i(Zl,"retryHttpClientResponse");var Wn=function(t,e,r,n){function o(s){return s instanceof r?s:new r(function(a){a(s)})}return i(o,"adopt"),new(r||(r=Promise))(function(s,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}i(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}i(u,"rejected");function p(A){A.done?s(A.value):o(A.value).then(c,u)}i(p,"step"),p((n=n.apply(t,e||[])).next())})};function kKe(t,e){return Wn(this,void 0,void 0,function*(){yield $se.promisify(Jse.pipeline)(t.message,e)})}i(kKe,"pipeResponseToStream");var DC=class{static{i(this,"DownloadProgress")}constructor(e){this.contentLength=e,this.segmentIndex=0,this.segmentSize=0,this.segmentOffset=0,this.receivedBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}nextSegment(e){this.segmentOffset=this.segmentOffset+this.segmentSize,this.segmentIndex=this.segmentIndex+1,this.segmentSize=e,this.receivedBytes=0,N(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`)}setReceivedBytes(e){th Line truncated
Other caches with similar key:`);for(let c of s?.artifactCaches||[])N(`Cache Key: ${c?.cacheKey}, Cache Version: ${c?.cacheVersion}, Cache Scope: ${c?.scope}, Cache Created: ${c?.creationTime}`)}}})}i(JKe,"printCachesListForDiagnostics");function vT(t,e,r){return dr(this,void 0,void 0,function*(){let n=new uie.URL(t),o=eie(r);n.hostname.endsWith(".blob.core.windows.net")?o.useAzureSdk?yield Kse(t,e,o):o.concurrentBlobDownloads?yield jse(t,e,o):yield IC(t,e):yield IC(t,e)})}i(vT,"downloadCache");function Aie(t,e,r){return dr(this,void 0,void 0,function*(){let n=TT(),o=Cl(e,r?.compressionMethod,r?.enableCrossOsArchive),s={key:t,version:o,cacheSize:r?.cacheSize};return yield RM("reserveCache",()=>dr(this,void 0,void 0,function*(){return n.postJson(wM("caches"),s)}))})}i(Aie,"reserveCache");function cie(t,e){return`bytes ${t}-${e}/*`}i(cie,"getContentRange");function $Ke(t,e,r,n,o){return dr(this,void 0,void 0,function*(){N(`Uploading chunk of size ${o-n+1} bytes at offset ${n} with content range: ${cie(n,o)}`);let s={"Content-Type":"application/octet-stream","Content-Range":cie(n,o)},a=yield Zl(`uploadChunk (start: ${n}, end: ${o})`,()=>dr(this,void 0,void 0,function*(){return t.sendStream("PATCH",e,r(),s)}));if(!qC(a.message.statusCode))throw new Error(`Cache service responded with ${a.message.statusCode} during upload chunk.`)})}i($Ke,"uploadChunk");function jKe(t,e,r,n){return dr(this,void 0,void 0,function*(){let o=ss(r),s=wM(`caches/${e.toString()}`),a=e2.openSync(r,"r"),c=FT(n),u=s6("uploadConcurrency",c.uploadConcurrency),p=s6("uploadChunkSize",c.uploadChunkSize),A=[...new Array(u).keys()];N("Awaiting all uploads");let l=0;try{yield Promise.all(A.map(()=>dr(this,void 0,void 0,function*(){for(;l<o;){let b=Math.min(o-l,p),M=l,z=l+b-1;l+=p,yield $Ke(t,s,()=>e2.createReadStream(r,{fd:a,start:M,end:z,autoClose:!1}).on("error",O=>{throw new Error(`Cache upload failed because file read failed with ${O.message}`)}),M,z)}})))}finally{e2.closeSync(a)}})}i(jKe,"uploadFile");function KKe(t,e,r){return dr(this,void 0,void 0,function*(){let n={size:r};return yield RM("commitCache",()=>dr(this,void 0,void 0,function*(){return t.postJson(wM(`caches/${e.toString()}`),n)}))})}i(KKe,"commitCache");function LT(t,e,r,n){return dr(this,void 0,void 0,function*(){if(FT(n).useAzureSdk){if(!r)throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");yield Xse(r,e,n)}else{let s=TT();N("Upload cache"),yield jKe(s,t,e,n),N("Commiting cache");let a=ss(e);S(`Cache Size: ~${Math.round(a/(1024*1024))} MB (${a} B)`);let c=yield KKe(s,t,a);if(!qC(c.statusCode))throw new Error(`Cache service responded with ${c.statusCode} during commit cache.`);S("Cache saved successfully")}})}i(LT,"saveCache");var sae=w(Kie(),1),y1=w(C1(),1),en=w(C1(),1),pp=w(C1(),1),Ap=w(C1(),1),lp=w(C1(),1);var Sv=w(C1(),1),Fv=w(C1(),1),rae=w(C1(),1),nae=w(C1(),1),oae=w(C1(),1);var Rv=w(C1(),1),Nv=w(C1(),1),Zie=w(C1(),1),eae=w(C1(),1),tae=w(C1(),1);var wv=class extends tae.MessageType{static{i(this,"CacheScope$Type")}constructor(){super("github.actions.results.entities.v1.CacheScope",[{no:1,name:"scope",kind:"scalar",T:9},{no:2,name:"permission",kind:"scalar",T:3}])}create(e){let r={scope:"",permission:"0"};return globalThis.Object.defineProperty(r,eae.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,Zie.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,n,o){let s=o??this.create(),a=e.pos+r;for(;e.pos<a;){let[c,u]=e.tag();switch(c){case 1:s.scope=e.string();break;case 2:s.permission=e.int64().toString();break;default:let p=n.readUnknownField;if(p==="throw")throw new globalThis.Error(`Unknown field ${c} (wire type ${u}) for ${this.typeName}`);let A=e.skip(u);p!==!1&&(p===!0?Nv.UnknownFieldHandler.onRead:p)(this.typeName,s,c,u,A)}}return s}internalBinaryWrite(e,r,n){e.scope!==""&&r.tag(1,Rv.WireType.LengthDelimited).string(e.scope),e.permission!=="0"&&r.tag(2,Rv.WireType.Varint).int64(e.permission);let o=n.writeUnknownFields;return o!==!1&&(o==!0?Nv.UnknownFieldHandler.onWrite:o)(this.typeName,e,r),r}},fy=new wv;var Wv=class extends oae.MessageType{static{i(this,"CacheMetadata$Type")}constructor(){super("github.actions.results.entities.v1.CacheMetadata",[{no:1,name:"repository_id",kind:"scalar",T:3},{no:2,name:"scope",kind:"message",repeat:1,T:i(()=>fy,"T")}])}create(e){let r={repositoryId:"0",scope:[]};return globalThis.Object.defineProperty(r,nae.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,rae.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,n,o){let s=o??this.create(),a=e.pos+r;for(;e.pos<a;){let[c,u]=e.tag();switch(c){case 1:s.repositoryId=e.int64().toString();break;case 2:s.scope.push(fy.internalBinaryRead(e,e.uint32(),n));break;default:let p=n.readUnknownField;if(p==="throw")throw new globalThis.Error(`Unknown field ${c} (wire type ${u}) for ${this.typeName}`);let A=e.skip(u);p!==!1&&(p===!0?Fv.UnknownFieldHandler.onRead:p)(this.typeName,s,c,u,A)}}return s}internalBinaryWrite(e,r,n){e.repositoryId!== Line truncated
`));let n=yield Jv(r,"create");yield $v(n,t)})}i(Kv,"createTar");var M2=function(t,e,r,n){function o(s){return s instanceof r?s:new r(function(a){a(s)})}return i(o,"adopt"),new(r||(r=Promise))(function(s,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}i(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}i(u,"rejected");function p(A){A.done?s(A.value):o(A.value).then(c,u)}i(p,"step"),p((n=n.apply(t,e||[])).next())})},Io=class t extends Error{static{i(this,"ValidationError")}constructor(e){super(e),this.name="ValidationError",Object.setPrototypeOf(this,t.prototype)}},dp=class t extends Error{static{i(this,"ReserveCacheError")}constructor(e){super(e),this.name="ReserveCacheError",Object.setPrototypeOf(this,t.prototype)}},Zv="cache write denied:",zy=class t extends dp{static{i(this,"CacheWriteDeniedError")}constructor(e){super(e),this.name="CacheWriteDeniedError",Object.setPrototypeOf(this,t.prototype)}},uae=jO,gy=class t extends Error{static{i(this,"CacheReadDeniedError")}constructor(e){super(e),this.name="CacheReadDeniedError",Object.setPrototypeOf(this,t.prototype)}},Oy=class t extends Error{static{i(this,"FinalizeCacheError")}constructor(e){super(e),this.name="FinalizeCacheError",Object.setPrototypeOf(this,t.prototype)}};function pae(t){if(!t||t.length===0)throw new Io("Path Validation Error: At least one directory or file path is required")}i(pae,"checkPaths");function eL(t){if(t.length>512)throw new Io(`Key Validation Error: ${t} cannot be larger than 512 characters.`);if(!/^[^,]*$/.test(t))throw new Io(`Key Validation Error: ${t} cannot contain commas.`)}i(eL,"checkKey");function tL(){return NM()==="v2"?!!process.env.ACTIONS_RESULTS_URL:!!process.env.ACTIONS_CACHE_URL}i(tL,"isFeatureAvailable");function Aae(t,e,r,n){return M2(this,arguments,void 0,function*(o,s,a,c,u=!1){let p=NM();N(`Cache service version: ${p}`),pae(o);let A=xT();if(!rie(A)){S(`Cache restore skipped: the effective cache-mode '${A}' does not permit reads.`),N(`Skipped restore for paths [${o.join(", ")}] with primary key '${s}'.`);return}return p==="v2"?yield d00(o,s,a,c,u):yield l00(o,s,a,c,u)})}i(Aae,"restoreCache");function l00(t,e,r,n){return M2(this,arguments,void 0,function*(o,s,a,c,u=!1){var p;a=a||[];let A=[s,...a];if(N("Resolved Keys:"),N(JSON.stringify(A)),A.length>10)throw new Io("Key Validation Error: Keys are limited to a maximum of 10.");for(let M of A)eL(M);let l=yield Rf(),b="";try{let M;try{M=yield pie(A,o,{compressionMethod:l,enableCrossOsArchive:u})}catch(O){let y=(p=O?.message)!==null&&p!==void 0?p:"";throw y.includes(uae)?new gy(y):O}if(!M?.archiveLocation)return;if(c?.lookupOnly)return S("Lookup only - skipping download"),M.cacheKey;b=VM.join(yield Df(),nc(l)),N(`Archive Path: ${b}`),yield vT(M.archiveLocation,b,c),vi()&&(yield XM(b,l));let z=ss(b);return S(`Cache Size: ~${Math.round(z/(1024*1024))} MB (${z} B)`),yield jv(b,l),S("Cache restored successfully"),M.cacheKey}catch(M){let z=M;if(z.name===Io.name)throw M;z instanceof is&&typeof z.statusCode=="number"&&z.statusCode>=500?ll(`Failed to restore: ${M.message}`):r0(`Failed to restore: ${M.message}`)}finally{try{yield If(b)}catch(M){N(`Failed to delete archive: ${M}`)}}})}i(l00,"restoreCacheV1");function d00(t,e,r,n){return M2(this,arguments,void 0,function*(o,s,a,c,u=!1){var p;c=Object.assign(Object.assign({},c),{useAzureSdk:!0}),a=a||[];let A=[s,...a];if(N("Resolved Keys:"),N(JSON.stringify(A)),A.length>10)throw new Io("Key Validation Error: Keys are limited to a maximum of 10.");for(let b of A)eL(b);let l="";try{let b=Yv(),M=yield Rf(),z={key:s,restoreKeys:a,version:Cl(o,M,u)},O;try{O=yield b.GetCacheEntryDownloadURL(z)}catch(B){let q=(p=B?.message)!==null&&p!==void 0?p:"";throw q.includes(uae)?new gy(q):B}if(!O.ok){N(`Cache not found for version ${z.version} of keys: ${A.join(", ")}`);return}if(z.key!==O.matchedKey?S(`Cache hit for restore-key: ${O.matchedKey}`):S(`Cache hit for: ${O.matchedKey}`),c?.lookupOnly)return S("Lookup only - skipping download"),O.matchedKey;l=VM.join(yield Df(),nc(M)),N(`Archive path: ${l}`),N(`Starting download of archive to: ${l}`),yield vT(O.signedDownloadUrl,l,c);let E=ss(l);return S(`Cache Size: ~${Math.round(E/(1024*1024))} MB (${E} B)`),vi()&&(yield XM(l,M)),yield jv(l,M),S("Cache restored successfully"),O.matchedKey}catch(b){let M=b;if(M.name===Io.name)throw b;M instanceof is&&typeof M.statusCode=="number"&&M.statusCode>=500?ll(`Failed to restore: ${b.message}`):r0(`Failed to restore: ${b.message}`)}finally{try{l&&(yield If(l))}catch(b){N(`Failed to delete archive: ${b}`)}}})}i(d00,"restoreCacheV2");function rL(t,e,r){return M2(this,arguments,void 0,function*(n,o,s,a=!1){let c=NM();N(`Cache service version: ${c}`),pae(n),eL(o);let u=xT();return nie(u)?c==="v2"?yield f00(n,o,s,a):yield b00(n,o,s,a):(S(`Cache save skipped: the effective cache-mode '${u}' does not permit writes.`),N(`Skipped save for paths [${n.join(", ")}] with key '${o}'.`),-1)})}i(rL,"saveCache");function b00(t,e,r){return M2(this,arguments,void Line truncated
`+t.errors.map(e=>` - ${e.message}`).join(`
`)}i(u10,"_buildMessageForResponseErrors");var p10=class extends Error{static{i(this,"GraphqlResponseError")}constructor(t,e,r){super(u10(r)),this.request=t,this.headers=e,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}name="GraphqlResponseError";errors;data},A10=["method","baseUrl","url","headers","request","query","mediaType","operationName"],l10=["query","method","url"],Kae=/\/api\/v3\/?$/;function d10(t,e,r){if(r){if(typeof e=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let a in r)if(l10.includes(a))return Promise.reject(new Error(`[@octokit/graphql] "${a}" cannot be used as variable name`))}let n=typeof e=="string"?Object.assign({query:e},r):e,o=Object.keys(n).reduce((a,c)=>A10.includes(c)?(a[c]=n[c],a):(a.variables||(a.variables={}),a.variables[c]=n[c],a),{}),s=n.baseUrl||t.endpoint.DEFAULTS.baseUrl;return Kae.test(s)&&(o.url=s.replace(Kae,"/api/graphql")),t(o).then(a=>{if(a.data.errors){let c={};for(let u of Object.keys(a.headers))c[u]=a.headers[u];throw new p10(o,c,a.data)}return a.data.data})}i(d10,"graphql");function fL(t,e){let r=t.defaults(e);return Object.assign(i((o,s)=>d10(r,o,s),"newApi"),{defaults:fL.bind(null,r),endpoint:r.endpoint})}i(fL,"withDefaults");var We1=fL(KM,{headers:{"user-agent":`octokit-graphql.js/${c10} ${Oc()}`},method:"POST",url:"/graphql"});function Zae(t){return fL(t,{method:"POST",url:"/graphql"})}i(Zae,"withCustomRequest");var ML="(?:[a-zA-Z0-9_-]+)",ece="\\.",tce=new RegExp(`^${ML}${ece}${ML}${ece}${ML}$`),b10=tce.test.bind(tce);async function f10(t){let e=b10(t),r=t.startsWith("v1.")||t.startsWith("ghs_"),n=t.startsWith("ghu_");return{type:"token",token:t,tokenType:e?"app":r?"installation":n?"user-to-server":"oauth"}}i(f10,"auth");function M10(t){return t.split(/\./).length===3?`bearer ${t}`:`token ${t}`}i(M10,"withAuthorizationPrefix");async function h10(t,e,r,n){let o=e.endpoint.merge(r,n);return o.headers.authorization=M10(t),e(o)}i(h10,"hook");var rce=i(function(e){if(!e)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof e!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return e=e.replace(/^(token|bearer) +/i,""),Object.assign(f10.bind(null,e),{hook:h10.bind(null,e)})},"createTokenAuth2");var hL="7.0.6";var nce=i(()=>{},"noop"),m10=console.warn.bind(console),z10=console.error.bind(console);function g10(t={}){return typeof t.debug!="function"&&(t.debug=nce),typeof t.info!="function"&&(t.info=nce),typeof t.warn!="function"&&(t.warn=m10),typeof t.error!="function"&&(t.error=z10),t}i(g10,"createLogger");var oce=`octokit-core.js/${hL} ${Oc()}`,Fy=class{static{i(this,"Octokit")}static VERSION=hL;static defaults(e){return class extends this{static{i(this,"OctokitWithDefaults")}constructor(...n){let o=n[0]||{};if(typeof e=="function"){super(e(o));return}super(Object.assign({},e,o,o.userAgent&&e.userAgent?{userAgent:`${o.userAgent} ${e.userAgent}`}:null))}}}static plugins=[];static plugin(...e){let r=this.plugins;return class extends this{static{i(this,"NewOctokit")}static plugins=r.concat(e.filter(o=>!r.includes(o)))}}constructor(e={}){let r=new wae.Collection,n={baseUrl:KM.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=e.userAgent?`${e.userAgent} ${oce}`:oce,e.baseUrl&&(n.baseUrl=e.baseUrl),e.previews&&(n.mediaType.previews=e.previews),e.timeZone&&(n.headers["time-zone"]=e.timeZone),this.request=KM.defaults(n),this.graphql=Zae(this.request).defaults(n),this.log=g10(e.log),this.hook=r,e.authStrategy){let{authStrategy:s,...a}=e,c=s(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:a},e.auth));r.wrap("request",c.hook),this.auth=c}else if(!e.auth)this.auth=async()=>({type:"unauthenticated"});else{let s=rce(e.auth);r.wrap("request",s.hook),this.auth=s}let o=this.constructor;for(let s=0;s<o.plugins.length;++s)Object.assign(this,o.plugins[s](this,e))}request;graphql;log;hook;auth};var mL="17.0.0";var O10={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables" Line truncated
`,a).length:l,p?(c===null?0:c.length)+u.length:0,p?u.length+l:0);return b<M},"__needMoreData"),parse:i(function(n,o,s,a){let{bom:c,comment_no_infix:u,delimiter_auto:p,encoding:A,from_line:l,ltrim:b,max_record_size:M,raw:z,relax_quotes:O,rtrim:y,skip_empty_lines:E,to:B,to_line:q}=this.options,{comment:I,escape:W,quote:x,record_delimiter:L}=this.options,{bomSkipped:ce,delimiterDiscovered:Te,delimiterBufPrevious:Ge,rawBuffer:Ne,escapeIsQuote:Be}=this.state;if(!Te&&p){let Qe;if(Ge===void 0?Qe=n:Ge!==void 0&&n===void 0?Qe=Ge:Qe=Buffer.concat([Ge,n]),n=void 0,o||Qe.length>p.size)this.options.delimiter=[Buffer.from(yle(Qe,this.options.delimiter_auto))],this.state.previousBuf=Qe,this.state.delimiterBufPrevious=void 0,this.state.delimiterDiscovered=!0;else{this.state.delimiterBufPrevious=Qe;return}}let{previousBuf:ke}=this.state,pe;if(ke===void 0)if(n===void 0){a();return}else pe=n;else ke!==void 0&&n===void 0?pe=ke:pe=Buffer.concat([ke,n]);if(ce===!1)if(c===!1)this.state.bomSkipped=!0;else if(pe.length<3){if(o===!1){this.state.previousBuf=pe;return}}else{for(let Qe in x2)if(x2[Qe].compare(pe,0,x2[Qe].length)===0){let C0=x2[Qe].length;this.state.bufBytesStart+=C0,pe=pe.slice(C0);let Mt=W2({...this.original_options,encoding:Qe});for(let p0 in Mt)this.options[p0]=Mt[p0];({comment:I,escape:W,quote:x}=this.options);break}this.state.bomSkipped=!0}let Ue=pe.length,J;for(J=0;J<Ue&&!this.__needMoreData(J,Ue,o);J++){if(this.state.wasRowDelimiter===!0&&(this.info.lines++,this.state.wasRowDelimiter=!1),q!==-1&&this.info.lines>q){this.state.stop=!0,a();return}this.state.quoting===!1&&L.length===0&&this.__autoDiscoverRecordDelimiter(pe,J)&&(L=this.options.record_delimiter);let Qe=pe[J];if(z===!0&&Ne.append(Qe),(Qe===aa0||Qe===ca0)&&this.state.wasRowDelimiter===!1&&(this.state.wasRowDelimiter=!0),this.state.escaping===!0)this.state.escaping=!1;else{if(W!==null&&this.state.quoting===!0&&this.__isEscape(pe,J,Qe)&&J+W.length<Ue)if(Be){if(this.__isQuote(pe,J+W.length)){this.state.escaping=!0,J+=W.length-1;continue}}else{this.state.escaping=!0,J+=W.length-1;continue}if(this.state.commenting===!1&&this.__isQuote(pe,J))if(this.state.quoting===!0){let p0=pe[J+x.length],V1=y&&this.__isCharTrimable(pe,J+x.length),q0=I!==null&&this.__compareBytes(I,pe,J+x.length,p0),ne=this.__isDelimiter(pe,J+x.length,p0),Qo=L.length===0?this.__autoDiscoverRecordDelimiter(pe,J+x.length):this.__isRecordDelimiter(p0,pe,J+x.length);if(W!==null&&this.__isEscape(pe,J,Qe)&&this.__isQuote(pe,J+W.length))J+=W.length-1;else if(!p0||ne||Qo||q0||V1){this.state.quoting=!1,this.state.wasQuoting=!0,J+=x.length-1;continue}else if(O===!1){let un=this.__error(new Ve("CSV_INVALID_CLOSING_QUOTE",["Invalid Closing Quote:",`got "${String.fromCharCode(p0)}"`,`at line ${this.info.lines}`,"instead of delimiter, record delimiter, trimable character","(if activated) or comment"],this.options,this.__infoField()));if(un!==void 0)return un}else this.state.quoting=!1,this.state.wasQuoting=!0,this.state.field.prepend(x),J+=x.length-1}else if(this.state.field.length!==0){if(O===!1){let p0=this.__infoField(),V1=Object.keys(x2).map(ne=>x2[ne].equals(this.state.field.toString())?ne:!1).filter(Boolean)[0],q0=this.__error(new Ve("INVALID_OPENING_QUOTE",["Invalid Opening Quote:",`a quote is found on field ${JSON.stringify(p0.column)} at line ${p0.lines}, value is ${JSON.stringify(this.state.field.toString(A))}`,V1?`(${V1} bom)`:void 0],this.options,p0,{field:this.state.field}));if(q0!==void 0)return q0}}else{this.state.quoting=!0,J+=x.length-1;continue}if(this.state.quoting===!1){let p0=this.__isRecordDelimiter(Qe,pe,J);if(p0!==0){if(this.state.commenting&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0)this.info.comment_lines++;else{if(this.state.enabled===!1&&this.info.lines+(this.state.wasRowDelimiter===!0?1:0)>=l){this.state.enabled=!0,this.__resetField(),this.__resetRecord(),J+=p0-1;continue}if(E===!0&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0){this.info.empty_lines++,J+=p0-1;continue}this.info.bytes=this.state.bufBytesStart+J;let ne=this.__onField();if(ne!==void 0)return ne;this.info.bytes=this.state.bufBytesStart+J+p0;let Qo=this.__onRecord(s);if(Qo!==void 0)return Qo;if(B!==-1&&this.info.records>=B){this.state.stop=!0,a();return}}this.state.commenting=!1,J+=p0-1;continue}if(this.state.commenting)continue;if(I!==null&&(u===!1||this.state.record.length===0&&this.state.field.length===0)&&this.__compareBytes(I,pe,J,Qe)!==0){this.state.commenting=!0;continue}let V1=this.__isDelimiter(pe,J,Qe);if(V1!==0){this.info.bytes=this.state.bufBytesStart+J;let q0=this.__onField();if(q0!==void 0)return q0;J+=V1-1;continue}}}if(this.state.commenting===!1&&M!==0&&this.state.record_length+this.state.field.length>M)return this.__error(new Ve("CSV_MAX_RECORD_SIZE",["Max Record Size:","record exceed the maximum number of tolerated bytes",`of ${M}`,`at line ${this.info.lines}`],this.options,this.__infoField()));let C0=b===!1||th Line truncated
`,s),Buffer.from(`
`,s),Buffer.from("\r",s)];e:for(let c=0;c<a.length;c++){let u=a[c].length;for(let p=0;p<u;p++)if(a[c][p]!==n[o+p])continue e;return this.options.record_delimiter.push(a[c]),this.state.recordDelimiterMaxLength=a[c].length,a[c].length}return 0},"__autoDiscoverRecordDelimiter"),__error:i(function(n){let{encoding:o,raw:s,skip_records_with_error:a}=this.options,c=typeof n=="string"?new Error(n):n;if(a){if(this.state.recordHasError=!0,this.options.on_skip!==void 0)try{this.options.on_skip(c,s?this.state.rawBuffer.toString(o):void 0)}catch(u){return u}return}else return c},"__error"),__infoDataSet:i(function(){return{...this.info,columns:this.options.columns}},"__infoDataSet"),__infoRecord:i(function(){let{columns:n,raw:o,encoding:s}=this.options;return{...this.__infoDataSet(),bytes_records:this.info.bytes,error:this.state.error,header:n===!0,index:this.state.record.length,raw:o?this.state.rawBuffer.toString(s):void 0}},"__infoRecord"),__infoField:i(function(){let{columns:n}=this.options,o=Array.isArray(n),s=this.info.bytes_records;return{...this.__infoRecord(),bytes_records:s,column:o===!0?n.length>this.state.record.length?n[this.state.record.length].name:null:this.state.record.length,quoting:this.state.wasQuoting}},"__infoField")}},"transform");var F1=i(function(t,e={}){typeof t=="string"&&(t=Buffer.from(t));let r=e&&e.objname?Object.create(null):[],n=v4(e),o=i(c=>{n.options.objname===void 0?r.push(c):r[c[0]]=c[1]},"push"),s=i(()=>{},"close"),a=n.parse(t,!0,o,s);if(a!==void 0)throw a;return r},"parse");var c0=class t{static{i(this,"Util")}static getInputList(e,r){return this.getList(Pr(e,{trimWhitespace:r?.trimWhitespace!==!1}),r)}static getList(e,r){let n=[];if(e=="")return n;let o=F1(e,{columns:!1,relaxQuotes:!0,comment:r?.comment,comment_no_infix:r?.commentNoInfix,relaxColumnCount:!0,skipEmptyLines:!0,quote:r?.quote});for(let s of o)s.length==1?r?.ignoreComma?n.push(s[0]):n.push(...s[0].split(",")):r?.ignoreComma?n.push(s.join(",")):n.push(...s);return n.filter(s=>s).map(s=>r?.trimWhitespace===!1?s:s.trim())}static getInputNumber(e){let r=Pr(e);if(r)return parseInt(r)}static async asyncForEach(e,r){for(let n=0;n<e.length;n++)await r(e[n],n,e)}static isValidURL(e){let r;try{r=new URL(e)}catch{return!1}return r.protocol==="http:"||r.protocol==="https:"}static isValidRef(e){if(t.isValidURL(e))return!0;for(let r of["git://","github.com/","git@"])if(e.startsWith(r))return!0;return!1}static async powershellCommand(e,r){let n=await it("powershell",!0),o=e.replace(/'/g,"''"),s=[];if(r)for(let a in r)s.push(`-${a} '${r[a].replace(/'/g,"''")}'`);return{command:`"${n}"`,args:["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-EncodedCommand",Buffer.from(`& '${o}' ${s.join(" ")}`,"utf16le").toString("base64")]}}static isDirectory(e){try{return qle.default.lstatSync(e).isDirectory()}catch{}return!1}static trimPrefix(e,r){return!e||!r||e.indexOf(r)!==0?e:e.substring(r.length)}static trimSuffix(e,r){if(!e||!r)return e;let n=e.lastIndexOf(r);return n===-1||n+r.length!==e.length?e:e.substring(0,n)}static sleep(e){return new Promise(r=>setTimeout(r,e*1e3))}static hash(e){return $Q.default.createHash("sha256").update(e).digest("hex")}static parseBool(e){if(e===void 0)return!1;switch(e){case"1":case"t":case"T":case"true":case"TRUE":case"True":return!0;case"0":case"f":case"F":case"false":case"FALSE":case"False":return!1;default:throw new Error(`parseBool syntax error: ${e}`)}}static parseBoolOrDefault(e,r=!1){try{return this.parseBool(e)}catch{return r}}static formatFileSize(e){if(e===0)return"0 Bytes";let r=1024,n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],o=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,o)).toFixed(2))+" "+n[o]}static generateRandomString(e=10){return $Q.default.randomBytes(Math.ceil(e/2)).toString("hex").slice(0,e)}static compileHandlebars(e,r,n){return Dle.default.compile(e,r)(n)}static stringToUnicodeEntities(e){return Array.from(e).map(r=>`&#x${r.charCodeAt(0).toString(16)};`).join("")}static countLines(e){return e.split(/\r\n|\r|\n/).length}static isPathRelativeTo(e,r){let n=Oh.default.resolve(e);return Oh.default.resolve(r).startsWith(n.endsWith(Oh.default.sep)?n:`${n}${Oh.default.sep}`)}static formatDuration(e){if(e===0)return"0s";let r=Math.floor(e/1e9),n=Math.floor(r/3600),o=Math.floor(r%3600/60),s=r%60,a=[];return n&&a.push(`${n}h`),o&&a.push(`${o}m`),(s||a.length===0)&&a.push(`${s}s`),a.join("")}};var Bt=class t{static{i(this,"Docker")}static get configDir(){return process.env.DOCKER_CONFIG||Eh.default.join(Ile.default.homedir(),".docker")}static configFile(){let e=Eh.default.join(t.configDir,"config.json");if(jQ.default.existsSync(e))return JSON.parse(jQ.default.readFileSync(e,{encoding:"utf-8"}))}static async isAvailable(){return await it("docker",!0).then(e=>(N(`Docker.isAvailable ok: ${e}`),!0)).catch(e=>(N(`Docker.isAvailable error: ${e}`),!1))}static async isDaemonRunning(){try{return await t.getExecOutput(["version"],{silent:!0}),!0 Line truncated
${n}`)},"onRetry")})}static isPullTransientError(e){return/Client\.Timeout exceeded|TLS handshake timeout|i\/o timeout|context deadline exceeded|request canceled|connection reset by peer|connection refused|connection timed out|temporary failure|unexpected EOF|\bEOF\b|server misbehaving/i.test(e)||/\b(500|502|503|504)\b/.test(e)||/\b(service unavailable|bad gateway|gateway timeout|internal server error)\b/i.test(e)}};var m0=class t{static{i(this,"Buildx")}_version;_versionOnce;_standalone;static containerNamePrefix="buildx_buildkit_";constructor(e){this._standalone=e?.standalone,this._version="",this._versionOnce=!1}static get configDir(){return process.env.BUILDX_CONFIG||mr.default.join(Bt.configDir,"buildx")}static get refsDir(){return mr.default.join(t.configDir,"refs")}static get refsGroupDir(){return mr.default.join(t.refsDir,"__group__")}static get certsDir(){return mr.default.join(t.configDir,"certs")}async isStandalone(){let e=this._standalone??!await Bt.isAvailable();return N(`Buildx.isStandalone: ${e}`),e}async getCommand(e){let r=await this.isStandalone();return{command:r?"buildx":"docker",args:r?e:["buildx",...e]}}async isAvailable(){let e=await this.getCommand([]),r=await ge.getExecOutput(e.command,e.args,{ignoreReturnCode:!0,silent:!0}).then(n=>n.stderr.length>0&&n.exitCode!=0?(N(`Buildx.isAvailable cmd err: ${n.stderr.trim()}`),!1):n.exitCode==0).catch(n=>(N(`Buildx.isAvailable error: ${n}`),!1));return N(`Buildx.isAvailable: ${r}`),r}async version(){if(this._versionOnce)return this._version;this._versionOnce=!0;let e=await this.getCommand(["version"]);return this._version=await ge.getExecOutput(e.command,e.args,{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stderr.length>0&&r.exitCode!=0)throw new Error(r.stderr.trim());return t.parseVersion(r.stdout.trim())}),this._version}async printVersion(){let e=await this.getCommand(["version"]);await ge.exec(e.command,e.args,{failOnStdErr:!1})}static parseVersion(e){let r=/\sv?([0-9a-f]{7}|[0-9.]+)/.exec(e);if(!r)throw new Error("Cannot parse buildx version");return r[1]}static getErrorMessage(e){let r=(0,wle.stripVTControlCharacters)(e).split(/[\r\n]/),n="";for(let o=r.length-1;o>=0;o--){let s=r[o].trim();if(s.startsWith("ERROR:"))return s.slice(6).trim()||"unknown error";n||=s}return n||"unknown error"}async versionSatisfies(e,r){let n=r??await this.version();if(!n)return N("Buildx.versionSatisfies false: undefined version"),!1;let o=Sle.satisfies(n,e)||/^[0-9a-f]{7}$/.exec(n)!==null;return N(`Buildx.versionSatisfies ${n} statisfies ${e}: ${o}`),o}static resolveCertsDriverOpts(e,r,n){let o;try{o=new URL(r)}catch{return[]}if(o.protocol!="tcp:")return[];let s=[];if(Object.keys(n).length==0)return s;let a=o.hostname;if(o.port.length>0&&(a+=`-${o.port}`),n.cacert!==void 0){let c=mr.default.join(t.certsDir,`cacert_${a}.pem`);Hn.default.writeFileSync(c,n.cacert),s.push(`cacert=${c}`)}if(n.cert!==void 0){let c=mr.default.join(t.certsDir,`cert_${a}.pem`);Hn.default.writeFileSync(c,n.cert),s.push(`cert=${c}`)}if(n.key!==void 0){let c=mr.default.join(t.certsDir,`key_${a}.pem`);Hn.default.writeFileSync(c,n.key),s.push(`key=${c}`)}return e!="remote"?[]:s}static localState(e,r){let[n,o,s]=e.split("/");if(!n||!o||!s)throw new Error(`Invalid build reference: ${e}`);let a=mr.default.join(r||t.refsDir,n,o,s);if(!Hn.default.existsSync(a))throw new Error(`Local state not found in ${a}`);return t.fixLocalState(JSON.parse(Hn.default.readFileSync(a,"utf8")))}static fixLocalState(e){let r=i(function(a){let c=a.match(/(.*)(https?:\/{1,2}\S+|ssh:\/{1,2}\S+|git:\/{1,2}\S+)/i);if(c&&c.length==3){let u=c[1],p=c[2];return p.startsWith("https:/")&&!p.startsWith("https://")&&(p=p.replace("https:/","https://")),p.startsWith("http:/")&&!p.startsWith("http://")&&(p=p.replace("http:/","http://")),p.startsWith("ssh:/")&&!p.startsWith("ssh://")&&(p=p.replace("ssh:/","ssh://")),p.startsWith("git:/")&&!p.startsWith("git://")&&(p=p.replace("git:/","git://")),[p,u,!0]}return[a,"",!1]},"fnTrimToValidContext"),[n,o,s]=r(e.LocalPath);return s&&(e.LocalPath=n,e.DockerfilePath.indexOf(o)===0&&(e.DockerfilePath=e.DockerfilePath.substring(o.length))),e.LocalPath=e.LocalPath.endsWith("/-")?"-":e.LocalPath,e.DockerfilePath=e.DockerfilePath.endsWith("/-")?"-":e.DockerfilePath,e}static refs(e,r={}){let{dir:n,builderName:o,nodeName:s,since:a}=e,c=mr.default.resolve(n);if(e.builderName&&(c=mr.default.join(c,e.builderName)),e.nodeName&&(c=mr.default.join(c,e.nodeName)),!Hn.default.existsSync(c))return r;let u=Hn.default.readdirSync(c);for(let p of u){let A=mr.default.join(c,p),l=Hn.default.statSync(A);if(l.isDirectory()){let b={...e};if(o)s||(b.nodeName=p);else{if(p==="__group__")continue;b.builderName=p}t.refs(b,r)}else{if(a&&l.mtime<a)continue;let b=t.fixLocalState(JSON.parse(Hn.default.readFileSync(A,"utf8"))),M=`${o}/${s}/${p}`;r[M]=b}}return r}static async convertWarningsToGitHubAnnotations(e,r,n){if(e.length===0)return;let o=i(function(u){try{return $y.parseURL(u)}catch{}},"fnGitURL"),s=i(function Line truncated
More info: ${u.url}`);let M=u.range&&u.range.length>0?u.range[0]?.start.line:void 0,z=!1;for(let O of a)if(O.remote||O.path.endsWith(p)&&O.content===A){c.push({title:l,message:b,file:O.path,startLine:M}),z=!0;break}z||N(`Buildx.convertWarningsToGitHubAnnotations: skipping warning without matching Dockerfile ${p}: ${l}`)}return c}};var Bp=w(require("fs"),1),KQ=w(require("path"),1);var L4=class t{static{i(this,"Build")}buildx;iidFilename;metadataFilename;constructor(e){this.buildx=e?.buildx||new m0,this.iidFilename=`build-iidfile-${c0.generateRandomString()}.txt`,this.metadataFilename=`build-metadata-${c0.generateRandomString()}.json`}async gitContext(e){let r=new Set(["ref","checksum","subdir"]),n=e?.attrs||{},o=Object.entries(n).filter(([M])=>!r.has(M)),s=c0.parseBoolOrDefault(n["fetch-by-commit"]),a=e?.ref||n.ref||Ht.ref;a.startsWith("refs/")?a.startsWith("refs/pull/")&&c0.parseBoolOrDefault(process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF)&&(a=a.replace(/\/merge$/g,"/head")):a=`refs/heads/${a}`;let c=`${a0.serverURL}/${Ht.repo.owner}/${Ht.repo.repo}.git`,u=e?.checksum||n.checksum,p=e?.subdir||n.subdir,A=e?.format;if(!A){if(A="fragment",o.length>0)A="query";else if(c0.parseBoolOrDefault(process.env.BUILDX_SEND_GIT_QUERY_AS_INPUT))try{await this.buildx.versionSatisfies(">=0.29.0")&&(A="query")}catch{}}let l=Ht.sha||a;a.startsWith("refs/pull/")&&a.endsWith("/head")&&(l=typeof Ht.payload.pull_request?.head?.sha=="string"?Ht.payload.pull_request.head.sha:a);let b=u||l;if(A==="query"){let M=[`ref=${s||u?a:b}`],z=s?b:u;z&&M.push(`checksum=${z}`),p&&p!=="."&&M.push(`subdir=${p}`);for(let[O,y]of o)M.push(`${O}=${y}`);return`${c}?${M.join("&")}`}return`${c}#${b}${p&&p!=="."?`:${p}`:""}`}getImageIDFilePath(){return KQ.default.join(s0.tmpDir(),this.iidFilename)}resolveImageID(){let e=this.getImageIDFilePath();if(Bp.default.existsSync(e))return Bp.default.readFileSync(e,{encoding:"utf-8"}).trim()}getMetadataFilePath(){return KQ.default.join(s0.tmpDir(),this.metadataFilename)}resolveMetadata(){let e=this.getMetadataFilePath();if(!Bp.default.existsSync(e))return;let r=Bp.default.readFileSync(e,{encoding:"utf-8"}).trim();if(r!=="null")return JSON.parse(r)}resolveRef(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.ref"in e)return e["buildx.build.ref"]}resolveProvenance(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.provenance"in e)return e["buildx.build.provenance"]}resolveWarnings(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.warnings"in e)return e["buildx.build.warnings"]}resolveDigest(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"containerimage.digest"in e)return e["containerimage.digest"]}static resolveSecretString(e){let[r,n]=t.resolveSecret(e,{redact:!0});return`id=${r},src=${n}`}static resolveSecretFile(e){let[r,n]=t.resolveSecret(e,{asFile:!0});return`id=${r},src=${n}`}static resolveSecretEnv(e){let[r,n]=t.parseSecretKvp(e);return`id=${r},env=${n}`}static resolveSecret(e,r){let[n,o]=t.parseSecretKvp(e,r?.redact);if(r?.asFile){if(!Bp.default.existsSync(o))throw new Error(`secret file ${o} not found`);return[n,o]}let s=s0.tmpName({tmpdir:s0.tmpDir()});return Bp.default.writeFileSync(s,o),[n,s]}static getProvenanceInput(e){let r=Pr(e);if(!r)return r;try{return Vj(e)?`builder-id=${a0.workflowRunURL(!0)}`:"false"}catch{return t.resolveProvenanceAttrs(r)}}static resolveProvenanceAttrs(e){if(!e)return`builder-id=${a0.workflowRunURL(!0)}`;let r=F1(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let n of r)if(n.toString().split(/(?<=^[^=]+?)=/).map(s=>s.trim())[0]=="builder-id")return e;return`${e},builder-id=${a0.workflowRunURL(!0)}`}static resolveCacheToAttrs(e,r){if(!e)return e;let n="registry",o="",s="",a=F1(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let c of a){let u=c.toString().split(/(?<=^[^=]+?)=/).map(p=>p.trim());u[0]==="type"?n=u[1]:u[0]==="repository"?o=u[1]:u[0]==="ghtoken"&&(s=u[1])}return n==="gha"&&(o||(e=`${e},repository=${a0.repository}`),!s&&r&&(e=`${e},ghtoken=${r}`)),e}static hasLocalExporter(e){return t.hasExporterType("local",e)}static hasTarExporter(e){return t.hasExporterType("tar",e)}static hasDockerExporter(e,r){return r||t.hasExporterType("docker",e)}static hasExporterType(e,r){let n=F1(r.join(`
`),{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0});for(let o of n){if(o.length==1&&!o[0].startsWith("type="))return e=="local";for(let[s,a]of o.map(c=>c.split("=").map(u=>u.trim())))if(s=="type"&&a==e)return!0}return!1}static hasAttestationType(e,r){let n=F1(r,{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0});for(let o of n)for(let[s,a]of o.map(c=>c.split("=").map(u=>u.trim())))if(s=="type"&&a==e)return!0;return!1}static resolveAttestationAttrs(e){let r=F1(e,{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0}),n=[];for(let o of r)for(let s of o)try{let a=c0.parseBool(s);n.push(`disabled=${!a}`)}catch{n.push(s)}return n.join(",")}static hasGitAuthTokenSecret(e,r){for(let n of e){if(r&&n.startsWith(`GIT_AUTH_TOKEN.${r}=`))return!0;if(n.startsWith("GIT_AUTH_TOKEN="))return!0}return!1}static parseSecretKvp(e,r){let n=e.indexOf("="),o=e.substring(0,n),s=e.substring(n+1);if(o.length==0||s.length==0)throw new Error(`${e} is not a valid secret`);return r&&Zo(s),[o,s]}};var ZQ=w(require("fs"),1),Fle=w(require("path"),1);var Q4=class t{static{i(this,"Bake")}buildx;metadataFilename;constructor(e){this.buildx=e?.buildx||new m0,this.metadataFilename=`bake-metadata-${c0.generateRandomString()}.json`}getMetadataFilePath(){return Fle.default.join(s0.tmpDir(),this.metadataFilename)}resolveMetadata(){let e=this.getMetadataFilePath();if(!ZQ.default.existsSync(e))return;let r=ZQ.default.readFileSync(e,{encoding:"utf-8"}).trim();if(r!=="null")return JSON.parse(r)}resolveRefs(e){if(!e&&(e=this.resolveMetadata(),!e))return;let r=new Array;for(let n in e)"buildx.build.ref"in e[n]&&r.push(e[n]["buildx.build.ref"]);return r.length>0?r:void 0}resolveWarnings(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.warnings"in e)return e["buildx.build.warnings"]}async getDefinition(e,r){r=r||{ignoreReturnCode:!0},r.ignoreReturnCode=!0,r.env=Object.assign({},process.env,r.env||{},e.githubToken?{BUILDX_BAKE_GIT_AUTH_TOKEN:e.githubToken}:{});let n=["bake"],o,s=[],a=[...e.files||[],e.source];if(a){for(let u of a.map(p=>p?p.trim():""))if(u.length!=0){if(!c0.isValidRef(u)){s.push(u);continue}if(o)throw new Error("Only one remote bake definition can be defined");o=u}}o&&n.push(o);for(let u of s)n.push("--file",u);if(e.overrides)for(let u of e.overrides)n.push("--set",u);if(e.vars)for(let u of e.vars)n.push("--var",u);if(e.allow)for(let u of e.allow)n.push("--allow",u);e.call&&n.push("--call",e.call),e.load&&n.push("--load"),e.noCache&&n.push("--no-cache"),e.provenance&&n.push("--provenance",e.provenance),e.push&&n.push("--push"),e.sbom&&n.push("--sbom",e.sbom);let c=await this.buildx.getCommand([...n,"--print",...e.targets||[]]);return await ge.getExecOutput(c.command,c.args,r).then(u=>{if(u.stderr.length>0&&u.exitCode!=0)throw new Error(`cannot parse bake definitions: ${m0.getErrorMessage(u.stderr)}`);return t.parseDefinition(u.stdout.trim())})}static parseDefinition(e){let r=JSON.parse(e);for(let n in r.target){let o=r.target[n];o.attest&&Array.isArray(o.attest)&&(o.attest=o.attest.map(s=>t.parseAttestEntry(s))),o["cache-from"]&&Array.isArray(o["cache-from"])&&(o["cache-from"]=o["cache-from"].map(s=>t.parseCacheEntry(s))),o["cache-to"]&&Array.isArray(o["cache-to"])&&(o["cache-to"]=o["cache-to"].map(s=>t.parseCacheEntry(s))),o.output&&Array.isArray(o.output)&&(o.output=o.output.map(s=>t.parseExportEntry(s))),o.secret&&Array.isArray(o.secret)&&(o.secret=o.secret.map(s=>t.parseSecretEntry(s))),o.ssh&&Array.isArray(o.ssh)&&(o.ssh=o.ssh.map(s=>t.parseSSHEntry(s)))}return r}static parseAttestEntry(e){if(typeof e!="string")return e;let r={type:""},n=F1(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let o of n){let[s,a]=o.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());switch(s){case"type":r.type=a;break;case"disabled":r.disabled=c0.parseBool(a);break;default:r[s]=a}}return r}static parseCacheEntry(e){if(typeof e!="string")return e;let r={type:""},n=F1(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];if(n.length===1&&!n[0].includes("="))return r.type="registry",r.ref=n[0],r;for(let o of n){let[s,a]=o.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());s==="type"?r.type=a:r[s]=a}return r}static parseExportEntry(e){if(typeof e!="string")return e;let r={type:""},n=F1(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];if(n.length===1&&n[0]===e&&!e.startsWith("type="))return e!=="-"?(r.type="local",r.dest=e,r):(r.type="tar",r.dest=e,r);for(let o of n){let[s,a]=o.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());s==="type"?r.type=a:r[s]=a}return r}static parseSecretEntry(e){if(typeof e!="string")return e;let r={},n=F1(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0],o="";for(let s of n){let[a,c]=s.toString().split(/(?<=^[^=]+?)=/).map(u=>u.trim());switch(a){case"type":o=c;break;case"id":r.id=c;break;case"source":case"src":r.src=c;break;case"env":r.env=c;break}}return o==="env"&&!r.env&&(r.env=r.src,r.src=void 0),r}static parseSSHEntry(e){if(typeof e!="string")return e;let r={},[n,o]=e.split("=",2);return r.id=n,o&&(r.paths=o.split(",")),r} Line truncated
`)[0])}static async isHeadDetached(e){return await t.exec(["branch","--show-current"],e).then(r=>r.length==0)}static async getDetachedRef(e){let r=await t.exec(["show","-s","--pretty=%D"],e);N(`detached HEAD ref: ${r}`);let n=r.replace(/^grafted, /,"").trim();if(n==="HEAD")return await t.inferRefFromHead(e);let o=n.match(/^HEAD, (.*)$/);if(!o||!o[1])throw new Error(`Cannot find detached HEAD ref in "${r}"`);let s=o[1].trim();if(s.startsWith("tag: "))return await t.findDetachedTagRef(s,r,e);if(s.match(/^pull\/\d+\/(head|merge)$/))return`refs/${s}`;let c=s.match(/^[^/]+\/[^/]+, (.+)$/);if(c)return`refs/heads/${c[1].trim()}`;let u=s.match(/^[^/]+\/(.+)$/);if(u)return`refs/heads/${u[1].trim()}`;throw new Error(`Unsupported detached HEAD ref in "${r}"`)}static async exec(e=[],r){return await ge.getExecOutput("git",e,{cwd:r,ignoreReturnCode:!0,silent:!0}).then(n=>{if(n.stderr.length>0&&n.exitCode!=0)throw new Error(n.stderr);return n.stdout.trim()})}static async inferRefFromHead(e){let r=await t.findContainingRef("refs/heads/",e);if(r)return r;let n=await t.findContainingRef("refs/remotes/",e);if(n){let a=n.match(/^refs\/remotes\/[^/]+\/(.+)$/);return a?`refs/heads/${a[1]}`:n}let o=await t.exec(["tag","--contains","HEAD"],e),[s]=o.split(`
`).map(a=>a.trim()).filter(a=>a.length>0);return s?`refs/tags/${s}`:""}static async findDetachedTagRef(e,r,n){let s=(await t.exec(["for-each-ref","--format=%(refname)","--points-at","HEAD","refs/tags/"],n)).split(`
`).map(a=>a.trim()).filter(a=>a.length>0).sort((a,c)=>c.length-a.length);for(let a of s){let c=`tag: ${a.slice(10)}`;if(e===c||e.startsWith(`${c}, `))return a}if(s.length===1)return s[0];throw new Error(`Cannot find detached tag ref in "${r}"`)}static async findContainingRef(e,r){let n=await t.exec(["for-each-ref","--format=%(refname)","--contains","HEAD","--sort=-committerdate",e],r),[o]=n.split(`
`).map(s=>s.trim()).filter(s=>s.length>0);return o}static async commitDate(e,r){return new Date(await t.exec(["show","-s",'--format="%ci"',e],r))}};var Jbe=require("crypto"),ti=w(require("fs"),1),ri=w(require("path"),1);var dd=w(a8(),1),$be=w(E_(),1),bd=w(Gbe(),1);var Xbe=require("util");var BP=w(a8(),1);var Vbe=w(Pn(),1);var Hbe="application/vnd.oci.empty.v1+json";var yr=class{static{i(this,"Cosign")}binPath;_version;_versionOnce;constructor(e){this.binPath=e?.binPath||"cosign",this._version="",this._versionOnce=!1}async isAvailable(){let e=await ge.getExecOutput(this.binPath,[],{ignoreReturnCode:!0,silent:!0}).then(r=>r.stderr.length>0&&r.exitCode!=0?(N(`Cosign.isAvailable cmd err: ${r.stderr.trim()}`),!1):r.exitCode==0).catch(r=>(N(`Cosign.isAvailable error: ${r}`),!1));return N(`Cosign.isAvailable: ${e}`),e}async version(){return this._versionOnce?this._version:(this._versionOnce=!0,this._version=await ge.getExecOutput(this.binPath,["version","--json"],{ignoreReturnCode:!0,silent:!0}).then(e=>{if(e.stderr.length>0&&e.exitCode!=0)throw new Error(e.stderr.trim());return JSON.parse(e.stdout.trim()).gitVersion}),this._version)}async printVersion(){await ge.exec(this.binPath,["version","--json"],{failOnStdErr:!1})}static getErrorMessage(e){let r=(0,Xbe.stripVTControlCharacters)(e).split(/[\r\n]/);for(let n=r.length-1;n>=0;n--){let o=r[n].trim();if(o)return o}return"unknown error"}async versionSatisfies(e,r){let n=r??await this.version();if(!n)return N("Cosign.versionSatisfies false: undefined version"),!1;let o=Vbe.satisfies(n,e)||/^[0-9a-f]{7}$/.exec(n)!==null;return N(`Cosign.versionSatisfies ${n} statisfies ${e}: ${o}`),o}static parseCommandOutput(e){let r,n,o,s;for(let a of e.split(/\r?\n/)){let c=a.trim();if(!c.startsWith("{")||!c.endsWith("}"))continue;let u;try{u=JSON.parse(c)}catch{continue}if(u&&Array.isArray(u.errors)&&u.errors.length>0&&(s=u.errors),!r&&u&&Array.isArray(u.manifests)&&u.manifests.length>0){let p=u.manifests[0];p?.artifactType===BP.BUNDLE_V03_MEDIA_TYPE&&typeof p.digest=="string"?r=p.digest:p?.artifactType===Hbe&&typeof p.digest=="string"&&(n=p.digest)}if(!o&&u&&u.mediaType===BP.BUNDLE_V03_MEDIA_TYPE&&(o=u),o&&(r||n)){s=void 0;break}}return{bundle:o,signatureManifestDigest:r||n,errors:s}}};var qP=w(require("fs"),1);var mq=class t{static{i(this,"ImageTools")}buildx;constructor(e){this.buildx=e?.buildx||new m0}async getCommand(e){return await this.buildx.getCommand(["imagetools",...e])}async getInspectCommand(e){return await this.getCommand(["inspect",...e])}async getCreateCommand(e){return await this.getCommand(["create",...e])}async inspectImage(e){return await this.inspect(e,"{{json .Image}}",r=>{if(typeof r=="object"&&!Array.isArray(r)&&r!==null)return Object.prototype.hasOwnProperty.call(r,"config"),r;throw new Error("Unexpected output format")})}async inspectManifest(e){return await this.inspect(e,"{{json .Manifest}}",r=>{if(typeof r=="object"&&!Array.isArray(r)&&r!==null)return Object.prototype.hasOwnProperty.call(r,"manifests"),r;throw new Error("Unexpected output format")})}async attestationDescriptors(e){let r=await this.inspectManifest(e);if(typeof r!="object"||r===null||!("manifests"in r)||!Array.isArray(r.manifests))throw new Error(`No descriptor found for ${e.name}`);let n=r.manifests.filter(a=>a.annotations?.["vnd.docker.reference.type"]==="attestation-manifest");if(!e.platform)return n;let o=e.platform,s=new Map;for(let a of r.manifests)a.digest&&s.set(a.digest,a);return n.filter(a=>{let c=a.annotations?.["vnd.docker.reference.digest"];if(!c)return!1;let u=s.get(c);return u?u.platform?.os===o.os&&u.platform?.architecture===o.architecture&&(u.platform?.variant??"")===(o.variant??""):!1})}async attestationDigests(e){return(await this.attestationDescriptors(e)).map(r=>r.digest)}async create(e){let r=[],n=s0.tmpName({tmpdir:s0.tmpDir(),template:"imagetools-metadata-XXXXXX"}),o=[],s=[];for(let c of e.sources){if(c.startsWith("cwd://")){let u=c.substring(6);u.length>0&&o.push(u);continue}s.push(c)}if(e.tags)for(let c of e.tags)r.push("--tag",c);if(e.platforms)for(let c of e.platforms)r.push("--platform",c);if(e.annotations)for(let c of e.annotations)r.push("--annotation",c);e.dryRun?r.push("--dry-run"):r.push("--metadata-file",n);for(let c of o)r.push("--file",c);for(let c of s)r.push(c);let a=await this.getCreateCommand(r);if(e.skipExec){S(`[command]${a.command} ${a.args.join(" ")}`),S("Skipped create command");return}return await ge.getExecOutput(a.command,a.args,{ignoreReturnCode:!0,silent:e.silent}).then(c=>{if(c.stderr.length>0&&c.exitCode!=0)throw new Error(c.stderr.trim());if(!e.dryRun){if(!qP.default.existsSync(n))return;let u=qP.default.readFileSync(n,{encoding:"utf-8"}).trim();if(u===""||u==="null")return;let p=JSON.parse(u),A=p["containerimage.descriptor"];return A?{digest:p["containerimage.digest"]||A.digest,descriptor:A,imageNames:p["image.name"]?p["image.name"].split(",").map(l=>l.trim()):[]}:void 0}})}async inspect(e,r,n){let o=await this.getInspectCommand([e Line truncated
${a.message}`),await new Promise(p=>setTimeout(p,Math.pow(2,c)*100))}throw a??new Error(`ImageTools inspect command failed for ${e.name}`)}async execInspect(e,r,n){return await ge.getExecOutput(e,r,{ignoreReturnCode:!0,silent:!0}).then(o=>{if(o.stderr.length>0&&o.exitCode!=0)throw new Error(o.stderr.trim());return n(JSON.parse(o.stdout))})}static isManifestUnknownError(e){return/(MANIFEST_UNKNOWN|manifest unknown)/i.test(e)||/:\s*not found$/i.test(e)}};var ld="https://search.sigstore.dev";var Ybe="slsaprovenance1",Pc=class t{static{i(this,"Sigstore")}cosign;imageTools;constructor(e){this.cosign=e?.cosign||new yr,this.imageTools=e?.imageTools||new mq}async signAttestationManifests(e){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to sign attestation manifests");let r={};try{if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Error('missing "id-token" permission. Please add "permissions: id-token: write" to your workflow.');let n={noTransparencyLog:e.noTransparencyLog,rekorV2:e.rekorV2},o=await this.cosignSigningConfigArgs(n);for(let s of e.imageNames){let a=await this.imageTools.attestationDigests({name:`${s}@${e.imageDigest}`,retryOnManifestUnknown:e.retryOnManifestUnknown,retryLimit:e.retryLimit});for(let c of a){let u=`${s}@${c}`;await at(`Signing attestation manifest ${u}`,async()=>{let p=["sign","--yes","--oidc-provider","github-actions","--registry-referrers-mode","oci-1-1",...await this.bundleFormatArgs(),...o];S(`[command]${this.cosign.binPath} ${[...p,u].join(" ")}`);let A=await ge.getExecOutput(this.cosign.binPath,["--verbose",...p,u],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),l=yr.parseCommandOutput(A.stderr.trim());if(A.exitCode!=0)if(l.errors&&l.errors.length>0){let M=l.errors.map(z=>`- [${z.code}] ${z.message} : ${z.detail}`).join(`
`);throw new Error(`Cosign sign command failed with errors:
${M}`)}else throw new Error(`Cosign sign command failed with: ${yr.getErrorMessage(A.stderr)}`);let b=t.parseBundle((0,dd.bundleFromJSON)(l.bundle));b.tlogID&&await this.logTransparencyUpload(b.tlogID,n),S(`Signature manifest pushed: https://oci.dag.dev/?referrers=${u}`),r[u]={...b,imageName:s}})}}}catch(n){throw new Error(`Signing BuildKit attestation manifests failed: ${n.message}`)}return r}async verifySignedManifests(e,r){let n={};for(let[o,s]of Object.entries(e))await at(`Verifying signature of ${o}`,async()=>{let a=await this.verifyImageAttestation(o,{certificateIdentityRegexp:r.certificateIdentityRegexp,noTransparencyLog:r.noTransparencyLog||!s.tlogID,retryOnManifestUnknown:r.retryOnManifestUnknown,retryLimit:r.retryLimit});S(`Signature manifest verified: https://oci.dag.dev/?image=${s.imageName}@${a.signatureManifestDigest}`),n[o]=a});return n}async verifyImageAttestations(e,r){let n={},o=await this.imageTools.attestationDigests({name:e,platform:r.platform,retryOnManifestUnknown:r.retryOnManifestUnknown,retryLimit:r.retryLimit});if(o.length===0)throw new Error(`No attestation manifests found for ${e}`);let s=e.split(":",1)[0];for(let a of o){let c=`${s}@${a}`,u=await this.verifyImageAttestation(c,r);S(`Signature manifest verified: https://oci.dag.dev/?image=${s}@${u.signatureManifestDigest}`),n[c]=u}return n}async verifyImageAttestation(e,r){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to verify signed manifests");let n=["verify","--experimental-oci11",...await this.bundleFormatArgs(),"--certificate-oidc-issuer","https://token.actions.githubusercontent.com","--certificate-identity-regexp",r.certificateIdentityRegexp];if(r.noTransparencyLog&&n.push("--use-signed-timestamps","--insecure-ignore-tlog"),!r.retryOnManifestUnknown){S(`[command]${this.cosign.binPath} ${[...n,e].join(" ")}`);let a=await ge.getExecOutput(this.cosign.binPath,["--verbose",...n,e],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})});if(a.exitCode!==0)throw new Error(`Cosign verify command failed with: ${yr.getErrorMessage(a.stderr)}`);let c=yr.parseCommandOutput(a.stderr.trim());return{cosignArgs:n,signatureManifestDigest:c.signatureManifestDigest}}let o=r.retryLimit??15,s;S(`[command]${this.cosign.binPath} ${[...n,e].join(" ")}`);for(let a=0;a<o;a++){let c=await ge.getExecOutput(this.cosign.binPath,["--verbose",...n,e],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),u=yr.parseCommandOutput(c.stderr.trim());if(c.exitCode===0)return{cosignArgs:n,signatureManifestDigest:u.signatureManifestDigest};if(u.errors&&u.errors.length>0){let p=u.errors.map(A=>`- [${A.code}] ${A.message} : ${A.detail}`).join(`
`);if(s=new Error(`Cosign verify command failed with errors:
${p}`),u.errors.some(A=>A.code==="MANIFEST_UNKNOWN"))S(`Cosign verify command failed with MANIFEST_UNKNOWN, retrying attempt ${a+1}/${o}...
${p}`),await new Promise(A=>setTimeout(A,Math.pow(2,a)*100));else throw s}else throw new Error(`Cosign verify command failed with: ${yr.getErrorMessage(c.stderr)}`)}throw s}async signProvenanceBlobs(e){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to sign provenance blobs");let r={};try{if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Error('missing "id-token" permission. Please add "permissions: id-token: write" to your workflow.');let n={noTransparencyLog:e.noTransparencyLog,rekorV2:e.rekorV2},o=await this.cosignSigningConfigArgs(n),s=t.getProvenanceBlobs(e);for(let a of Object.keys(s))await at(`Signing ${a}`,async()=>{let c=s[a],u=ri.default.join(ri.default.dirname(a),`${e.name??"provenance"}.sigstore.json`),p=t.getProvenanceSubjects(c);if(p.length===0){r0(`No subjects found in provenance ${a}, skip signing.`);return}let A=ri.default.join(ri.default.dirname(a),p[0].name),l=["attest-blob","--yes","--oidc-provider","github-actions",...await this.bundleFormatArgs(),"--statement",a,"--type",Ybe,"--bundle",u,...o];S(`[command]${this.cosign.binPath} ${[...l,A].join(" ")}`);let b=await ge.getExecOutput(this.cosign.binPath,["--verbose",...l,A],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),M=yr.parseCommandOutput(b.stderr.trim());if(b.exitCode!=0)if(M.errors&&M.errors.length>0){let O=M.errors.map(y=>`- [${y.code}] ${y.message} : ${y.detail}`).join(`
`);throw new Error(`Cosign attest-blob command failed with errors:
${O}`)}else throw new Error(`Cosign attest-blob command failed with: ${yr.getErrorMessage(b.stderr)}`);let z=t.parseBundle((0,dd.bundleFromJSON)(JSON.parse(ti.default.readFileSync(u,{encoding:"utf-8"}))));S("Provenance blob signed for:");for(let O of p){let[y,E]=Object.entries(O.digest)[0]||[];S(` - ${O.name} (${y}:${E})`)}z.tlogID&&await this.logTransparencyUpload(z.tlogID,n),S(`Sigstore bundle written to: ${u}`),r[a]={...z,bundlePath:u,subjects:p}})}catch(n){throw new Error(`Signing BuildKit provenance blobs failed: ${n.message}`)}return r}async verifySignedArtifacts(e,r){let n={};if(!await this.cosign.isAvailable())throw new Error("Cosign is required to verify signed artifacts");for(let[o,s]of Object.entries(e)){let a=ri.default.dirname(o);await at(`Verifying signature bundle ${s.bundlePath}`,async()=>{for(let c of s.subjects){let u=ri.default.join(a,c.name);S(`Verifying signed artifact ${u}`);let p=["verify-blob-attestation",...await this.bundleFormatArgs(),"--certificate-oidc-issuer","https://token.actions.githubusercontent.com","--certificate-identity-regexp",r.certificateIdentityRegexp,"--type",r.predicateType??Ybe];(r.noTransparencyLog||!s.tlogID)&&p.push("--use-signed-timestamps","--insecure-ignore-tlog");let A=await ge.getExecOutput(this.cosign.binPath,[...p,"--bundle",s.bundlePath,u],{ignoreReturnCode:!0});if(A.stderr.length>0&&A.exitCode!=0)throw new Error(A.stderr);n[u]={bundlePath:s.bundlePath,cosignArgs:p}}})}return n}async verifyArtifact(e,r,n){S("Verifying keyless verification bundle signature");let o=JSON.parse(ti.default.readFileSync(r,"utf-8")),s=(0,dd.bundleFromJSON)(o);S("Fetching Sigstore TUF trusted root metadata");let a=await $be.getTrustedRoot({retry:{retries:5}}),c=(0,bd.toTrustMaterial)(a);try{S("Verifying artifact signature");let u=(0,bd.toSignedEntity)(s,ti.default.readFileSync(e)),p=t.parseCertificate(s),A=s.verificationMaterial.tlogEntries,l=A.length>0?A[0].logIndex:void 0,M=new bd.Verifier(c).verify(u,{subjectAlternativeName:n?.subjectAlternativeName,extensions:n?.issuer?{issuer:n.issuer}:void 0});return N(`Sigstore.verifyArtifact signer: ${JSON.stringify(M)}`),{payload:o,certificate:p.toString(),tlogID:l}}catch(u){throw new Error(`Failed to verify artifact signature: ${u}`)}}static noTransparencyLog(e){return e??a0.context.payload.repository?.private??!1}async cosignSigningConfigArgs(e){let r=[],n=t.noTransparencyLog(e.noTransparencyLog);if(S(`Upload to transparency log: ${n?"disabled":"enabled"}`),await this.cosign.versionSatisfies(">=3.0.4")){let o=await this.useRekorV2(e);await at("Creating Sigstore protobuf signing config",async()=>{let s=s0.tmpName({template:"signing-config-XXXXXX.json",tmpdir:s0.tmpDir()}),a=["signing-config","create",o?"--with-default-rekor-v2=true":"--with-default-services=true",`--out=${s}`];n&&a.push("--no-default-rekor=true"),await ge.exec(this.cosign.binPath,a,{env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),S(JSON.stringify(JSON.parse(ti.default.readFileSync(s,{encoding:"utf-8"})),null,2)),r.push(`--signing-config=${s}`)})}else r.push("--use-signing-config"),n&&r.push("--tlog-upload=false");return r}async logTransparencyUpload(e,r){if(await this.useRekorV2(r)){S(`Attestation signature uploaded to Rekor v2 transparency log with index ${e}`);return}S(`Attestation signature uploaded to Rekor transparency log: ${ld}?logIndex=${e}`)}async useRekorV2(e){return e.rekorV2===!0&&!t.noTransparencyLog(e.noTransparencyLog)&&await this.cosign.versionSatisfies(">=3.1.1")}static getProvenanceBlobs(e){let r=ri.default.join(e.localExportDir,"provenance.json");if(ti.default.existsSync(r))return{[r]:ti.default.readFileSync(r)};let n=ti.default.readdirSync(e.localExportDir,{withFileTypes:!0}),o=n.filter(s=>s.isDirectory());if(o.length>0&&o.length===n.length&&o.every(s=>ti.default.existsSync(ri.default.join(e.localExportDir,s.name,"provenance.json")))){let s={};for(let a of o){let c=ri.default.join(e.localExportDir,a.name,"provenance.json");s[c]=ti.default.readFileSync(c)}return s}throw new Error(`No valid provenance.json found in ${e.localExportDir}`)}static getProvenanceSubjects(e){return JSON.parse(e.toString()).subject.map(n=>({name:n.name,digest:n.digest}))}static parseBundle(e){let r=t.parseCertificate(e),n=e.verificationMaterial.tlogEntries,o=n.length>0?n[0].logIndex:void 0;return{payload:(0,dd.bundleToJSON)(e),certificate:r.toString(),tlogID:o}}static parseCertificate(e){let r;switch(e.verificationMaterial.content.$case){case"x509CertificateChain":r=e.verificationMaterial.content.x509CertificateChain.certificates[0].rawBytes;break;case"certificate":r=e.verificationMaterial.content.certificate.rawBytes;break;default:throw new Error("Bundle must contain an x509 certificate")}return new Jbe.X509Certificate(r)}async bundleFormatArgs(){return await this.cosign.versionSatisfies(">=3.1.1")?[]:["--new-bundle-format"]}};var zq=class t{static{i(this,"Install")}standalone;githubToken;sigstore;constructor(e){this.standalone=e?.standalone,this.githubToke Line truncated
`)){let[p,...A]=u.split(":"),l=p.toLowerCase(),b=A.map(M=>M.trim()).join(":");if(p.length!=0)switch(!0){case l=="name":n=void 0,r.name==null?r.name=b:(s&&o.gcPolicy&&(o.gcPolicy.push(s),s=void 0),o.name&&r.nodes.push(o),o={name:b});break;case l=="driver":n=void 0,r.driver=b;break;case l=="last activity":n=void 0,r.lastActivity=new Date(b);break;case l=="endpoint":n=void 0,o.endpoint=b;break;case l=="driver options":n=void 0,o["driver-opts"]=(b.match(/([a-zA-Z0-9_.]+)="([^"]*)"/g)||[]).map(M=>M.replace(/^(.*)="(.*)"$/g,"$1=$2"));break;case l=="status":n=void 0,o.status=b;break;case l=="buildkit daemon flags":case l=="flags":n=void 0,o["buildkitd-flags"]=b;break;case l=="buildkit version":case l=="buildkit":n=void 0,o.buildkit=b;break;case l=="platforms":{if(n=void 0,!b)break;let M=[];if(b.includes("*"))for(let z of b.split(", "))z.includes("*")&&M.push(z.replace(/\*/g,""));else M=b.split(", ");o.platforms=M.join(",");break}case l=="features":n="features",o.features={};break;case l=="labels":n="label",o.labels={};break;case l=="devices":n="devices",o.devices=o.devices||[];break;case l.startsWith("gc policy rule#"):n="gcpolicy",o.gcPolicy&&s&&(o.gcPolicy.push(s),s=void 0);break;case l.startsWith("file#"):n="file",c=p.split("#")[1],o.files=o.files||{},o.files[c]="";break;default:switch(n&&n!=="devices"&&o.devices&&a&&(o.devices.push(a),a=void 0),n||""){case"features":{o.features=o.features||{},o.features[p.trim()]=!!b;break}case"label":{o.labels=o.labels||{},o.labels[p.trim()]=b;break}case"devices":{switch(l.trim()){case"name":{o.devices&&a&&o.devices.push(a),a={},a.name=b;break}case"on-demand":{a&&b&&(a.onDemand=b=="true");break}case"automatically allowed":{a&&b&&(a.autoAllow=b=="true");break}case"annotations":{a&&(a.annotations=a.annotations||{});break}default:a&&a.annotations&&(a.annotations[p.trim()]=b)}break}case"gcpolicy":{switch(o.gcPolicy=o.gcPolicy||[],s=s||{},l.trim()){case"all":{s.all=b=="true";break}case"filters":{b&&(s.filter=b.split(","));break}case"keep duration":{s.keepDuration=b;break}case"keep bytes":{s.keepBytes=b;break}case"reserved space":{s.reservedSpace=b;break}case"max used space":{s.maxUsedSpace=b;break}case"min free space":{s.minFreeSpace=b;break}}break}case"file":{c&&o.files&&(o.files[c].length>0&&(o.files[c]+=`
`),o.files[c]+=u.replace(/^\s>\s?/,""));break}}}}return a&&o.devices&&o.devices.push(a),s&&o.gcPolicy&&o.gcPolicy.push(s),o.name&&r.nodes.push(o),r}};var jbe=w(Pn(),1);var gq=w(require("fs"),1);var Oq=class{static{i(this,"Config")}resolveFromString(e){return this.resolve(e,!1)}resolveFromFile(e){return this.resolve(e,!0)}resolve(e,r){if(r){if(!gq.default.existsSync(e))throw new Error(`config file ${e} not found`);e=gq.default.readFileSync(e,{encoding:"utf-8"})}let n=s0.tmpName({tmpdir:s0.tmpDir()});return gq.default.writeFileSync(n,e),n}};var Eq=class{static{i(this,"BuildKit")}buildx;config;constructor(e){this.config=new Oq,this.buildx=e?.buildx||new m0}async getVersion(e){if(!e.buildkit&&e.name)try{return await this.getVersionWithinImage(e.name)}catch(r){r0(r)}return e.buildkit}async getVersionWithinImage(e){return N(`BuildKit.getVersionWithinImage nodeName: ${e}`),Bt.getExecOutput(["inspect","--format","{{.Config.Image}}",`${m0.containerNamePrefix}${e}`],{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.exitCode==0&&r.stdout.length>0)return N(`BuildKit.getVersionWithinImage image: ${r.stdout.trim()}`),Bt.getExecOutput(["run","--rm",r.stdout.trim(),"--version"],{ignoreReturnCode:!0,silent:!0}).then(n=>{if(n.exitCode==0&&n.stdout.length>0)return`${r.stdout.trim()} => ${n.stdout.trim()}`;if(n.stderr.length>0)throw new Error(r.stderr.trim());return n.stdout.trim()});if(r.stderr.length>0)throw new Error(r.stderr.trim());return r.stdout.trim()})}async versionSatisfies(e,r,n){n||(n=await new Md({buildx:this.buildx}).inspect(e));for(let o of n.nodes){let s=o.buildkit;if(N(`BuildKit.versionSatisfies ${s}: ${r}`),!s)try{s=await this.getVersionWithinImage(o.name||"")}catch{return N(`BuildKit.versionSatisfies ${o.name}: can't get version`),!1}if(N(`BuildKit.versionSatisfies ${o.name}: version ${s}`),n.driver=="docker"&&!s.endsWith("-moby")||!jbe.satisfies(s.replace(/-moby$/,""),r))return!1}return!0}};var Cq=class t{static{i(this,"Compose")}_version;_versionOnce;_standalone;constructor(e){this._standalone=e?.standalone,this._version="",this._versionOnce=!1}async isStandalone(){let e=this._standalone??!await Bt.isAvailable();return N(`Compose.isStandalone: ${e}`),e}async getCommand(e){let r=await this.isStandalone();return{command:r?"compose":"docker",args:r?e:["compose",...e]}}async isAvailable(){let e=await this.getCommand([]),r=await ge.getExecOutput(e.command,e.args,{ignoreReturnCode:!0,silent:!0}).then(n=>n.stderr.length>0&&n.exitCode!=0?(N(`Compose.isAvailable cmd err: ${n.stderr.trim()}`),!1):n.exitCode==0).catch(n=>(N(`Compose.isAvailable error: ${n}`),!1));return N(`Compose.isAvailable: ${r}`),r}async version(){if(this._versionOnce)return this._version;this._versionOnce=!0;let e=await this.getCommand(["version"]);return this._version=await ge.getExecOutput(e.command,e.args,{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stderr.length>0&&r.exitCode!=0)throw new Error(r.stderr.trim());return t.parseVersion(r.stdout.trim())}),this._version}async printVersion(){let e=await this.getCommand(["version"]);await ge.exec(e.command,e.args,{failOnStdErr:!1})}static parseVersion(e){let r=/\sv?([0-9a-f]{7}|[0-9.]+)/.exec(e);if(!r)throw new Error("Cannot parse compose version");return r[1]}};var ma=w(require("fs"),1),oi=w(require("os"),1),hd=w(require("path"),1);var Bq=w(Pn(),1),IP=w(require("util"),1);var yq=class t{static{i(this,"Install")}standalone;githubToken;constructor(e){this.standalone=e?.standalone,this.githubToken=e?.githubToken||process.env.GITHUB_TOKEN}async download(e,r){let n=await t.getDownloadVersion(e);N(`Install.download version: ${n.version}`);let o=await t.getRelease(n,this.githubToken);N(`Install.download release tag name: ${o.tag_name}`);let s=await this.vspec(o.tag_name);N(`Install.download vspec: ${s}`);let a=Bq.clean(s)||"";if(!Bq.valid(a))throw new Error(`Invalid Compose version "${s}".`);let c=new rt({htcName:n.key!="official"?`compose-dl-bin-${n.key}`:"compose-dl-bin",htcVersion:s,baseCacheDir:hd.default.join(oi.default.homedir(),".bin","docker-compose"),cacheFile:oi.default.platform()=="win32"?"docker-compose.exe":"docker-compose",ghaNoCache:r}),u=await c.find();if(u)return S(`Compose binary found in ${u}`),u;let p=IP.format(n.downloadURL,s,this.filename());S(`Downloading ${p}`);let A=await On(p,void 0,this.githubToken);N(`Install.download htcDownloadPath: ${A}`);let l=await c.save(A);return S(`Cached to ${l}`),l}async installStandalone(e,r){S("Standalone mode"),r=r||s0.tmpDir();let n=hd.default.join(r,"compose-bin-standalone");ma.default.existsSync(n)||ma.default.mkdirSync(n,{recursive:!0});let o=oi.default.platform()=="win32"?"compose.exe":"compose",s=hd.default.join(n,o);return ma.default.copyFileSync(e,s),S("Fixing perms"),ma.default.chmodSync(s,"0755"),ts(n),S("Added Compose to PATH"),S(`Binary path: ${s}`),s}async installPlugin(e,r){S("Docker plugin mode"),r=r||Bt.configDir;let n=hd.default.join(r,"cli-plugins");ma.default.existsSync(n)||ma.default.mkdirSync(n,{recursive:!0});let o=oi.default Line truncated
# syntax=docker/dockerfile:1
ARG GO_VERSION="1.24"
ARG ALPINE_VERSION="3.22"
FROM --platform=$BUILDPLATFORM tonistiigi/xx:1.7.0 AS xx
FROM --platform=$BUILDPLATFORM golang:\${GO_VERSION}-alpine\${ALPINE_VERSION} AS builder-base
COPY --from=xx / /
RUN apk add --no-cache git
ENV GOTOOLCHAIN=auto
ENV CGO_ENABLED=0
WORKDIR /src
RUN --mount=type=cache,target=/go/pkg/mod \\
--mount=type=bind,source=go.mod,target=go.mod \\
--mount=type=bind,source=go.sum,target=go.sum \\
go mod download
FROM builder-base AS version
RUN --mount=type=bind,target=. <<'EOT'
git rev-parse HEAD 2>/dev/null || {
echo >&2 "Failed to get git revision, make sure --build-arg BUILDKIT_CONTEXT_KEEP_GIT_DIR=1 is set when building from Git directly"
exit 1
}
set -ex
export PKG=sigs.k8s.io BUILDDATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") TREESTATE=$(if ! git diff --no-ext-diff --quiet --exit-code; then echo dirty; else echo clean; fi) VERSION=$(git describe --match 'v[0-9]*' --dirty='.m' --always --tags) COMMIT=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi);
echo "-X \${PKG}/release-utils/version.gitVersion=\${VERSION} -X \${PKG}/release-utils/version.gitCommit=\${COMMIT} -X \${PKG}/release-utils/version.gitTreeState=\${TREESTATE} -X \${PKG}/release-utils/version.buildDate=\${BUILDDATE}" > /tmp/.ldflags;
echo -n "\${VERSION}" > /tmp/.version;
EOT
FROM builder-base AS builder
ARG TARGETPLATFORM
RUN --mount=type=bind,target=. \\
--mount=type=cache,target=/root/.cache,id=cosign-$TARGETPLATFORM \\
--mount=source=/tmp/.ldflags,target=/tmp/.ldflags,from=version \\
--mount=type=cache,target=/go/pkg/mod <<EOT
set -ex
xx-go build -trimpath -ldflags "-s -w $(cat /tmp/.ldflags)" -o /out/cosign ./cmd/cosign
xx-verify --static /out/cosign
EOT
FROM scratch
COPY --from=builder /out /
`;var qq=class t{static{i(this,"Install")}githubToken;buildx;sigstore;constructor(e){this.githubToken=e?.githubToken||process.env.GITHUB_TOKEN,this.buildx=e?.buildx||new m0,this.sigstore=e?.sigstore||new Pc}async download(e){let r=await t.getDownloadVersion(e.version);N(`Install.download version: ${r.version}`);let n=await t.getRelease(r,this.githubToken);N(`Install.download release tag name: ${n.tag_name}`);let o=await this.vspec(n.tag_name);N(`Install.download vspec: ${o}`);let s=zd.clean(o)||"";if(!zd.valid(s))throw new Error(`Invalid Cosign version "${o}".`);let a=new rt({htcName:"cosign-dl-bin",htcVersion:o,baseCacheDir:md.default.join(So.default.homedir(),".bin"),cacheFile:So.default.platform()=="win32"?"cosign.exe":"cosign",ghaNoCache:e.ghaNoCache}),c=await a.find();if(c)return S(`Cosign binary found in ${c}`),c;let u=RP.format(r.downloadURL,o,this.filename());S(`Downloading ${u}`);let p=await On(u,void 0,this.githubToken);N(`Install.download htcDownloadPath: ${p}`),e.verifySignature&&zd.satisfies(o,">=3.0.1")&&await this.verifySignature(p,u);let A=await a.save(p,e.skipState);return S(`Cached to ${A}`),A}async build(e,r,n){let o=await this.vspec(e);N(`Install.build vspec: ${o}`);let s=new rt({htcName:"cosign-build-bin",htcVersion:o,baseCacheDir:md.default.join(So.default.homedir(),".bin"),cacheFile:So.default.platform()=="win32"?"cosign.exe":"cosign",ghaNoCache:r}),a=await s.find();if(a)return S(`Cosign binary found in ${a}`),a;let c=md.default.join(s0.tmpDir(),"cosign-build-cache"),u=await this.buildCommand(e,c),p=await ge.getExecOutput(u.command,u.args,{ignoreReturnCode:!0,input:Buffer.from(Kbe)}).then(l=>{if(l.stderr.length>0&&l.exitCode!=0)throw new Error(`build failed with: ${m0.getErrorMessage(l.stderr)}`);return`${c}/cosign`}),A=await s.save(p,n);return S(`Cached to ${A}`),A}async install(e,r){r=r||s0.tmpDir();let n=md.default.join(r,"cosign-bin");Yh.default.existsSync(n)||Yh.default.mkdirSync(n,{recursive:!0});let o=So.default.platform()=="win32"?"cosign.exe":"cosign",s=md.default.join(n,o);return Yh.default.copyFileSync(e,s),S("Fixing perms"),Yh.default.chmodSync(s,"0755"),ts(n),S("Added Cosign to PATH"),S(`Binary path: ${s}`),s}async buildCommand(e,r){let n=await new m0({standalone:!0}).isAvailable(),o=await new m0({standalone:!1}).isAvailable(),s=!1;if(await this.buildx.isStandalone()&&n)N("Install.buildCommand: Buildx standalone found, build with it"),s=!0;else if(!await this.buildx.isStandalone()&&o)N("Install.buildCommand: Buildx plugin found, build with it"),s=!1;else if(n)N("Install.buildCommand: Buildx plugin not found, but standalone found so trying to build with it"),s=!0;else if(o)N("Install.buildCommand: Buildx standalone not found, but plugin found so trying to build with it"),s=!1;else throw new Error(`Neither buildx standalone or plugin have been found to build from ref ${e}`);let a=["build","--platform","local","--build-arg","BUILDKIT_CONTEXT_KEEP_GIT_DIR=1","--output",`type=local,dest=${r}`];return process.env.GIT_AUTH_TOKEN&&a.push("--secret","id=GIT_AUTH_TOKEN"),a.push("-f-",e),await new m0({standalone:s}).getCommand(a)}async verifySignature(e,r){let n=`${r}.sigstore.json`;S(`Downloading keyless verification bundle at ${n}`);let o=await On(n,void 0,this.githubToken);N(`Install.verifySignature bundlePath: ${o}`);let s=await this.sigstore.verifyArtifact(e,o,{subjectAlternativeName:"keyless@projectsigstore.iam.gserviceaccount.com",issuer:"https://accounts.google.com"});S(`Cosign binary signature verified! ${s.tlogID?`${ld}?logIndex=${s.tlogID}`:""}`)}filename(){let e;switch(So.default.arch()){case"x64":{e="amd64";break}case"ppc64":{e="ppc64le";break}default:{e=So.default.arch();break}}let r=So.default.platform()=="win32"?"windows":So.default.platform(),n=So.default.platform()=="win32"?".exe":"";return RP.format("cosign-%s-%s%s",r,e,n)}async vspec(e){if(!c0.isValidRef(e)){let p=e.replace(/^v+|v+$/g,"");return S(`Use ${p} version spec cache key for ${e}`),p}let[r,n]=e.split("#");n.length==0&&(n="master");let o;n.match(/^[0-9a-fA-F]{40}$/)?o=n:o=await pa.remoteSha(r,n,process.env.GIT_AUTH_TOKEN);let[s,a]=r.substring(19).split("/"),c=`${s}/${c0.trimSuffix(a,".git")}/${o}`,u=c0.hash(c);return S(`Use ${u} version spec cache key for ${c}`),u}static async getDownloadVersion(e){return{version:e,downloadURL:"https://github.com/sigstore/cosign/releases/download/v%s/%s",contentOpts:{owner:"docker",repo:"actions-toolkit",ref:"main",path:".github/cosign-releases.json"}}}static async getRelease(e,r){let o=await new a0({token:r}).releases("Cosign",e.contentOpts);if(!o[e.version])throw new Error(`Cannot find Cosign release ${e.version} in releases JSON`);return o[e.version]}};var Zbe=w(Pn(),1);var Dq=class{static{i(this,"Regctl")}binPath;_version;_versionOnce;constructor(e){this.binPath=e?.binPath||"regctl",this._version="",this._versionOnce=!1}async blobGet(e){return await ge.getExecOutput(this.binPath,["blob","get",e.repository,e.digest],{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stder Line truncated
`,sepLabels:Pr("sep-labels",{trimWhitespace:!1})||`
`,sepAnnotations:Pr("sep-annotations",{trimWhitespace:!1})||`
`,bakeTarget:Pr("bake-target")||"docker-metadata-action",githubToken:Pr("github-token")}}i(rfe,"getInputs");async function nfe(t,e){if(t.startsWith("git:"))return await tfe(t.slice(4));switch(t){case"workflow":return await fd0(e);case"git":return await tfe();default:throw new Error(`Invalid context source: ${t}`)}}i(nfe,"getContext");async function fd0(t){let e=a0.context;return/pull_request_target/.test(e.eventName)&&(e.ref=`refs/pull/${e.payload.number}/merge`),/true/i.test(process.env.DOCKER_METADATA_PR_HEAD_SHA||"")&&(/pull_request/.test(e.eventName)||/pull_request_target/.test(e.eventName))&&e.payload?.pull_request?.head?.sha!=null&&(e.sha=e.payload.pull_request.head.sha),{commitDate:await Md0(e.sha,t),...e}}i(fd0,"getContextFromWorkflow");async function tfe(t){let e=await pa.context(t);return{commitDate:await pa.commitDate(e.sha,t),...e}}i(tfe,"getContextFromGit");async function Md0(t,e){let r=a0.context.payload;if(r.commits){let n=r.commits.find(o=>o.id===t)?.timestamp;if(n)return new Date(n)}if(r.head_commit&&r.head_commit.id===t)return new Date(r.head_commit.timestamp);try{let n=await e.github.octokit.rest.repos.getCommit({owner:a0.context.repo.owner,repo:a0.context.repo.repo,ref:t});if(n.data.commit.committer?.date)return new Date(n.data.commit.committer.date);throw new Error("Committer date not found")}catch(n){return N(`Failed to get commit date from GitHub API: ${n.message}`),new Date}}i(Md0,"getCommitDateFromWorkflow");var Da=w(VQ(),1),J4e=w(require("fs"),1),$4e=w(require("path"),1),Gm=w(ufe(),1),cn=w(G4e(),1),vd=w(Pn(),1);function X4e(t){let e=[];if(t.length==1){let r=!1,n=F1(t[0],{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let o of n){let s=o.toString().split("=").map(a=>a.trim());if(s.length==1)e.push({name:s[0],enable:!0});else{r=!0;break}}if(!r)return H4e(e)}e=[];for(let r of t){let n={name:"",enable:!0},o=F1(r,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let s of o){let a=s.toString().split("=").map(c=>c.trim());if(a.length==1)n.name=a[0];else{let c=a[0].toLowerCase(),u=a[1];switch(c){case"name":{n.name=u;break}case"enable":{if(!["true","false"].includes(u))throw new Error(`Invalid enable attribute value: ${r}`);n.enable=/true/i.test(u);break}default:throw new Error(`Unknown image attribute: ${r}`)}}}if(n.name.length==0)throw new Error(`Image name attribute empty: ${r}`);e.push(n)}return H4e(e)}i(X4e,"Transform");function H4e(t){Iu("Processing images input");for(let e of t)S(`name=${e.name},enable=${e.enable}`);return Ru(),t}i(H4e,"output");var Z7=(u=>(u.Schedule="schedule",u.Semver="semver",u.Pep440="pep440",u.Match="match",u.Edge="edge",u.Ref="ref",u.Raw="raw",u.Sha="sha",u))(Z7||{}),qD=(n=>(n.Branch="branch",n.Tag="tag",n.PR="pr",n))(qD||{}),DD=(r=>(r.Short="short",r.Long="long",r))(DD||{}),K7=class{static{i(this,"Tag")}type;attrs;constructor(){this.attrs={}}toString(){let e=[`type=${this.type}`];for(let r in this.attrs)e.push(`${r}=${this.attrs[r]}`);return e.join(",")}},iB0={schedule:"1000",semver:"900",pep440:"900",match:"800",edge:"700",ref:"600",raw:"200",sha:"100"};function V4e(t){let e=[];t.length==0&&(t=["type=schedule","type=ref,event=branch","type=ref,event=tag","type=ref,event=pr"]);for(let n of t)e.push(aB0(n));let r=e.sort((n,o)=>Number(n.attrs.priority)<Number(o.attrs.priority)?1:Number(n.attrs.priority)>Number(o.attrs.priority)?-1:0);Iu("Processing tags input");for(let n of r)S(n.toString());return Ru(),r}i(V4e,"Transform");function aB0(t){let e=F1(t,{relaxColumnCount:!0,skipEmptyLines:!0})[0],r=new K7;for(let n of e){let o=n.toString().split(/(?<=^[^=]+?)=/).map(s=>s.trim());if(o.length==1)r.attrs.value=o[0];else{let s=o[0].toLowerCase(),a=o[1];switch(s){case"type":{if(!Object.values(Z7).includes(a))throw new Error(`Unknown tag type attribute: ${a}`);r.type=a;break}default:{r.attrs[s]=a;break}}}}switch(r.type==null&&(r.type="raw"),r.type){case"schedule":{Object.prototype.hasOwnProperty.call(r.attrs,"pattern")||(r.attrs.pattern="nightly");break}case"semver":case"pep440":{if(!Object.prototype.hasOwnProperty.call(r.attrs,"pattern"))throw new Error(`Missing pattern attribute for ${t}`);Object.prototype.hasOwnProperty.call(r.attrs,"value")||(r.attrs.value=""),Object.prototype.hasOwnProperty.call(r.attrs,"match")||(r.attrs.match="");break}case"match":{if(!Object.prototype.hasOwnProperty.call(r.attrs,"pattern"))throw new Error(`Missing pattern attribute for ${t}`);if(Object.prototype.hasOwnProperty.call(r.attrs,"group")||(r.attrs.group="0"),isNaN(+r.attrs.group))throw new Error(`Invalid match group for ${t}`);Object.prototype.hasOwnProperty.call(r.attrs,"value")||(r.attrs.value="");break}case"edge":{Object.prototype.hasOwnProperty.call(r.attrs,"branch")||(r.attrs.branch="");break}case"ref":{if(!Object.prototype.hasOwnProperty.call(r.attrs,"event"))throw new Error(`Missing event attribute for ${t}`);if(!Object.keys(qD).map(n=>qD[n]).includes(r.attrs.event))throw new Error(`Invalid event for ${t}`);r.attrs.event=="pr"&&!Object.prototype.hasOwnProperty.call(r.attrs,"pref Line truncated
/*! Bundled license information:
undici/lib/web/fetch/body.js:
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
undici/lib/web/websocket/frame.js:
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
tmp/lib/tmp.js:
(*!
* Tmp
*
* Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
*
* MIT Licensed
*)
moment/moment.js:
(*! moment.js *)
(*! version : 2.30.1 *)
(*! authors : Tim Wood, Iskren Chernev, Moment.js contributors *)
(*! license : MIT *)
(*! momentjs.com *)
moment-timezone/moment-timezone.js:
(*! moment-timezone.js *)
(*! version : 0.6.3 *)
(*! Copyright (c) JS Foundation and other contributors *)
(*! license : MIT *)
(*! github.com/moment/moment-timezone *)
xregexp/lib/xregexp.js:
(*!
* XRegExp 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2007-present MIT License
*)
xregexp/lib/addons/build.js:
(*!
* XRegExp.build 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2012-present MIT License
*)
xregexp/lib/addons/matchrecursive.js:
(*!
* XRegExp.matchRecursive 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2009-present MIT License
*)
xregexp/lib/addons/unicode-base.js:
(*!
* XRegExp Unicode Base 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2008-present MIT License
*)
xregexp/lib/addons/unicode-blocks.js:
(*!
* XRegExp Unicode Blocks 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*)
xregexp/lib/addons/unicode-categories.js:
(*!
* XRegExp Unicode Categories 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*)
xregexp/lib/addons/unicode-properties.js:
(*!
* XRegExp Unicode Properties 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2012-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*)
xregexp/lib/addons/unicode-scripts.js:
(*!
* XRegExp Unicode Scripts 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*)
@octokit/request-error/dist-src/index.js:
(* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *)
@octokit/request/dist-bundle/index.js:
(* v8 ignore next -- @preserve *)
(* v8 ignore else -- @preserve *)
*/
//# sourceMappingURL=index.cjs.map
Generated Vendored
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../node_modules/tunnel/lib/tunnel.js", "../node_modules/tunnel/index.js", "../node_modules/undici/lib/core/symbols.js", "../node_modules/undici/lib/core/errors.js", "../node_modules/undici/lib/core/constants.js", "../node_modules/undici/lib/core/tree.js", "../node_modules/undici/lib/core/util.js", "../node_modules/undici/lib/core/diagnostics.js", "../node_modules/undici/lib/core/request.js", "../node_modules/undici/lib/dispatcher/dispatcher.js", "../node_modules/undici/lib/dispatcher/dispatcher-base.js", "../node_modules/undici/lib/util/timers.js", "../node_modules/undici/lib/core/connect.js", "../node_modules/undici/lib/llhttp/utils.js", "../node_modules/undici/lib/llhttp/constants.js", "../node_modules/undici/lib/llhttp/llhttp-wasm.js", "../node_modules/undici/lib/llhttp/llhttp_simd-wasm.js", "../node_modules/undici/lib/web/fetch/constants.js", "../node_modules/undici/lib/web/fetch/global.js", "../node_modules/undici/lib/web/fetch/data-url.js", "../node_modules/undici/lib/web/fetch/webidl.js", "../node_modules/undici/lib/web/fetch/util.js", "../node_modules/undici/lib/web/fetch/symbols.js", "../node_modules/undici/lib/web/fetch/file.js", "../node_modules/undici/lib/web/fetch/formdata.js", "../node_modules/undici/lib/web/fetch/formdata-parser.js", "../node_modules/undici/lib/web/fetch/body.js", "../node_modules/undici/lib/dispatcher/client-h1.js", "../node_modules/undici/lib/dispatcher/client-h2.js", "../node_modules/undici/lib/handler/redirect-handler.js", "../node_modules/undici/lib/interceptor/redirect-interceptor.js", "../node_modules/undici/lib/dispatcher/client.js", "../node_modules/undici/lib/dispatcher/fixed-queue.js", "../node_modules/undici/lib/dispatcher/pool-stats.js", "../node_modules/undici/lib/dispatcher/pool-base.js", "../node_modules/undici/lib/dispatcher/pool.js", "../node_modules/undici/lib/dispatcher/balanced-pool.js", "../node_modules/undici/lib/dispatcher/agent.js", "../node_modules/undici/lib/dispatcher/proxy-agent.js", "../node_modules/undici/lib/dispatcher/env-http-proxy-agent.js", "../node_modules/undici/lib/handler/retry-handler.js", "../node_modules/undici/lib/dispatcher/retry-agent.js", "../node_modules/undici/lib/api/readable.js", "../node_modules/undici/lib/api/util.js", "../node_modules/undici/lib/api/api-request.js", "../node_modules/undici/lib/api/abort-signal.js", "../node_modules/undici/lib/api/api-stream.js", "../node_modules/undici/lib/api/api-pipeline.js", "../node_modules/undici/lib/api/api-upgrade.js", "../node_modules/undici/lib/api/api-connect.js", "../node_modules/undici/lib/api/index.js", "../node_modules/undici/lib/mock/mock-errors.js", "../node_modules/undici/lib/mock/mock-symbols.js", "../node_modules/undici/lib/mock/mock-utils.js", "../node_modules/undici/lib/mock/mock-interceptor.js", "../node_modules/undici/lib/mock/mock-client.js", "../node_modules/undici/lib/mock/mock-pool.js", "../node_modules/undici/lib/mock/pluralizer.js", "../node_modules/undici/lib/mock/pending-interceptors-formatter.js", "../node_modules/undici/lib/mock/mock-agent.js", "../node_modules/undici/lib/global.js", "../node_modules/undici/lib/handler/decorator-handler.js", "../node_modules/undici/lib/interceptor/redirect.js", "../node_modules/undici/lib/interceptor/retry.js", "../node_modules/undici/lib/interceptor/dump.js", "../node_modules/undici/lib/interceptor/dns.js", "../node_modules/undici/lib/web/fetch/headers.js", "../node_modules/undici/lib/web/fetch/response.js", "../node_modules/undici/lib/web/fetch/dispatcher-weakref.js", "../node_modules/undici/lib/web/fetch/request.js", "../node_modules/undici/lib/web/fetch/index.js", "../node_modules/undici/lib/web/fileapi/symbols.js", "../node_modules/undici/lib/web/fileapi/progressevent.js", "../node_modules/undici/lib/web/fileapi/encoding.js", "../node_modules/undici/lib/web/fileapi/util.js", "../node_modules/undici/lib/web/fileapi/filereader.js", "../node_modules/undici/lib/web/cache/symbols.js", "../node_modules/undici/lib/web/cache/util.js", "../node_modules/undici/lib/web/cache/cache.js", "../node_modules/undici/lib/web/cache/cachestorage.js", "../node_modules/undici/lib/web/cookies/constants.js", "../node_modules/undici/lib/web/cookies/util.js", "../node_modules/undici/lib/web/cookies/parse.js", "../node_modules/undici/lib/web/cookies/index.js", "../node_modules/undici/lib/web/websocket/events.js", "../node_modules/undici/lib/web/websocket/constants.js", "../node_modules/undici/lib/web/websocket/symbols.js", "../node_modules/undici/lib/web/websocket/util.js", "../node_modules/undici/lib/web/websocket/frame.js", "../node_modules/undici/lib/web/websocket/connection.js", "../node_modules/undici/lib/web/websocket/permessage-deflate.js", "../node_modules/undici/lib/web/websocket/receiver.js", "../node_modules/undici/lib/web/websocket/sender.js", "../node_modules/undici/lib/web/websocket/websocket.js", "../node_modules/undici/lib/web/eventsource/util.js", "../node_modules/undici/lib/web/eventsource/eventsource-stream.js",Line truncated
"sourcesContent": ["'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('Line truncated
"mappings": "ipBAAA,IAAAA,GAAAC,EAAAC,IAAA,cAEA,IAAIC,IAAM,QAAQ,KAAK,EACnBC,IAAM,QAAQ,KAAK,EACnBC,GAAO,QAAQ,MAAM,EACrBC,GAAQ,QAAQ,OAAO,EACvBC,IAAS,QAAQ,QAAQ,EACzBC,IAAS,QAAQ,QAAQ,EACzBC,IAAO,QAAQ,MAAM,EAGzBP,GAAQ,aAAeQ,IACvBR,GAAQ,cAAgBS,IACxBT,GAAQ,cAAgBU,IACxBV,GAAQ,eAAiBW,IAGzB,SAASH,IAAaI,EAAS,CAC7B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACdU,CACT,CAJSE,EAAAP,IAAA,gBAMT,SAASC,IAAcG,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACrBU,EAAM,aAAeG,GACrBH,EAAM,YAAc,IACbA,CACT,CANSE,EAAAN,IAAA,iBAQT,SAASC,IAAcE,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACfS,CACT,CAJSE,EAAAL,IAAA,iBAMT,SAASC,IAAeC,EAAS,CAC/B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACtBS,EAAM,aAAeG,GACrBH,EAAM,YAAc,IACbA,CACT,CANSE,EAAAJ,IAAA,kBAST,SAASG,GAAeF,EAAS,CAC/B,IAAIK,EAAO,KACXA,EAAK,QAAUL,GAAW,CAAC,EAC3BK,EAAK,aAAeA,EAAK,QAAQ,OAAS,CAAC,EAC3CA,EAAK,WAAaA,EAAK,QAAQ,YAAcd,GAAK,MAAM,kBACxDc,EAAK,SAAW,CAAC,EACjBA,EAAK,QAAU,CAAC,EAEhBA,EAAK,GAAG,OAAQF,EAAA,SAAgBG,EAAQC,EAAMC,EAAMC,EAAc,CAEhE,QADIT,EAAUU,GAAUH,EAAMC,EAAMC,CAAY,EACvCE,EAAI,EAAGC,EAAMP,EAAK,SAAS,OAAQM,EAAIC,EAAK,EAAED,EAAG,CACxD,IAAIE,EAAUR,EAAK,SAASM,CAAC,EAC7B,GAAIE,EAAQ,OAASb,EAAQ,MAAQa,EAAQ,OAASb,EAAQ,KAAM,CAGlEK,EAAK,SAAS,OAAOM,EAAG,CAAC,EACzBE,EAAQ,QAAQ,SAASP,CAAM,EAC/B,MACF,CACF,CACAA,EAAO,QAAQ,EACfD,EAAK,aAAaC,CAAM,CAC1B,EAdgB,SAcf,CACH,CAvBSH,EAAAD,GAAA,kBAwBTP,IAAK,SAASO,GAAgBT,IAAO,YAAY,EAEjDS,GAAe,UAAU,WAAaC,EAAA,SAAoBW,EAAKP,EAAMC,EAAMC,EAAc,CACvF,IAAIJ,EAAO,KACPL,EAAUe,GAAa,CAAC,QAASD,CAAG,EAAGT,EAAK,QAASK,GAAUH,EAAMC,EAAMC,CAAY,CAAC,EAE5F,GAAIJ,EAAK,QAAQ,QAAU,KAAK,WAAY,CAE1CA,EAAK,SAAS,KAAKL,CAAO,EAC1B,MACF,CAGAK,EAAK,aAAaL,EAAS,SAASM,EAAQ,CAC1CA,EAAO,GAAG,OAAQU,CAAM,EACxBV,EAAO,GAAG,QAASW,CAAe,EAClCX,EAAO,GAAG,cAAeW,CAAe,EACxCH,EAAI,SAASR,CAAM,EAEnB,SAASU,GAAS,CAChBX,EAAK,KAAK,OAAQC,EAAQN,CAAO,CACnC,CAFSG,EAAAa,EAAA,UAIT,SAASC,EAAgBC,EAAK,CAC5Bb,EAAK,aAAaC,CAAM,EACxBA,EAAO,eAAe,OAAQU,CAAM,EACpCV,EAAO,eAAe,QAASW,CAAe,EAC9CX,EAAO,eAAe,cAAeW,CAAe,CACtD,CALSd,EAAAc,EAAA,kBAMX,CAAC,CACH,EA5BsC,cA8BtCf,GAAe,UAAU,aAAeC,EAAA,SAAsBH,EAASmB,EAAI,CACzE,IAAId,EAAO,KACPe,EAAc,CAAC,EACnBf,EAAK,QAAQ,KAAKe,CAAW,EAE7B,IAAIC,EAAiBN,GAAa,CAAC,EAAGV,EAAK,aAAc,CACvD,OAAQ,UACR,KAAML,EAAQ,KAAO,IAAMA,EAAQ,KACnC,MAAO,GACP,QAAS,CACP,KAAMA,EAAQ,KAAO,IAAMA,EAAQ,IACrC,CACF,CAAC,EACGA,EAAQ,eACVqB,EAAe,aAAerB,EAAQ,cAEpCqB,EAAe,YACjBA,EAAe,QAAUA,EAAe,SAAW,CAAC,EACpDA,EAAe,QAAQ,qBAAqB,EAAI,SAC5C,IAAI,OAAOA,EAAe,SAAS,EAAE,SAAS,QAAQ,GAG5DC,GAAM,wBAAwB,EAC9B,IAAIC,EAAalB,EAAK,QAAQgB,CAAc,EAC5CE,EAAW,4BAA8B,GACzCA,EAAW,KAAK,WAAYC,CAAU,EACtCD,EAAW,KAAK,UAAWE,CAAS,EACpCF,EAAW,KAAK,UAAWG,CAAS,EACpCH,EAAW,KAAK,QAASI,CAAO,EAChCJ,EAAW,IAAI,EAEf,SAASC,EAAWI,EAAK,CAEvBA,EAAI,QAAU,EAChB,CAHSzB,EAAAqB,EAAA,cAKT,SAASC,EAAUG,EAAKtB,EAAQuB,EAAM,CAEpC,QAAQ,SAAS,UAAW,CAC1BH,EAAUE,EAAKtB,EAAQuB,CAAI,CAC7B,CAAC,CACH,CALS1B,EAAAsB,EAAA,aAOT,SAASC,EAAUE,EAAKtB,EAAQuB,EAAM,CAIpC,GAHAN,EAAW,mBAAmB,EAC9BjB,EAAO,mBAAmB,EAEtBsB,EAAI,aAAe,IAAK,CAC1BN,GAAM,2DACJM,EAAI,UAAU,EAChBtB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,yDACJF,EAAI,UAAU,EAChCE,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,GAAIS,EAAK,OAAS,EAAG,CACnBP,GAAM,sCAAsC,EAC5ChB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,sCAAsC,EAC5DA,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,OAAAE,GAAM,sCAAsC,EAC5CjB,EAAK,QAAQA,EAAK,QAAQ,QAAQe,CAAW,CAAC,EAAId,EAC3Ca,EAAGb,CAAM,CAClB,CA3BSH,EAAAuB,EAAA,aA6BT,SAASC,EAAQI,EAAO,CACtBR,EAAW,mBAAmB,EAE9BD,GAAM;AAAA,EACAS,EAAM,QAASA,EAAM,KAAK,EAChC,IAAID,EAAQ,IAAI,MAAM,oDACWC,EAAM,OAAO,EAC9CD,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,CAC/B,CAVSjB,EAAAwB,EAAA,UAWX,EAnFwC,gBAqFxCzB,GAAe,UAAU,aAAeC,EAAA,SAAsBG,EAAQ,CACpE,IAAI0B,EAAM,KAAK,QAAQ,QAAQ1B,CAAM,EACrC,GAAI0B,IAAQ,GAGZ,MAAK,QAAQ,OAAOA,EAAK,CAAC,EAE1B,IAAInB,EAAU,KAAK,SAAS,MAAM,EAC9BA,GAGF,KAAK,aAAaA,EAAS,SAASP,EAAQ,CAC1CO,EAAQ,QAAQ,SAASP,CAAM,CACjC,CAAC,EAEL,EAfwC,gBAiBxC,SAASF,GAAmBJ,EAASmB,EAAI,CACvC,IAAId,EAAO,KACXH,GAAe,UAAU,aAAa,KAAKG,EAAML,EAAS,SAASM,EAAQ,CACzE,IAAI2B,EAAajC,EAAQ,QAAQ,UAAU,MAAM,EAC7CkC,EAAanB,GAAa,CAAC,EAAGV,EAAK,QAAS,CAC9C,OAAQC,EACR,WAAY2B,EAAaA,EAAW,QAAQ,OAAQ,EAAE,EAAIjC,EAAQ,IACpE,CAAC,EAGGmC,EAAe7C,IAAI,QAAQ,EAAG4C,CAAU,EAC5C7B,EAAK,QAAQA,EAAK,QAAQ,QAAQC,CAAM,CAAC,EAAI6B,EAC7ChB,EAAGgB,CAAY,CACjB,CAAC,CACH,CAdShC,EAAAC,GAAA,sBAiBT,SAASM,GAAUH,EAAMC,EAAMC,EAAc,CAC3C,OAAI,OAAOF,GAAS,SACX,CACL,KAAMA,EACN,KAAMC,EACN,aAAcC,CAChB,EAEKF,CACT,CATSJ,EAAAO,GAAA,aAWT,SAASK,GAAaqB,EAAQ,CAC5B,QAASzB,EAAI,EAAGC,EAAM,UAAU,OAAQD,EAAIC,EAAK,EAAED,EAAG,CACpD,IAAI0B,EAAY,UAAU1B,CAAC,EAC3B,GAAI,OAAO0B,GAAc,SAEvB,QADIC,EAAO,OAAO,KAAKD,CAAS,EACvBE,EAAI,EAAGC,EAASF,EAAK,OAAQC,EAAIC,EAAQ,EAAED,EAAG,CACrD,IAAIE,EAAIH,EAAKC,CAAC,EACVF,EAAUI,CAAC,IAAM,SACnBL,EAAOK,CAAC,EAAIJ,EAAUI,CAAC,EAE3B,CAEJ,CACA,OAAOL,CACT,CAdSjC,EAAAY,GAAA,gBAiBT,IAAIO,GACA,QAAQ,IAAI,YAAc,aAAa,KAAK,QAAQ,IAAI,UAAU,EACpEA,GAAQnB,EAAA,UAAW,CACjB,IAAIuC,EAAO,MAAM,UAAU,MAAM,KAAK,SAAS,EAC3C,OAAOA,EAAK,CAAC,GAAM,SACrBA,EAAK,CAAC,EAAI,WALine truncated
"names": ["require_tunnel", "__commonJSMin", "exports", "net", "tls", "http", "https", "events", "assert", "util", "httpOverHttp", "httpsOverHttp", "httpOverHttps", "httpsOverHttps", "options", "agent", "TunnelingAgent", "__name", "createSecureSocket", "self", "socket", "host", "port", "localAddress", "toOptions", "i", "len", "pending", "req", "mergeOptions", "onFree", "onCloseOrRemove", "err", "cb", "placeholder", "connectOptions", "debug", "connectReq", "onResponse", "onUpgrade", "onConnect", "onError", "res", "head", "error", "cause", "pos", "hostHeader", "tlsOptions", "secureSocket", "target", "overrides", "keys", "j", "keyLen", "k", "args", "require_tunnel", "__commonJSMin", "exports", "module", "require_symbols", "__commonJSMin", "exports", "module", "require_errors", "__commonJSMin", "exports", "module", "kUndiciError", "UndiciError", "__name", "message", "instance", "kConnectTimeoutError", "ConnectTimeoutError", "kHeadersTimeoutError", "HeadersTimeoutError", "kHeadersOverflowError", "HeadersOverflowError", "kBodyTimeoutError", "BodyTimeoutError", "kResponseStatusCodeError", "ResponseStatusCodeError", "statusCode", "headers", "body", "kInvalidArgumentError", "InvalidArgumentError", "kInvalidReturnValueError", "InvalidReturnValueError", "kAbortError", "AbortError", "kRequestAbortedError", "RequestAbortedError", "kInformationalError", "InformationalError", "kRequestContentLengthMismatchError", "RequestContentLengthMismatchError", "kResponseContentLengthMismatchError", "ResponseContentLengthMismatchError", "kClientDestroyedError", "ClientDestroyedError", "kClientClosedError", "ClientClosedError", "kSocketError", "SocketError", "socket", "kNotSupportedError", "NotSupportedError", "kBalancedPoolMissingUpstreamError", "BalancedPoolMissingUpstreamError", "kHTTPParserError", "HTTPParserError", "code", "data", "kResponseExceededMaxSizeError", "ResponseExceededMaxSizeError", "kRequestRetryError", "RequestRetryError", "kResponseError", "ResponseError", "kSecureProxyConnectionError", "SecureProxyConnectionError", "cause", "options", "kMessageSizeExceededError", "MessageSizeExceededError", "require_constants", "__commonJSMin", "exports", "module", "headerNameLowerCasedRecord", "wellknownHeaderNames", "i", "key", "lowerCasedKey", "require_tree", "__commonJSMin", "exports", "module", "wellknownHeaderNames", "headerNameLowerCasedRecord", "TstNode", "_TstNode", "__name", "key", "value", "index", "length", "node", "code", "keylength", "TernarySearchTree", "tree", "i", "require_util", "__commonJSMin", "exports", "module", "assert", "kDestroyed", "kBodyUsed", "kListeners", "kBody", "IncomingMessage", "stream", "net", "Blob", "nodeUtil", "stringify", "EE", "InvalidArgumentError", "headerNameLowerCasedRecord", "tree", "nodeMajor", "nodeMinor", "v", "BodyAsyncIterable", "__name", "body", "wrapRequestBody", "isStream", "bodyLength", "isIterable", "nop", "obj", "isBlobLike", "object", "sTag", "buildURL", "url", "queryParams", "stringified", "isValidPort", "port", "value", "isHttpOrHttpsPrefixed", "parseURL", "origin", "path", "parseOrigin", "getHostname", "host", "idx", "getServerName", "servername", "deepClone", "isAsyncIterable", "state", "isBuffer", "isDestroyed", "destroy", "err", "KEEPALIVE_TIMEOUT_EXPR", "parseKeepAliveTimeout", "val", "m", "headerNameToString", "bufferToLowerCasedHeaderName", "parseHeaders", "headers", "i", "key", "headersValue", "x", "parseRawHeaders", "len", "ret", "hasContentLength", "contentDispositionIdx", "kLen", "n", "buffer", "validateHandler", "handler", "method", "upgrade", "isDisturbed", "isErrored", "isReadable", "getSocketInfo", "socket", "ReadableStreamFrom", "iterable", "iterator", "controller", "done", "buf", "reason", "isFormDataLike", "addAbortListener", "signal", "listener", "hasToWellFormed", "hasIsWellFormed", "toUSVString", "isUSVString", "isTokenCharCode", "c", "isValidHTTPToken", "characters", "headerCharRegex", "isValidHeaderValue", "parseRangeHeader", "range", "addListener", "name", "removeAllListeners", "errorRequest", "client", "request", "kEnumerableProperty", "normalizedMethodRecordsBase", "normalizedMethodRecords", "require_diagnostics", "__commonJSMin", "exports", "module", "diagnosticsChannel", "util", "undiciDebugLog", "fetchDebuglog", "websocketDebuglog", "isClientSet", "channels", "debuglog", "evt", "version", "protocol", "port", "host", "error", "method", "path", "origin", "statusCode", "address", "websocket", "code", "reason", "err", "require_request", "__commonJSMin", "exports", "module", "InvalidArgumentError", "NotSupportedError", "assert", "isValidHTTPToken", "isValidHeaderValue", "isStream", "destroy", "isBuffer", "isFormDataLike", "isIterable", "isBlobLike", "buildURL", "validateHandler", "getServerName", "normalizedMethodRecords", "channels", "headerNameLowerCasedRecord", "invalidPathRegex", "kHandler", "Request", "__name", "origin", "path", "method", "body", "headers", "query", "idempotent", "blocking", "upgrade", "headersTimeout", "bodyTimeout", "resetLine truncated
}
Generated Vendored
-74
View File
@@ -1,74 +0,0 @@
require('./sourcemap-register.js');(()=>{var __webpack_modules__={7351:function(p,a,r){"use strict";var d=this&&this.__createBinding||(Object.create?function(p,a,r,d){if(d===undefined)d=r;Object.defineProperty(p,d,{enumerable:true,get:function(){return a[r]}})}:function(p,a,r,d){if(d===undefined)d=r;p[d]=a[r]});var i=this&&this.__setModuleDefault||(Object.create?function(p,a){Object.defineProperty(p,"default",{enumerable:true,value:a})}:function(p,a){p["default"]=a});var b=this&&this.__importStar||function(p){if(p&&p.__esModule)return p;var a={};if(p!=null)for(var r in p)if(r!=="default"&&Object.hasOwnProperty.call(p,r))d(a,p,r);i(a,p);return a};Object.defineProperty(a,"__esModule",{value:true});a.issue=a.issueCommand=void 0;const c=b(r(2037));const M=r(5278);function issueCommand(p,a,r){const d=new Command(p,a,r);process.stdout.write(d.toString()+c.EOL)}a.issueCommand=issueCommand;function issue(p,a=""){issueCommand(p,{},a)}a.issue=issue;const z="::";class Command{constructor(p,a,r){if(!p){p="missing.command"}this.command=p;this.properties=a;this.message=r}toString(){let p=z+this.command;if(this.properties&&Object.keys(this.properties).length>0){p+=" ";let a=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const d=this.properties[r];if(d){if(a){a=false}else{p+=","}p+=`${r}=${escapeProperty(d)}`}}}}p+=`${z}${escapeData(this.message)}`;return p}}function escapeData(p){return M.toCommandValue(p).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(p){return M.toCommandValue(p).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(p,a,r){"use strict";var d=this&&this.__createBinding||(Object.create?function(p,a,r,d){if(d===undefined)d=r;Object.defineProperty(p,d,{enumerable:true,get:function(){return a[r]}})}:function(p,a,r,d){if(d===undefined)d=r;p[d]=a[r]});var i=this&&this.__setModuleDefault||(Object.create?function(p,a){Object.defineProperty(p,"default",{enumerable:true,value:a})}:function(p,a){p["default"]=a});var b=this&&this.__importStar||function(p){if(p&&p.__esModule)return p;var a={};if(p!=null)for(var r in p)if(r!=="default"&&Object.hasOwnProperty.call(p,r))d(a,p,r);i(a,p);return a};var c=this&&this.__awaiter||function(p,a,r,d){function adopt(p){return p instanceof r?p:new r((function(a){a(p)}))}return new(r||(r=Promise))((function(r,i){function fulfilled(p){try{step(d.next(p))}catch(p){i(p)}}function rejected(p){try{step(d["throw"](p))}catch(p){i(p)}}function step(p){p.done?r(p.value):adopt(p.value).then(fulfilled,rejected)}step((d=d.apply(p,a||[])).next())}))};Object.defineProperty(a,"__esModule",{value:true});a.getIDToken=a.getState=a.saveState=a.group=a.endGroup=a.startGroup=a.info=a.notice=a.warning=a.error=a.debug=a.isDebug=a.setFailed=a.setCommandEcho=a.setOutput=a.getBooleanInput=a.getMultilineInput=a.getInput=a.addPath=a.setSecret=a.exportVariable=a.ExitCode=void 0;const M=r(7351);const z=r(717);const u=r(5278);const O=b(r(2037));const l=b(r(1017));const A=r(8041);var m;(function(p){p[p["Success"]=0]="Success";p[p["Failure"]=1]="Failure"})(m=a.ExitCode||(a.ExitCode={}));function exportVariable(p,a){const r=u.toCommandValue(a);process.env[p]=r;const d=process.env["GITHUB_ENV"]||"";if(d){return z.issueFileCommand("ENV",z.prepareKeyValueMessage(p,a))}M.issueCommand("set-env",{name:p},r)}a.exportVariable=exportVariable;function setSecret(p){M.issueCommand("add-mask",{},p)}a.setSecret=setSecret;function addPath(p){const a=process.env["GITHUB_PATH"]||"";if(a){z.issueFileCommand("PATH",p)}else{M.issueCommand("add-path",{},p)}process.env["PATH"]=`${p}${l.delimiter}${process.env["PATH"]}`}a.addPath=addPath;function getInput(p,a){const r=process.env[`INPUT_${p.replace(/ /g,"_").toUpperCase()}`]||"";if(a&&a.required&&!r){throw new Error(`Input required and not supplied: ${p}`)}if(a&&a.trimWhitespace===false){return r}return r.trim()}a.getInput=getInput;function getMultilineInput(p,a){const r=getInput(p,a).split("\n").filter((p=>p!==""));if(a&&a.trimWhitespace===false){return r}return r.map((p=>p.trim()))}a.getMultilineInput=getMultilineInput;function getBooleanInput(p,a){const r=["true","True","TRUE"];const d=["false","False","FALSE"];const i=getInput(p,a);if(r.includes(i))return true;if(d.includes(i))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${p}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}a.getBooleanInput=getBooleanInput;function setOutput(p,a){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return z.issueFileCommand("OUTPUT",z.prepareKeyValueMessage(p,a))}process.stdout.write(O.EOL);M.issueCommand("set-output",{name:p},u.toCommandValue(a))}a.setOutput=setOutput;function setCommandEcho(p){M.issue("echo",p?"on":"off")}a.setCommandEcho=setCommandEcho;function setFailed(p){process.exitCode=m.Failure;error(p)}a.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}a.isDeLine truncated
/*!
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/function isObject(p){return Object.prototype.toString.call(p)==="[object Object]"}function isPlainObject(p){var a,r;if(isObject(p)===false)return false;a=p.constructor;if(a===undefined)return true;r=a.prototype;if(isObject(r)===false)return false;if(r.hasOwnProperty("isPrototypeOf")===false){return false}return true}a.isPlainObject=isPlainObject},4329:p=>{"use strict";function e(p){this.message=p}e.prototype=new Error,e.prototype.name="InvalidCharacterError";var a="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(p){var a=String(p).replace(/=+$/,"");if(a.length%4==1)throw new e("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,d,i=0,b=0,c="";d=a.charAt(b++);~d&&(r=i%4?64*r+d:d,i++%4)?c+=String.fromCharCode(255&r>>(-2*i&6)):0)d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(d);return c};function t(p){var r=p.replace(/-/g,"+").replace(/_/g,"/");switch(r.length%4){case 0:break;case 2:r+="==";break;case 3:r+="=";break;default:throw"Illegal base64url string!"}try{return function(p){return decodeURIComponent(a(p).replace(/(.)/g,(function(p,a){var r=a.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r})))}(r)}catch(p){return a(r)}}function n(p){this.message=p}function o(p,a){if("string"!=typeof p)throw new n("Invalid token specified");var r=!0===(a=a||{}).header?0:1;try{return JSON.parse(t(p.split(".")[r]))}catch(p){throw new n("Invalid token specified: "+p.message)}}n.prototype=new Error,n.prototype.name="InvalidTokenError";const r=o;r.default=o,r.InvalidTokenError=n,p.exports=r},7129:(p,a,r)=>{"use strict";const d=r(665);const i=Symbol("max");const b=Symbol("length");const c=Symbol("lengthCalculator");const M=Symbol("allowStale");const z=Symbol("maxAge");const u=Symbol("dispose");const O=Symbol("noDisposeOnSet");const l=Symbol("lruList");const A=Symbol("cache");const m=Symbol("updateAgeOnGet");const naiveLength=()=>1;class LRUCache{constructor(p){if(typeof p==="number")p={max:p};if(!p)p={};if(p.max&&(typeof p.max!=="number"||p.max<0))throw new TypeError("max must be a non-negative number");const a=this[i]=p.max||Infinity;const r=p.length||naiveLength;this[c]=typeof r!=="function"?naiveLength:r;this[M]=p.stale||false;if(p.maxAge&&typeof p.maxAge!=="number")throw new TypeError("maxAge must be a number");this[z]=p.maxAge||0;this[u]=p.dispose;this[O]=p.noDisposeOnSet||false;this[m]=p.updateAgeOnGet||false;this.reset()}set max(p){if(typeof p!=="number"||p<0)throw new TypeError("max must be a non-negative number");this[i]=p||Infinity;trim(this)}get max(){return this[i]}set allowStale(p){this[M]=!!p}get allowStale(){return this[M]}set maxAge(p){if(typeof p!=="number")throw new TypeError("maxAge must be a non-negative number");this[z]=p;trim(this)}get maxAge(){return this[z]}set lengthCalculator(p){if(typeof p!=="function")p=naiveLength;if(p!==this[c]){this[c]=p;this[b]=0;this[l].forEach((p=>{p.length=this[c](p.value,p.key);this[b]+=p.length}))}trim(this)}get lengthCalculator(){return this[c]}get length(){return this[b]}get itemCount(){return this[l].length}rforEach(p,a){a=a||this;for(let r=this[l].tail;r!==null;){const d=r.prev;forEachStep(this,p,r,a);r=d}}forEach(p,a){a=a||this;for(let r=this[l].head;r!==null;){const d=r.next;forEachStep(this,p,r,a);r=d}}keys(){return this[l].toArray().map((p=>p.key))}values(){return this[l].toArray().map((p=>p.value))}reset(){if(this[u]&&this[l]&&this[l].length){this[l].forEach((p=>this[u](p.key,p.value)))}this[A]=new Map;this[l]=new d;this[b]=0}dump(){return this[l].map((p=>isStale(this,p)?false:{k:p.key,v:p.value,e:p.now+(p.maxAge||0)})).toArray().filter((p=>p))}dumpLru(){return this[l]}set(p,a,r){r=r||this[z];if(r&&typeof r!=="number")throw new TypeError("maxAge must be a number");const d=r?Date.now():0;const M=this[c](a,p);if(this[A].has(p)){if(M>this[i]){del(this,this[A].get(p));return false}const c=this[A].get(p);const z=c.value;if(this[u]){if(!this[O])this[u](p,z.value)}z.now=d;z.maxAge=r;z.value=a;this[b]+=M-z.length;z.length=M;this.get(p);trim(this);return true}const m=new Entry(p,a,M,d,r);if(m.length>this[i]){if(this[u])this[u](p,a);return false}this[b]+=m.length;this[l].unshift(m);this[A].set(p,this[l].head);trim(this);return true}has(p){if(!this[A].has(p))return false;const a=this[A].get(p).value;return!isStale(this,a)}get(p){return get(this,p,true)}peek(p){return get(this,p,false)}pop(){const p=this[l].tail;if(!p)return null;del(this,p);return p.value}del(p){del(this,this[A].get(p))}load(p){this.reset();const a=Date.now();for(let r=p.length-1;r>=0;r--){const d=p[r];const i=d.e||0;if(i===0)this.set(d.k,d.v);else{const p=i-a;if(p>0){this.set(d.k,d.v,p)}}}}prune(){this[A].forEach(((p,a)=>get(this,a,false)))}}const get=(p,a,r)=>{const d=p[A].get(a);if(d){const a=d.value;if(isStale(p,a)){del(p,d);if(!p[M])return undefined}else{if(r){if(p[m])d.value.now=Date.now();p[l].unshiftNode(d)}}return a.value}};const isStale=(p,a)=>{if(!a||!a.maxAge&&!p[z])return false;const Line truncated
//! moment-timezone.js
//! version : 0.5.43
//! Copyright (c) JS Foundation and other contributors
//! license : MIT
//! github.com/moment/moment-timezone
(function(a,d){"use strict";if(true&&p.exports){p.exports=d(r(9623))}else if(typeof define==="function"&&define.amd){define(["moment"],d)}else{d(a.moment)}})(this,(function(p){"use strict";if(p.version===undefined&&p.default){p=p.default}var a="0.5.43",r={},d={},i={},b={},c={},M;if(!p||typeof p.version!=="string"){logError("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/")}var z=p.version.split("."),u=+z[0],O=+z[1];if(u<2||u===2&&O<6){logError("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+p.version+". See momentjs.com")}function charCodeToInt(p){if(p>96){return p-87}else if(p>64){return p-29}return p-48}function unpackBase60(p){var a=0,r=p.split("."),d=r[0],i=r[1]||"",b=1,c,M=0,z=1;if(p.charCodeAt(0)===45){a=1;z=-1}for(a;a<d.length;a++){c=charCodeToInt(d.charCodeAt(a));M=60*M+c}for(a=0;a<i.length;a++){b=b/60;c=charCodeToInt(i.charCodeAt(a));M+=c*b}return M*z}function arrayToInt(p){for(var a=0;a<p.length;a++){p[a]=unpackBase60(p[a])}}function intToUntil(p,a){for(var r=0;r<a;r++){p[r]=Math.round((p[r-1]||0)+p[r]*6e4)}p[a-1]=Infinity}function mapIndices(p,a){var r=[],d;for(d=0;d<a.length;d++){r[d]=p[a[d]]}return r}function unpack(p){var a=p.split("|"),r=a[2].split(" "),d=a[3].split(""),i=a[4].split(" ");arrayToInt(r);arrayToInt(d);arrayToInt(i);intToUntil(i,d.length);return{name:a[0],abbrs:mapIndices(a[1].split(" "),d),offsets:mapIndices(r,d),untils:i,population:a[5]|0}}function Zone(p){if(p){this._set(unpack(p))}}Zone.prototype={_set:function(p){this.name=p.name;this.abbrs=p.abbrs;this.untils=p.untils;this.offsets=p.offsets;this.population=p.population},_index:function(p){var a=+p,r=this.untils,d;for(d=0;d<r.length;d++){if(a<r[d]){return d}}},countries:function(){var p=this.name;return Object.keys(i).filter((function(a){return i[a].zones.indexOf(p)!==-1}))},parse:function(p){var a=+p,r=this.offsets,d=this.untils,i=d.length-1,b,c,M,z;for(z=0;z<i;z++){b=r[z];c=r[z+1];M=r[z?z-1:z];if(b<c&&tz.moveAmbiguousForward){b=c}else if(b>M&&tz.moveInvalidForward){b=M}if(a<d[z]-b*6e4){return r[z]}}return r[i]},abbr:function(p){return this.abbrs[this._index(p)]},offset:function(p){logError("zone.offset has been deprecated in favor of zone.utcOffset");return this.offsets[this._index(p)]},utcOffset:function(p){return this.offsets[this._index(p)]}};function Country(p,a){this.name=p;this.zones=a}function OffsetAt(p){var a=p.toTimeString();var r=a.match(/\([a-z ]+\)/i);if(r&&r[0]){r=r[0].match(/[A-Z]/g);r=r?r.join(""):undefined}else{r=a.match(/[A-Z]{3,5}/g);r=r?r[0]:undefined}if(r==="GMT"){r=undefined}this.at=+p;this.abbr=r;this.offset=p.getTimezoneOffset()}function ZoneScore(p){this.zone=p;this.offsetScore=0;this.abbrScore=0}ZoneScore.prototype.scoreOffsetAt=function(p){this.offsetScore+=Math.abs(this.zone.utcOffset(p.at)-p.offset);if(this.zone.abbr(p.at).replace(/[^A-Z]/g,"")!==p.abbr){this.abbrScore++}};function findChange(p,a){var r,d;while(d=((a.at-p.at)/12e4|0)*6e4){r=new OffsetAt(new Date(p.at+d));if(r.offset===p.offset){p=r}else{a=r}}return p}function userOffsets(){var p=(new Date).getFullYear()-2,a=new OffsetAt(new Date(p,0,1)),r=[a],d,i,b;for(b=1;b<48;b++){i=new OffsetAt(new Date(p,b,1));if(i.offset!==a.offset){d=findChange(a,i);r.push(d);r.push(new OffsetAt(new Date(d.at+6e4)))}a=i}for(b=0;b<4;b++){r.push(new OffsetAt(new Date(p+b,0,1)));r.push(new OffsetAt(new Date(p+b,6,1)))}return r}function sortZoneScores(p,a){if(p.offsetScore!==a.offsetScore){return p.offsetScore-a.offsetScore}if(p.abbrScore!==a.abbrScore){return p.abbrScore-a.abbrScore}if(p.zone.population!==a.zone.population){return a.zone.population-p.zone.population}return a.zone.name.localeCompare(p.zone.name)}function addToGuesses(p,a){var r,d;arrayToInt(a);for(r=0;r<a.length;r++){d=a[r];c[d]=c[d]||{};c[d][p]=true}}function guessesForUserOffsets(p){var a=p.length,r={},d=[],i,M,z;for(i=0;i<a;i++){z=c[p[i].offset]||{};for(M in z){if(z.hasOwnProperty(M)){r[M]=true}}}for(i in r){if(r.hasOwnProperty(i)){d.push(b[i])}}return d}function rebuildGuess(){try{var p=Intl.DateTimeFormat().resolvedOptions().timeZone;if(p&&p.length>3){var a=b[normalizeName(p)];if(a){return a}logError("Moment Timezone found "+p+" from the Intl api, but did not have that data loaded.")}}catch(p){}var r=userOffsets(),d=r.length,i=guessesForUserOffsets(r),c=[],M,z,u;for(z=0;z<i.length;z++){M=new ZoneScore(getZone(i[z]),d);for(u=0;u<d;u++){M.scoreOffsetAt(r[u])}c.push(M)}c.sort(sortZoneScores);return c.length>0?c[0].zone.name:undefined}function guess(p){if(!M||p){M=rebuildGuess()}return M}function normalizeName(p){return(p||"").toLowerCase().replace(/\//g,"_")}function addZone(p){var a,d,i,c;if(typeof p==="string"){p=[p]}for(a=0;a<p.length;a++){i=p[a].split("|");d=i[0];c=normalizeName(d);r[c]=p[a];b[c]=d;addToGuesses(c,i[2].split(" "))}}function getZone(p,a){p=normalizeName(p);var i=r[p];var c;if(i instanceof Zone){return i}if(typeof i==="string"){i=new Zone(i);r[p]=i;return i}if(d[p]&&a!==getZone&&(c=getZone(d[p],getZone))Line truncated
//! moment.js
//! version : 2.29.4
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
(function(a,r){true?p.exports=r():0})(this,(function(){"use strict";var a;function hooks(){return a.apply(null,arguments)}function setHookCallback(p){a=p}function isArray(p){return p instanceof Array||Object.prototype.toString.call(p)==="[object Array]"}function isObject(p){return p!=null&&Object.prototype.toString.call(p)==="[object Object]"}function hasOwnProp(p,a){return Object.prototype.hasOwnProperty.call(p,a)}function isObjectEmpty(p){if(Object.getOwnPropertyNames){return Object.getOwnPropertyNames(p).length===0}else{var a;for(a in p){if(hasOwnProp(p,a)){return false}}return true}}function isUndefined(p){return p===void 0}function isNumber(p){return typeof p==="number"||Object.prototype.toString.call(p)==="[object Number]"}function isDate(p){return p instanceof Date||Object.prototype.toString.call(p)==="[object Date]"}function map(p,a){var r=[],d,i=p.length;for(d=0;d<i;++d){r.push(a(p[d],d))}return r}function extend(p,a){for(var r in a){if(hasOwnProp(a,r)){p[r]=a[r]}}if(hasOwnProp(a,"toString")){p.toString=a.toString}if(hasOwnProp(a,"valueOf")){p.valueOf=a.valueOf}return p}function createUTC(p,a,r,d){return createLocalOrUTC(p,a,r,d,true).utc()}function defaultParsingFlags(){return{empty:false,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:false,invalidEra:null,invalidMonth:null,invalidFormat:false,userInvalidated:false,iso:false,parsedDateParts:[],era:null,meridiem:null,rfc2822:false,weekdayMismatch:false}}function getParsingFlags(p){if(p._pf==null){p._pf=defaultParsingFlags()}return p._pf}var r;if(Array.prototype.some){r=Array.prototype.some}else{r=function(p){var a=Object(this),r=a.length>>>0,d;for(d=0;d<r;d++){if(d in a&&p.call(this,a[d],d,a)){return true}}return false}}function isValid(p){if(p._isValid==null){var a=getParsingFlags(p),d=r.call(a.parsedDateParts,(function(p){return p!=null})),i=!isNaN(p._d.getTime())&&a.overflow<0&&!a.empty&&!a.invalidEra&&!a.invalidMonth&&!a.invalidWeekday&&!a.weekdayMismatch&&!a.nullInput&&!a.invalidFormat&&!a.userInvalidated&&(!a.meridiem||a.meridiem&&d);if(p._strict){i=i&&a.charsLeftOver===0&&a.unusedTokens.length===0&&a.bigHour===undefined}if(Object.isFrozen==null||!Object.isFrozen(p)){p._isValid=i}else{return i}}return p._isValid}function createInvalid(p){var a=createUTC(NaN);if(p!=null){extend(getParsingFlags(a),p)}else{getParsingFlags(a).userInvalidated=true}return a}var d=hooks.momentProperties=[],i=false;function copyConfig(p,a){var r,i,b,c=d.length;if(!isUndefined(a._isAMomentObject)){p._isAMomentObject=a._isAMomentObject}if(!isUndefined(a._i)){p._i=a._i}if(!isUndefined(a._f)){p._f=a._f}if(!isUndefined(a._l)){p._l=a._l}if(!isUndefined(a._strict)){p._strict=a._strict}if(!isUndefined(a._tzm)){p._tzm=a._tzm}if(!isUndefined(a._isUTC)){p._isUTC=a._isUTC}if(!isUndefined(a._offset)){p._offset=a._offset}if(!isUndefined(a._pf)){p._pf=getParsingFlags(a)}if(!isUndefined(a._locale)){p._locale=a._locale}if(c>0){for(r=0;r<c;r++){i=d[r];b=a[i];if(!isUndefined(b)){p[i]=b}}}return p}function Moment(p){copyConfig(this,p);this._d=new Date(p._d!=null?p._d.getTime():NaN);if(!this.isValid()){this._d=new Date(NaN)}if(i===false){i=true;hooks.updateOffset(this);i=false}}function isMoment(p){return p instanceof Moment||p!=null&&p._isAMomentObject!=null}function warn(p){if(hooks.suppressDeprecationWarnings===false&&typeof console!=="undefined"&&console.warn){console.warn("Deprecation warning: "+p)}}function deprecate(p,a){var r=true;return extend((function(){if(hooks.deprecationHandler!=null){hooks.deprecationHandler(null,p)}if(r){var d=[],i,b,c,M=arguments.length;for(b=0;b<M;b++){i="";if(typeof arguments[b]==="object"){i+="\n["+b+"] ";for(c in arguments[0]){if(hasOwnProp(arguments[0],c)){i+=c+": "+arguments[0][c]+", "}}i=i.slice(0,-2)}else{i=arguments[b]}d.push(i)}warn(p+"\nArguments: "+Array.prototype.slice.call(d).join("")+"\n"+(new Error).stack);r=false}return a.apply(this,arguments)}),a)}var b={};function deprecateSimple(p,a){if(hooks.deprecationHandler!=null){hooks.deprecationHandler(p,a)}if(!b[p]){warn(a);b[p]=true}}hooks.suppressDeprecationWarnings=false;hooks.deprecationHandler=null;function isFunction(p){return typeof Function!=="undefined"&&p instanceof Function||Object.prototype.toString.call(p)==="[object Function]"}function set(p){var a,r;for(r in p){if(hasOwnProp(p,r)){a=p[r];if(isFunction(a)){this[r]=a}else{this["_"+r]=a}}}this._config=p;this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function mergeConfigs(p,a){var r=extend({},p),d;for(d in a){if(hasOwnProp(a,d)){if(isObject(p[d])&&isObject(a[d])){r[d]={};extend(r[d],p[d]);extend(r[d],a[d])}else if(a[d]!=null){r[d]=a[d]}else{delete r[d]}}}for(d in p){if(hasOwnProp(p,d)&&!hasOwnProp(a,d)&&isObject(p[d])){r[d]=extend({},r[d])}}return r}function Locale(p){if(p!=null){this.set(p)}}var c;if(Object.keys){c=Object.keys}else{c=function(p){var a,r=[];for(a in p){if(hasOwnProp(p,a)){r.push(a)}}return r}}var M={sameDay:Line truncated
//! moment.js
hooks.version="2.29.4";setHookCallback(createLocal);hooks.fn=Ye;hooks.min=min;hooks.max=max;hooks.now=now;hooks.utc=createUTC;hooks.unix=createUnix;hooks.months=listMonths;hooks.isDate=isDate;hooks.locale=getSetGlobalLocale;hooks.invalid=createInvalid;hooks.duration=createDuration;hooks.isMoment=isMoment;hooks.weekdays=listWeekdays;hooks.parseZone=createInZone;hooks.localeData=getLocale;hooks.isDuration=isDuration;hooks.monthsShort=listMonthsShort;hooks.weekdaysMin=listWeekdaysMin;hooks.defineLocale=defineLocale;hooks.updateLocale=updateLocale;hooks.locales=listLocales;hooks.weekdaysShort=listWeekdaysShort;hooks.normalizeUnits=normalizeUnits;hooks.relativeTimeRounding=getSetRelativeTimeRounding;hooks.relativeTimeThreshold=getSetRelativeTimeThreshold;hooks.calendarFormat=getCalendarFormat;hooks.prototype=Ye;hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};return hooks}))},467:(p,a,r)=>{"use strict";Object.defineProperty(a,"__esModule",{value:true});function _interopDefault(p){return p&&typeof p==="object"&&"default"in p?p["default"]:p}var d=_interopDefault(r(2781));var i=_interopDefault(r(3685));var b=_interopDefault(r(7310));var c=_interopDefault(r(8665));var M=_interopDefault(r(5687));var z=_interopDefault(r(9796));const u=d.Readable;const O=Symbol("buffer");const l=Symbol("type");class Blob{constructor(){this[l]="";const p=arguments[0];const a=arguments[1];const r=[];let d=0;if(p){const a=p;const i=Number(a.length);for(let p=0;p<i;p++){const i=a[p];let b;if(i instanceof Buffer){b=i}else if(ArrayBuffer.isView(i)){b=Buffer.from(i.buffer,i.byteOffset,i.byteLength)}else if(i instanceof ArrayBuffer){b=Buffer.from(i)}else if(i instanceof Blob){b=i[O]}else{b=Buffer.from(typeof i==="string"?i:String(i))}d+=b.length;r.push(b)}}this[O]=Buffer.concat(r);let i=a&&a.type!==undefined&&String(a.type).toLowerCase();if(i&&!/[^\u0020-\u007E]/.test(i)){this[l]=i}}get size(){return this[O].length}get type(){return this[l]}text(){return Promise.resolve(this[O].toString())}arrayBuffer(){const p=this[O];const a=p.buffer.slice(p.byteOffset,p.byteOffset+p.byteLength);return Promise.resolve(a)}stream(){const p=new u;p._read=function(){};p.push(this[O]);p.push(null);return p}toString(){return"[object Blob]"}slice(){const p=this.size;const a=arguments[0];const r=arguments[1];let d,i;if(a===undefined){d=0}else if(a<0){d=Math.max(p+a,0)}else{d=Math.min(a,p)}if(r===undefined){i=p}else if(r<0){i=Math.max(p+r,0)}else{i=Math.min(r,p)}const b=Math.max(i-d,0);const c=this[O];const M=c.slice(d,d+b);const z=new Blob([],{type:arguments[2]});z[O]=M;return z}}Object.defineProperties(Blob.prototype,{size:{enumerable:true},type:{enumerable:true},slice:{enumerable:true}});Object.defineProperty(Blob.prototype,Symbol.toStringTag,{value:"Blob",writable:false,enumerable:false,configurable:true});function FetchError(p,a,r){Error.call(this,p);this.message=p;this.type=a;if(r){this.code=this.errno=r.code}Error.captureStackTrace(this,this.constructor)}FetchError.prototype=Object.create(Error.prototype);FetchError.prototype.constructor=FetchError;FetchError.prototype.name="FetchError";let A;try{A=r(2877).convert}catch(p){}const m=Symbol("Body internals");const q=d.PassThrough;function Body(p){var a=this;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},i=r.size;let b=i===undefined?0:i;var c=r.timeout;let M=c===undefined?0:c;if(p==null){p=null}else if(isURLSearchParams(p)){p=Buffer.from(p.toString())}else if(isBlob(p));else if(Buffer.isBuffer(p));else if(Object.prototype.toString.call(p)==="[object ArrayBuffer]"){p=Buffer.from(p)}else if(ArrayBuffer.isView(p)){p=Buffer.from(p.buffer,p.byteOffset,p.byteLength)}else if(p instanceof d);else{p=Buffer.from(String(p))}this[m]={body:p,disturbed:false,error:null};this.size=b;this.timeout=M;if(p instanceof d){p.on("error",(function(p){const r=p.name==="AbortError"?p:new FetchError(`Invalid response body while trying to fetch ${a.url}: ${p.message}`,"system",p);a[m].error=r}))}}Body.prototype={get body(){return this[m].body},get bodyUsed(){return this[m].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(p){return p.buffer.slice(p.byteOffset,p.byteOffset+p.byteLength)}))},blob(){let p=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(a){return Object.assign(new Blob([],{type:p.toLowerCase()}),{[O]:a})}))},json(){var p=this;return consumeBody.call(this).then((function(a){try{return JSON.parse(a.toString())}catch(a){return Body.Promise.reject(new FetchError(`invalid json response body at ${p.url} reason: ${a.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(p){return p.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var p=this;return consumeBody.call(this).then((function(a){return coLine truncated
/*!
* Tmp
*
* Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
*
* MIT Licensed
*/
const d=r(7147);const i=r(2037);const b=r(1017);const c=r(6113);const M={fs:d.constants,os:i.constants};const z=r(4959);const u="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",O=/XXXXXX/,l=3,A=(M.O_CREAT||M.fs.O_CREAT)|(M.O_EXCL||M.fs.O_EXCL)|(M.O_RDWR||M.fs.O_RDWR),m=i.platform()==="win32",q=M.EBADF||M.os.errno.EBADF,h=M.ENOENT||M.os.errno.ENOENT,W=448,v=384,g="exit",R=[],L=d.rmdirSync.bind(d),_=z.sync;let N=false;function tmpName(p,a){const r=_parseArguments(p,a),i=r[0],b=r[1];try{_assertAndSanitizeOptions(i)}catch(p){return b(p)}let c=i.tries;(function _getUniqueName(){try{const p=_generateTmpName(i);d.stat(p,(function(a){if(!a){if(c-- >0)return _getUniqueName();return b(new Error("Could not get a unique tmp filename, max tries reached "+p))}b(null,p)}))}catch(p){b(p)}})()}function tmpNameSync(p){const a=_parseArguments(p),r=a[0];_assertAndSanitizeOptions(r);let i=r.tries;do{const p=_generateTmpName(r);try{d.statSync(p)}catch(a){return p}}while(i-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function file(p,a){const r=_parseArguments(p,a),i=r[0],b=r[1];tmpName(i,(function _tmpNameCreated(p,a){if(p)return b(p);d.open(a,A,i.mode||v,(function _fileCreated(p,r){if(p)return b(p);if(i.discardDescriptor){return d.close(r,(function _discardCallback(p){return b(p,a,undefined,_prepareTmpFileRemoveCallback(a,-1,i,false))}))}else{const p=i.discardDescriptor||i.detachDescriptor;b(null,a,r,_prepareTmpFileRemoveCallback(a,p?-1:r,i,false))}}))}))}function fileSync(p){const a=_parseArguments(p),r=a[0];const i=r.discardDescriptor||r.detachDescriptor;const b=tmpNameSync(r);var c=d.openSync(b,A,r.mode||v);if(r.discardDescriptor){d.closeSync(c);c=undefined}return{name:b,fd:c,removeCallback:_prepareTmpFileRemoveCallback(b,i?-1:c,r,true)}}function dir(p,a){const r=_parseArguments(p,a),i=r[0],b=r[1];tmpName(i,(function _tmpNameCreated(p,a){if(p)return b(p);d.mkdir(a,i.mode||W,(function _dirCreated(p){if(p)return b(p);b(null,a,_prepareTmpDirRemoveCallback(a,i,false))}))}))}function dirSync(p){const a=_parseArguments(p),r=a[0];const i=tmpNameSync(r);d.mkdirSync(i,r.mode||W);return{name:i,removeCallback:_prepareTmpDirRemoveCallback(i,r,true)}}function _removeFileAsync(p,a){const _handler=function(p){if(p&&!_isENOENT(p)){return a(p)}a()};if(0<=p[0])d.close(p[0],(function(){d.unlink(p[1],_handler)}));else d.unlink(p[1],_handler)}function _removeFileSync(p){let a=null;try{if(0<=p[0])d.closeSync(p[0])}catch(p){if(!_isEBADF(p)&&!_isENOENT(p))throw p}finally{try{d.unlinkSync(p[1])}catch(p){if(!_isENOENT(p))a=p}}if(a!==null){throw a}}function _prepareTmpFileRemoveCallback(p,a,r,d){const i=_prepareRemoveCallback(_removeFileSync,[a,p],d);const b=_prepareRemoveCallback(_removeFileAsync,[a,p],d,i);if(!r.keep)R.unshift(i);return d?i:b}function _prepareTmpDirRemoveCallback(p,a,r){const i=a.unsafeCleanup?z:d.rmdir.bind(d);const b=a.unsafeCleanup?_:L;const c=_prepareRemoveCallback(b,p,r);const M=_prepareRemoveCallback(i,p,r,c);if(!a.keep)R.unshift(c);return r?c:M}function _prepareRemoveCallback(p,a,r,d){let i=false;return function _cleanupCallback(b){if(!i){const c=d||_cleanupCallback;const M=R.indexOf(c);if(M>=0)R.splice(M,1);i=true;if(r||p===L||p===_){return p(a)}else{return p(a,b||function(){})}}}}function _garbageCollector(){if(!N)return;while(R.length){try{R[0]()}catch(p){}}}function _randomChars(p){let a=[],r=null;try{r=c.randomBytes(p)}catch(a){r=c.pseudoRandomBytes(p)}for(var d=0;d<p;d++){a.push(u[r[d]%u.length])}return a.join("")}function _isBlank(p){return p===null||_isUndefined(p)||!p.trim()}function _isUndefined(p){return typeof p==="undefined"}function _parseArguments(p,a){if(typeof p==="function"){return[{},p]}if(_isUndefined(p)){return[{},a]}const r={};for(const a of Object.getOwnPropertyNames(p)){r[a]=p[a]}return[r,a]}function _generateTmpName(p){const a=p.tmpdir;if(!_isUndefined(p.name))return b.join(a,p.dir,p.name);if(!_isUndefined(p.template))return b.join(a,p.dir,p.template).replace(O,_randomChars(6));const r=[p.prefix?p.prefix:"tmp","-",process.pid,"-",_randomChars(12),p.postfix?"-"+p.postfix:""].join("");return b.join(a,p.dir,r)}function _assertAndSanitizeOptions(p){p.tmpdir=_getTmpDir(p);const a=p.tmpdir;if(!_isUndefined(p.name))_assertIsRelative(p.name,"name",a);if(!_isUndefined(p.dir))_assertIsRelative(p.dir,"dir",a);if(!_isUndefined(p.template)){_assertIsRelative(p.template,"template",a);if(!p.template.match(O))throw new Error(`Invalid template, found "${p.template}".`)}if(!_isUndefined(p.tries)&&isNaN(p.tries)||p.tries<0)throw new Error(`Invalid tries, found "${p.tries}".`);p.tries=_isUndefined(p.name)?p.tries||l:1;p.keep=!!p.keep;p.detachDescriptor=!!p.detachDescriptor;p.discardDescriptor=!!p.discardDescriptor;p.unsafeCleanup=!!p.unsafeCleanup;p.dir=_isUndefined(p.dir)?"":b.relative(a,_resolvePath(p.dir,a));p.template=_isUndefined(p.template)?undefined:b.relative(a,_resolvePath(p.template,a));p.template=_isBlank(p.template)?undefined:b.relative(p.dir,p.template);p.naLine truncated
/*!
* XRegExp.build 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2012-present MIT License
*/var u=function _default(p){var a="xregexp";var r=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g;var d=p.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,r],"g",{conjunction:"or"});function deanchor(p){var a=/^(?:\(\?:\))*\^/;var r=/\$(?:\(\?:\))*$/;if(a.test(p)&&r.test(p)&&r.test(p.replace(/\\[\s\S]/g,""))){return p.replace(a,"").replace(r,"")}return p}function asXRegExp(r,d){var i=d?"x":"";return p.isRegExp(r)?r[a]&&r[a].captureNames?r:p(r.source,i):p(r,i)}function interpolate(a){return a instanceof RegExp?a:p.escape(a)}function reduceToSubpatternsObject(p,a,r){p["subpattern".concat(r)]=a;return p}function embedSubpatternAfter(p,a,r){var d=a<r.length-1;return p+(d?"{{subpattern".concat(a,"}}"):"")}p.tag=function(a){return function(r){var d,i;for(var b=arguments.length,c=new Array(b>1?b-1:0),u=1;u<b;u++){c[u-1]=arguments[u]}var O=(0,z["default"])(d=(0,M["default"])(c).call(c,interpolate)).call(d,reduceToSubpatternsObject,{});var l=(0,M["default"])(i=r.raw).call(i,embedSubpatternAfter).join("");return p.build(l,O,a)}};p.build=function(i,M,z){z=z||"";var u=(0,c["default"])(z).call(z,"x");var O=/^\(\?([\w$]+)\)/.exec(i);if(O){z=p._clipDuplicates(z+O[1])}var l={};for(var A in M){if(M.hasOwnProperty(A)){var m=asXRegExp(M[A],u);l[A]={pattern:deanchor(m.source),names:m[a].captureNames||[]}}}var q=asXRegExp(i,u);var h=0;var W;var v=0;var g=[0];var R=q[a].captureNames||[];var L=q.source.replace(d,(function(p,a,d,i,c){var M=a||d;var z;var u;var O;if(M){var A;if(!l.hasOwnProperty(M)){throw new ReferenceError("Undefined property ".concat(p))}if(a){z=R[v];g[++v]=++h;u="(?<".concat(z||M,">")}else{u="(?:"}W=h;var m=l[M].pattern.replace(r,(function(p,a,r){if(a){z=l[M].names[h-W];++h;if(z){return"(?<".concat(z,">")}}else if(r){O=+r-1;return l[M].names[O]?"\\k<".concat(l[M].names[O],">"):"\\".concat(+r+W)}return p}));return(0,b["default"])(A="".concat(u)).call(A,m,")")}if(i){z=R[v];g[++v]=++h;if(z){return"(?<".concat(z,">")}}else if(c){O=+c-1;return R[O]?"\\k<".concat(R[O],">"):"\\".concat(g[+c])}return p}));return p(L,z)}};a["default"]=u;p.exports=a.default},4811:(p,a,r)=>{"use strict";var d=r(515);var i=r(4218);i(a,"__esModule",{value:true});a["default"]=void 0;var b=d(r(9188));var c=d(r(466));var M=d(r(6611));
/*!
* XRegExp.matchRecursive 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2009-present MIT License
*/var z=function _default(p){function row(p,a,r,d){return{name:p,value:a,start:r,end:d}}p.matchRecursive=function(a,r,d,i,z){i=i||"";z=z||{};var u=(0,M["default"])(i).call(i,"g");var O=(0,M["default"])(i).call(i,"y");var l=i.replace(/y/g,"");var A=z,m=A.escapeChar;var q=z.valueNames;var h=[];var W=0;var v=0;var g=0;var R=0;var L;var _;var N;var y;var w;r=p(r,l);d=p(d,l);if(m){var E,T;if(m.length>1){throw new Error("Cannot use more than one escape character")}m=p.escape(m);w=new RegExp((0,c["default"])(E=(0,c["default"])(T="(?:".concat(m,"[\\S\\s]|(?:(?!")).call(T,p.union([r,d],"",{conjunction:"or"}).source,")[^")).call(E,m,"])+)+"),i.replace(/[^imu]+/g,""))}while(true){if(m){g+=(p.exec(a,w,g,"sticky")||[""])[0].length}N=p.exec(a,r,g);y=p.exec(a,d,g);if(N&&y){if(N.index<=y.index){y=null}else{N=null}}if(N||y){v=(N||y).index;g=v+(N||y)[0].length}else if(!W){break}if(O&&!W&&v>R){break}if(N){if(!W){L=v;_=g}++W}else if(y&&W){if(!--W){if(q){if(q[0]&&L>R){h.push(row(q[0],(0,b["default"])(a).call(a,R,L),R,L))}if(q[1]){h.push(row(q[1],(0,b["default"])(a).call(a,L,_),L,_))}if(q[2]){h.push(row(q[2],(0,b["default"])(a).call(a,_,v),_,v))}if(q[3]){h.push(row(q[3],(0,b["default"])(a).call(a,v,g),v,g))}}else{h.push((0,b["default"])(a).call(a,_,v))}R=g;if(!u){break}}}else{throw new Error("Unbalanced delimiter found in string")}if(v===g){++g}}if(u&&!O&&q&&q[0]&&a.length>R){h.push(row(q[0],(0,b["default"])(a).call(a,R),R,a.length))}return h}};a["default"]=z;p.exports=a.default},3110:(p,a,r)=>{"use strict";var d=r(515);var i=r(4218);i(a,"__esModule",{value:true});a["default"]=void 0;var b=d(r(2038));var c=d(r(5401));var M=d(r(9640));var z=d(r(7652));var u=d(r(3361));var O=d(r(9188));var l=d(r(6611));var A=d(r(466));var m=d(r(669));function _createForOfIteratorHelper(p,a){var r;if(typeof z["default"]==="undefined"||(0,M["default"])(p)==null){if((0,c["default"])(p)||(r=_unsupportedIterableToArray(p))||a&&p&&typeof p.length==="number"){if(r)p=r;var d=0;var i=function F(){};return{s:i,n:function n(){if(d>=p.length)return{done:true};return{done:false,value:p[d++]}},e:function e(p){throw p},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u=true,O=false,l;return{s:function s(){r=(0,b["default"])(p)},n:function n(){var p=r.next();u=p.done;return p},e:function e(p){O=true;l=p},f:function f(){try{if(!u&&r["return"]!=null)r["return"]()}finally{if(O)throw l}}}}function _unsupportedIterableToArray(p,a){var r;if(!p)return;if(typeof p==="string")return _arrayLikeToArray(p,a);var d=(0,O["default"])(r=Object.prototype.toString.call(p)).call(r,8,-1);if(d==="Object"&&p.constructor)d=p.constructor.name;if(d==="Map"||d==="Set")return(0,u["default"])(p);if(d==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d))return _arrayLikeToArray(p,a)}function _arrayLikeToArray(p,a){if(a==null||a>p.length)a=p.length;for(var r=0,d=new Array(a);r<a;r++){d[r]=p[r]}return d}
/*!
* XRegExp Unicode Base 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2008-present MIT License
*/var q=function _default(p){var a={};var r=p._dec;var d=p._hex;var i=p._pad4;function normalize(p){return p.replace(/[- _]+/g,"").toLowerCase()}function charCode(p){var a=/^\\[xu](.+)/.exec(p);return a?r(a[1]):p.charCodeAt(p[0]==="\\"?1:0)}function invertBmp(a){var r="";var b=-1;(0,m["default"])(p).call(p,a,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,(function(p){var a=charCode(p[1]);if(a>b+1){r+="\\u".concat(i(d(b+1)));if(a>b+2){r+="-\\u".concat(i(d(a-1)))}}b=charCode(p[2]||p[1])}));if(b<65535){r+="\\u".concat(i(d(b+1)));if(b<65534){r+="-\\uFFFF"}}return r}function cacheInvertedBmp(p){var r="b!";return a[p][r]||(a[p][r]=invertBmp(a[p].bmp))}function buildAstral(p,r){var d=a[p];var i="";if(d.bmp&&!d.isBmpLast){var b;i=(0,A["default"])(b="[".concat(d.bmp,"]")).call(b,d.astral?"|":"")}if(d.astral){i+=d.astral}if(d.isBmpLast&&d.bmp){var c;i+=(0,A["default"])(c="".concat(d.astral?"|":"","[")).call(c,d.bmp,"]")}return r?"(?:(?!".concat(i,")(?:[\ud800-\udbff][\udc00-\udfff]|[\0-￿]))"):"(?:".concat(i,")")}function cacheAstral(p,r){var d=r?"a!":"a=";return a[p][d]||(a[p][d]=buildAstral(p,r))}p.addToken(/\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/,(function(p,r,d){var i="Invalid double negation ";var b="Unknown Unicode token ";var c="Unicode token missing data ";var M="Astral mode required for Unicode token ";var z="Astral mode does not support Unicode tokens within character classes";var u=p[1]==="P"||!!p[2];var O=(0,l["default"])(d).call(d,"A");var m=normalize(p[4]||p[3]);var q=a[m];if(p[1]==="P"&&p[2]){throw new SyntaxError(i+p[0])}if(!a.hasOwnProperty(m)){throw new SyntaxError(b+p[0])}if(q.inverseOf){m=normalize(q.inverseOf);if(!a.hasOwnProperty(m)){var h;throw new ReferenceError((0,A["default"])(h="".concat(c+p[0]," -> ")).call(h,q.inverseOf))}q=a[m];u=!u}if(!(q.bmp||O)){throw new SyntaxError(M+p[0])}if(O){if(r==="class"){throw new SyntaxError(z)}return cacheAstral(m,u)}return r==="class"?u?cacheInvertedBmp(m):q.bmp:"".concat((u?"[^":"[")+q.bmp,"]")}),{scope:"all",optionalFlags:"A",leadChar:"\\"});p.addUnicodeData=function(r){var d="Unicode token requires name";var i="Unicode token has no character data ";var b=_createForOfIteratorHelper(r),c;try{for(b.s();!(c=b.n()).done;){var M=c.value;if(!M.name){throw new Error(d)}if(!(M.inverseOf||M.bmp||M.astral)){throw new Error(i+M.name)}a[normalize(M.name)]=M;if(M.alias){a[normalize(M.alias)]=M}}}catch(p){b.e(p)}finally{b.f()}p.cache.flush("patterns")};p._getUnicodeProperty=function(p){var r=normalize(p);return a[r]}};a["default"]=q;p.exports=a.default},4686:(p,a,r)=>{"use strict";var d=r(515);var i=r(4218);i(a,"__esModule",{value:true});a["default"]=void 0;var b=d(r(5826));
/*!
* XRegExp Unicode Blocks 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/var c=function _default(p){if(!p.addUnicodeData){throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks")}p.addUnicodeData(b["default"])};a["default"]=c;p.exports=a.default},1996:(p,a,r)=>{"use strict";var d=r(515);var i=r(4218);i(a,"__esModule",{value:true});a["default"]=void 0;var b=d(r(8537));
/*!
* XRegExp Unicode Categories 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/var c=function _default(p){if(!p.addUnicodeData){throw new ReferenceError("Unicode Base must be loaded before Unicode Categories")}p.addUnicodeData(b["default"])};a["default"]=c;p.exports=a.default},9250:(p,a,r)=>{"use strict";var d=r(515);var i=r(4218);i(a,"__esModule",{value:true});a["default"]=void 0;var b=d(r(616));
/*!
* XRegExp Unicode Properties 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2012-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/var c=function _default(p){if(!p.addUnicodeData){throw new ReferenceError("Unicode Base must be loaded before Unicode Properties")}var a=b["default"];a.push({name:"Assigned",inverseOf:"Cn"});p.addUnicodeData(a)};a["default"]=c;p.exports=a.default},5715:(p,a,r)=>{"use strict";var d=r(515);var i=r(4218);i(a,"__esModule",{value:true});a["default"]=void 0;var b=d(r(2524));
/*!
* XRegExp Unicode Scripts 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/var c=function _default(p){if(!p.addUnicodeData){throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts")}p.addUnicodeData(b["default"])};a["default"]=c;p.exports=a.default},7750:(p,a,r)=>{"use strict";var d=r(515);var i=r(4218);i(a,"__esModule",{value:true});a["default"]=void 0;var b=d(r(8612));var c=d(r(380));var M=d(r(4811));var z=d(r(3110));var u=d(r(4686));var O=d(r(1996));var l=d(r(9250));var A=d(r(5715));(0,c["default"])(b["default"]);(0,M["default"])(b["default"]);(0,z["default"])(b["default"]);(0,u["default"])(b["default"]);(0,O["default"])(b["default"]);(0,l["default"])(b["default"]);(0,A["default"])(b["default"]);var m=b["default"];a["default"]=m;p.exports=a.default},8612:(p,a,r)=>{"use strict";var d=r(515);var i=r(4218);i(a,"__esModule",{value:true});a["default"]=void 0;var b=d(r(2038));var c=d(r(5401));var M=d(r(9640));var z=d(r(7652));var u=d(r(3361));var O=d(r(466));var l=d(r(3781));var A=d(r(6761));var m=d(r(8135));var q=d(r(669));var h=d(r(6611));var W=d(r(1308));var v=d(r(9188));var g=d(r(8979));var R=d(r(3046));function _createForOfIteratorHelper(p,a){var r;if(typeof z["default"]==="undefined"||(0,M["default"])(p)==null){if((0,c["default"])(p)||(r=_unsupportedIterableToArray(p))||a&&p&&typeof p.length==="number"){if(r)p=r;var d=0;var i=function F(){};return{s:i,n:function n(){if(d>=p.length)return{done:true};return{done:false,value:p[d++]}},e:function e(p){throw p},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u=true,O=false,l;return{s:function s(){r=(0,b["default"])(p)},n:function n(){var p=r.next();u=p.done;return p},e:function e(p){O=true;l=p},f:function f(){try{if(!u&&r["return"]!=null)r["return"]()}finally{if(O)throw l}}}}function _unsupportedIterableToArray(p,a){var r;if(!p)return;if(typeof p==="string")return _arrayLikeToArray(p,a);var d=(0,v["default"])(r=Object.prototype.toString.call(p)).call(r,8,-1);if(d==="Object"&&p.constructor)d=p.constructor.name;if(d==="Map"||d==="Set")return(0,u["default"])(p);if(d==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d))return _arrayLikeToArray(p,a)}function _arrayLikeToArray(p,a){if(a==null||a>p.length)a=p.length;for(var r=0,d=new Array(a);r<a;r++){d[r]=p[r]}return d}
/*!
* XRegExp 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2007-present MIT License
*/var L="xregexp";var _={astral:false,namespacing:false};var N={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split};var y={};var w={};var E={};var T=[];var B="default";var S="class";var X={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/};var k=/\$(?:{([\w$]+)}|<([\w$]+)>|(\d\d?|[\s\S]))/g;var P=N.exec.call(/()??/,"")[1]===undefined;var C=(0,R["default"])(/x/)!==undefined;var x={},D=x.toString;function hasNativeFlag(p){var a=true;try{new RegExp("",p);if(p==="y"){var r=function(){return"gy"}();var d=".a".replace(new RegExp("a",r),".")==="..";if(d){a=false}}}catch(p){a=false}return a}var I=hasNativeFlag("u");var G=hasNativeFlag("y");var j={g:true,i:true,m:true,u:I,y:G};function augment(p,a,r,d,i){var b;p[L]={captureNames:a};if(i){return p}if(p.__proto__){p.__proto__=XRegExp.prototype}else{for(var c in XRegExp.prototype){p[c]=XRegExp.prototype[c]}}p[L].source=r;p[L].flags=d?(0,g["default"])(b=d.split("")).call(b).join(""):d;return p}function clipDuplicates(p){return N.replace.call(p,/([\s\S])(?=[\s\S]*\1)/g,"")}function copyRegex(p,a){var r;if(!XRegExp.isRegExp(p)){throw new TypeError("Type RegExp expected")}var d=p[L]||{};var i=getNativeFlags(p);var b="";var c="";var M=null;var z=null;a=a||{};if(a.removeG){c+="g"}if(a.removeY){c+="y"}if(c){i=N.replace.call(i,new RegExp("[".concat(c,"]+"),"g"),"")}if(a.addG){b+="g"}if(a.addY){b+="y"}if(b){i=clipDuplicates(i+b)}if(!a.isInternalOnly){if(d.source!==undefined){M=d.source}if((0,R["default"])(d)!=null){z=b?clipDuplicates((0,R["default"])(d)+b):(0,R["default"])(d)}}p=augment(new RegExp(a.source||p.source,i),hasNamedCapture(p)?(0,v["default"])(r=d.captureNames).call(r,0):null,M,z,a.isInternalOnly);return p}function dec(p){return(0,W["default"])(p,16)}function getContextualTokenSeparator(p,a,r){if(p.input[p.index-1]==="("||p.input[p.index+p[0].length]===")"||p.input[p.index-1]==="|"||p.input[p.index+p[0].length]==="|"||p.index<1||p.index+p[0].length>=p.input.length||N.test.call(/^\(\?[:=!]/,p.input.substr(p.index-3,3))||isQuantifierNext(p.input,p.index+p[0].length,r)){return""}return"(?:)"}function getNativeFlags(p){return C?(0,R["default"])(p):N.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(p))[1]}function hasNamedCapture(p){return!!(p[L]&&p[L].captureNames)}function hex(p){return(0,W["default"])(p,10).toString(16)}function isQuantifierNext(p,a,r){var d="\\(\\?#[^)]*\\)";var i="#[^#\\n]*";var b="[?*+]|{\\d+(?:,\\d*)?}";return N.test.call((0,h["default"])(r).call(r,"x")?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/,(0,v["default"])(p).call(p,a))}function isType(p,a){return D.call(p)==="[object ".concat(a,"]")}function pad4(p){while(p.length<4){p="0".concat(p)}return p}function prepareFlags(p,a){if(clipDuplicates(a)!==a){throw new SyntaxError("Invalid duplicate regex flag ".concat(a))}p=N.replace.call(p,/^\(\?([\w$]+)\)/,(function(p,r){if(N.test.call(/[gy]/,r)){throw new SyntaxError("Cannot use flag g or y in mode modifier ".concat(p))}a=clipDuplicates(a+r);return""}));var r=_createForOfIteratorHelper(a),d;try{for(r.s();!(d=r.n()).done;){var i=d.value;if(!j[i]){throw new SyntaxError("Unknown regex flag ".concat(i))}}}catch(p){r.e(p)}finally{r.f()}return{pattern:p,flags:a}}function prepareOptions(p){var a={};if(isType(p,"String")){(0,q["default"])(XRegExp).call(XRegExp,p,/[^\s,]+/,(function(p){a[p]=true}));return a}return p}function registerFlag(p){if(!/^[\w$]$/.test(p)){throw new Error("Flag must be a single character A-Za-z0-9_$")}j[p]=true}function runTokens(p,a,r,d,i){var b=T.length;var c=p[r];var M=null;var z;var u;while(b--){u=T[b];if(u.leadChar&&u.leadChar!==c||u.scope!==d&&u.scope!=="all"||u.flag&&!(0,h["default"])(a).call(a,u.flag)){continue}z=XRegExp.exec(p,u.regex,r,"sticky");if(z){M={matchLength:z[0].length,output:u.handler.call(i,z,d,a),reparse:u.reparse};break}}return M}function setAstral(p){_.astral=p}function setNamespacing(p){_.namespacing=p}function toObject(p){if(p==null){throw new TypeError("Cannot convert null or undefined to object")}return p}function XRegExp(p,a){if(XRegExp.isRegExp(p)){if(a!==undefined){throw new TypeError("Cannot supply flags when copying a RegExp")}return copyRegex(p)}p=p===undefined?"":String(p);a=a===undefined?"":String(a);if(XRegExp.isInstalled("astral")&&!(0,h["default"])(a).call(a,"A")){a+="A"}if(!E[p]){E[p]={}}if(!E[p][a]){var r={hasNamedCapture:false,captureNames:[]};var d=B;var i="";var b=0;var c;var M=prepareFlags(p,a);var z=M.pattern;var u=(0,R["default"])(M);while(b<z.length){do{c=runTokens(z,u,b,d,r);if(c&&c.reparse){z=(0,v["default"])(z).call(z,0,b)+c.output+(0,v["default"])(z).call(z,b+c.matchLength)}}while(c&&c.reparsLine truncated
//# sourceMappingURL=index.js.map
Generated Vendored
-1
View File
@@ -1 +0,0 @@
{"version":3,"sources":["../webpack:/docker-metadata-action/node_modules/@actions/core/lib/command.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/core.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/file-command.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/oidc-utils.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/path-utils.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/summary.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/utils.js","../webpack:/docker-metadata-action/node_modules/@actions/exec/lib/exec.js","../webpack:/docker-metadata-action/node_modules/@actions/exec/lib/toolrunner.js","../webpack:/docker-metadata-action/node_modules/@actions/github/lib/context.js","../webpack:/docker-metadata-action/node_modules/@actions/github/lib/github.js","../webpack:/docker-metadata-action/node_modules/@actions/github/lib/internal/utils.js","../webpack:/docker-metadata-action/node_modules/@actions/github/lib/utils.js","../webpack:/docker-metadata-action/node_modules/@actions/http-client/lib/auth.js","../webpack:/docker-metadata-action/node_modules/@actions/http-client/lib/index.js","../webpack:/docker-metadata-action/node_modules/@actions/http-client/lib/proxy.js","../webpack:/docker-metadata-action/node_modules/@actions/io/lib/io-util.js","../webpack:/docker-metadata-action/node_modules/@actions/io/lib/io.js","../webpack:/docker-metadata-action/node_modules/@actions/tool-cache/lib/manifest.js","../webpack:/docker-metadata-action/node_modules/@actions/tool-cache/lib/retry-helper.js","../webpack:/docker-metadata-action/node_modules/@actions/tool-cache/lib/tool-cache.js","../webpack:/docker-metadata-action/node_modules/@actions/tool-cache/node_modules/semver/semver.js","../webpack:/docker-metadata-action/node_modules/@actions/tool-cache/node_modules/uuid/lib/bytesToUuid.js","../webpack:/docker-metadata-action/node_modules/@actions/tool-cache/node_modules/uuid/lib/rng.js","../webpack:/docker-metadata-action/node_modules/@actions/tool-cache/node_modules/uuid/v4.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/array/is-array.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/flags.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/reduce.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/sort.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/object/create.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/parse-int.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/symbol.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/array/from.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/get-iterator.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/instance/slice.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/symbol.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/arrayLikeToArray.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/arrayWithHoles.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/interopRequireDefault.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/iterableToArrayLimit.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/nonIterableRest.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/unsuLine truncated
Generated Vendored
+4503 -643
View File
File diff suppressed because it is too large. Load diff
Generated Vendored
-1
View File
@@ -1 +0,0 @@
(()=>{var e={650:e=>{var r=Object.prototype.toString;var n=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},274:(e,r,n)=>{var t=n(339);var o=Object.prototype.hasOwnProperty;var i=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=i?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(e,r){var n=new ArraySet;for(var t=0,o=e.length;t<o;t++){n.add(e[t],r)}return n};ArraySet.prototype.size=function ArraySet_size(){return i?this._set.size:Object.getOwnPropertyNames(this._set).length};ArraySet.prototype.add=function ArraySet_add(e,r){var n=i?e:t.toSetString(e);var a=i?this.has(e):o.call(this._set,n);var u=this._array.length;if(!a||r){this._array.push(e)}if(!a){if(i){this._set.set(e,u)}else{this._set[n]=u}}};ArraySet.prototype.has=function ArraySet_has(e){if(i){return this._set.has(e)}else{var r=t.toSetString(e);return o.call(this._set,r)}};ArraySet.prototype.indexOf=function ArraySet_indexOf(e){if(i){var r=this._set.get(e);if(r>=0){return r}}else{var n=t.toSetString(e);if(o.call(this._set,n)){return this._set[n]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e<this._array.length){return this._array[e]}throw new Error("No element indexed by "+e)};ArraySet.prototype.toArray=function ArraySet_toArray(){return this._array.slice()};r.I=ArraySet},449:(e,r,n)=>{var t=n(190);var o=5;var i=1<<o;var a=i-1;var u=i;function toVLQSigned(e){return e<0?(-e<<1)+1:(e<<1)+0}function fromVLQSigned(e){var r=(e&1)===1;var n=e>>1;return r?-n:n}r.encode=function base64VLQ_encode(e){var r="";var n;var i=toVLQSigned(e);do{n=i&a;i>>>=o;if(i>0){n|=u}r+=t.encode(n)}while(i>0);return r};r.decode=function base64VLQ_decode(e,r,n){var i=e.length;var s=0;var l=0;var c,p;do{if(r>=i){throw new Error("Expected more digits in base 64 VLQ value.")}p=t.decode(e.charCodeAt(r++));if(p===-1){throw new Error("Invalid base64 digit: "+e.charAt(r-1))}c=!!(p&u);p&=a;s=s+(p<<l);l+=o}while(c);n.value=fromVLQSigned(s);n.rest=r}},190:(e,r)=>{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");r.encode=function(e){if(0<=e&&e<n.length){return n[e]}throw new TypeError("Must be between 0 and 63: "+e)};r.decode=function(e){var r=65;var n=90;var t=97;var o=122;var i=48;var a=57;var u=43;var s=47;var l=26;var c=52;if(r<=e&&e<=n){return e-r}if(t<=e&&e<=o){return e-t+l}if(i<=e&&e<=a){return e-i+c}if(e==u){return 62}if(e==s){return 63}return-1}},345:(e,r)=>{r.GREATEST_LOWER_BOUND=1;r.LEAST_UPPER_BOUND=2;function recursiveSearch(e,n,t,o,i,a){var u=Math.floor((n-e)/2)+e;var s=i(t,o[u],true);if(s===0){return u}else if(s>0){if(n-u>1){return recursiveSearch(u,n,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return n<o.length?n:-1}else{return u}}else{if(u-e>1){return recursiveSearch(e,u,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return u}else{return e<0?-1:e}}}r.search=function search(e,n,t,o){if(n.length===0){return-1}var i=recursiveSearch(-1,n.length,e,n,t,o||r.GREATEST_LOWER_BOUND);if(i<0){return-1}while(i-1>=0){if(t(n[i],n[i-1],true)!==0){break}--i}return i}},680:(e,r,n)=>{var t=n(339);function generatedPositionAfter(e,r){var n=e.generatedLine;var o=r.generatedLine;var i=e.generatedColumn;var a=r.generatedColumn;return o>n||o==n&&a>=i||t.compareByGeneratedPositionsInflated(e,r)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,r){this._array.forEach(e,r)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(t.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};r.H=MappingList},758:(e,r)=>{function swap(e,r,n){var t=e[r];e[r]=e[n];e[n]=t}function randomIntInRange(e,r){return Math.round(e+Math.random()*(r-e))}function doQuickSort(e,r,n,t){if(n<t){var o=randomIntInRange(n,t);var i=n-1;swap(e,o,t);var a=e[t];for(var u=n;u<t;u++){if(r(e[u],Line truncated
+15 -2
View File
@@ -1,9 +1,15 @@
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
}
}
group "default" {
targets = ["build"]
}
group "pre-checkin" {
targets = ["vendor-update", "format", "build"]
targets = ["vendor", "format", "build"]
}
group "validate" {
@@ -11,42 +17,49 @@ group "validate" {
}
target "build" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-update"
output = ["."]
}
target "build-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-validate"
output = ["type=cacheonly"]
}
target "format" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "format-update"
output = ["."]
}
target "lint" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "lint"
output = ["type=cacheonly"]
}
target "vendor-update" {
target "vendor" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-update"
output = ["."]
}
target "vendor-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-validate"
output = ["type=cacheonly"]
}
target "test" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "test-coverage"
output = ["./coverage"]
+52
View File
@@ -0,0 +1,52 @@
import {defineConfig} from 'eslint/config';
import js from '@eslint/js';
import tseslint from '@typescript-eslint/eslint-plugin';
import vitest from '@vitest/eslint-plugin';
import globals from 'globals';
import eslintConfigPrettier from 'eslint-config-prettier/flat';
import eslintPluginPrettier from 'eslint-plugin-prettier';
export default defineConfig([
{
ignores: ['.yarn/**/*', 'coverage/**/*', 'dist/**/*']
},
js.configs.recommended,
...tseslint.configs['flat/recommended'],
eslintConfigPrettier,
{
languageOptions: {
globals: {
...globals.node
}
}
},
{
files: ['__tests__/**'],
...vitest.configs.recommended,
languageOptions: {
globals: {
...globals.node,
...vitest.environments.env.globals
}
},
rules: {
...vitest.configs.recommended.rules,
'vitest/no-conditional-expect': 'error',
'vitest/no-disabled-tests': 0
}
},
{
plugins: {
prettier: eslintPluginPrettier
},
rules: {
'prettier/prettier': 'error',
'@typescript-eslint/no-require-imports': [
'error',
{
allowAsImport: true
}
]
}
}
]);
-31
View File
@@ -1,31 +0,0 @@
import fs from 'fs';
import os from 'os';
import path from 'path';
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-metadata-action-'));
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
GITHUB_REPOSITORY: 'docker/metadata-action',
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
}) as {
[key: string]: string;
};
module.exports = {
clearMocks: true,
testEnvironment: 'node',
moduleFileExtensions: ['js', 'ts'],
setupFiles: ['dotenv/config'],
testMatch: ['**/*.test.ts'],
transform: {
'^.+\\.ts$': 'ts-jest'
},
moduleNameMapper: {
'^csv-parse/sync': '<rootDir>/node_modules/csv-parse/dist/cjs/sync.cjs'
},
collectCoverageFrom: ['src/**/{!(main.ts),}.ts'],
coveragePathIgnorePatterns: ['lib/', 'node_modules/', '__mocks__/', '__tests__/'],
verbose: true
};
+34 -37
View File
@@ -1,13 +1,14 @@
{
"name": "docker-metadata-action",
"description": "GitHub Action to extract metadata (tags, labels) for Docker",
"main": "lib/main.js",
"type": "module",
"main": "src/main.ts",
"scripts": {
"build": "ncc build src/main.ts --source-map --minify --license licenses.txt",
"lint": "eslint src/**/*.ts __tests__/**/*.ts",
"format": "eslint --fix src/**/*.ts __tests__/**/*.ts",
"test": "jest --coverage",
"all": "yarn run build && yarn run format && yarn test"
"build": "esbuild src/main.ts --bundle --platform=node --target=node24 --format=cjs --outfile=dist/index.cjs --sourcemap --minify --keep-names && yarn run license",
"lint": "eslint --max-warnings=0 .",
"format": "eslint --fix .",
"test": "vitest run",
"license": "generate-license-file --input package.json --output dist/licenses.txt --overwrite --ci --no-spinner --eol lf"
},
"repository": {
"type": "git",
@@ -20,41 +21,37 @@
"tag",
"label"
],
"author": "Docker",
"contributors": [
{
"name": "CrazyMax",
"url": "https://crazymax.dev"
}
],
"author": "Docker Inc.",
"license": "Apache-2.0",
"packageManager": "yarn@4.15.0",
"dependencies": {
"@actions/core": "^1.10.0",
"@actions/github": "^5.1.1",
"@docker/actions-toolkit": "^0.3.0",
"@actions/core": "^3.0.1",
"@actions/github": "^9.1.1",
"@docker/actions-toolkit": "^0.100.0",
"@renovate/pep440": "^1.0.0",
"csv-parse": "^5.4.0",
"handlebars": "^4.7.7",
"moment": "^2.29.4",
"moment-timezone": "^0.5.43",
"semver": "^7.5.0"
"csv-parse": "^7.0.2",
"handlebars": "^4.7.9",
"moment": "^2.31.0",
"moment-timezone": "^0.6.3",
"semver": "^7.8.5"
},
"devDependencies": {
"@types/csv-parse": "^1.2.2",
"@types/node": "^16.18.23",
"@types/semver": "^7.3.13",
"@typescript-eslint/eslint-plugin": "^5.56.0",
"@typescript-eslint/parser": "^5.56.0",
"@vercel/ncc": "^0.36.1",
"dotenv": "^16.0.3",
"eslint": "^8.36.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-jest": "^27.2.1",
"eslint-plugin-prettier": "^4.2.1",
"jest": "^29.5.0",
"prettier": "^2.8.7",
"ts-jest": "^29.0.5",
"ts-node": "^10.9.1",
"typescript": "^4.9.5"
"@eslint/js": "^9.39.3",
"@types/node": "^24.11.0",
"@types/semver": "^7.7.1",
"@typescript-eslint/eslint-plugin": "^8.56.1",
"@typescript-eslint/parser": "^8.56.1",
"@vitest/coverage-v8": "^4.0.18",
"@vitest/eslint-plugin": "^1.6.9",
"dotenv": "^17.3.1",
"esbuild": "^0.28.0",
"eslint": "^9.39.3",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
"generate-license-file": "^4.1.1",
"globals": "^17.3.0",
"prettier": "^3.8.1",
"typescript": "^5.9.3",
"vitest": "^4.0.18"
}
}
+84 -16
View File
@@ -1,30 +1,41 @@
import * as core from '@actions/core';
import {Context} from '@actions/github/lib/context';
import {Util} from '@docker/actions-toolkit/lib/util';
import {Git} from '@docker/actions-toolkit/lib/git';
import {GitHub} from '@docker/actions-toolkit/lib/github';
import {Util} from '@docker/actions-toolkit/lib/util.js';
import {Git} from '@docker/actions-toolkit/lib/git.js';
import {GitHub} from '@docker/actions-toolkit/lib/github/github.js';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
type GithubContext = typeof GitHub.context;
export interface Context extends GithubContext {
commitDate: Date;
}
export interface Inputs {
context: ContextSource;
context: string;
images: string[];
tags: string[];
flavor: string[];
labels: string[];
annotations: string[];
sepTags: string;
sepLabels: string;
sepAnnotations: string;
bakeTarget: string;
githubToken: string;
}
export function getInputs(): Inputs {
return {
context: (core.getInput('context') || ContextSource.workflow) as ContextSource,
images: Util.getInputList('images', {ignoreComma: true}),
tags: Util.getInputList('tags', {ignoreComma: true}),
flavor: Util.getInputList('flavor', {ignoreComma: true}),
labels: Util.getInputList('labels', {ignoreComma: true}),
context: core.getInput('context') || ContextSource.workflow,
images: Util.getInputList('images', {ignoreComma: true, comment: '#', commentNoInfix: true}),
tags: Util.getInputList('tags', {ignoreComma: true, comment: '#', commentNoInfix: true}),
flavor: Util.getInputList('flavor', {ignoreComma: true, comment: '#', commentNoInfix: true}),
labels: Util.getInputList('labels', {ignoreComma: true, comment: '#', commentNoInfix: true}),
annotations: Util.getInputList('annotations', {ignoreComma: true, comment: '#', commentNoInfix: true}),
sepTags: core.getInput('sep-tags', {trimWhitespace: false}) || `\n`,
sepLabels: core.getInput('sep-labels', {trimWhitespace: false}) || `\n`,
sepAnnotations: core.getInput('sep-annotations', {trimWhitespace: false}) || `\n`,
bakeTarget: core.getInput('bake-target') || `docker-metadata-action`,
githubToken: core.getInput('github-token')
};
@@ -35,10 +46,13 @@ export enum ContextSource {
git = 'git'
}
export async function getContext(source: ContextSource): Promise<Context> {
export async function getContext(source: string, toolkit: Toolkit): Promise<Context> {
if (source.startsWith(`${ContextSource.git}:`)) {
return await getContextFromGit(source.slice(ContextSource.git.length + 1));
}
switch (source) {
case ContextSource.workflow:
return getContextFromWorkflow();
return await getContextFromWorkflow(toolkit);
case ContextSource.git:
return await getContextFromGit();
default:
@@ -46,7 +60,7 @@ export async function getContext(source: ContextSource): Promise<Context> {
}
}
function getContextFromWorkflow(): Context {
async function getContextFromWorkflow(toolkit: Toolkit): Promise<Context> {
const context = GitHub.context;
// Needs to override Git reference with pr ref instead of upstream branch ref
@@ -65,9 +79,63 @@ function getContextFromWorkflow(): Context {
}
}
return context;
return {
commitDate: await getCommitDateFromWorkflow(context.sha, toolkit),
...context
} as Context;
}
async function getContextFromGit(): Promise<Context> {
return await Git.context();
async function getContextFromGit(workdir?: string): Promise<Context> {
const ctx = await Git.context(workdir);
return {
commitDate: await Git.commitDate(ctx.sha, workdir),
...ctx
} as Context;
}
async function getCommitDateFromWorkflow(sha: string, toolkit: Toolkit): Promise<Date> {
const event = GitHub.context.payload as unknown as {
// branch push
commits?: Array<{
timestamp: string;
// commit sha
id: string;
}>;
// tags
head_commit?: {
timestamp: string;
// commit sha
id: string;
};
};
if (event.commits) {
const commitDate = event.commits.find(x => x.id === sha)?.timestamp;
if (commitDate) {
return new Date(commitDate);
}
}
if (event.head_commit) {
if (event.head_commit.id === sha) {
return new Date(event.head_commit.timestamp);
}
}
// fallback to github api for commit date
try {
const commit = await toolkit.github.octokit.rest.repos.getCommit({
owner: GitHub.context.repo.owner,
repo: GitHub.context.repo.repo,
ref: sha
});
if (commit.data.commit.committer?.date) {
return new Date(commit.data.commit.committer.date);
}
throw new Error('Committer date not found');
} catch (error) {
core.debug(`Failed to get commit date from GitHub API: ${error.message}`);
return new Date();
}
}
+51 -21
View File
@@ -1,27 +1,20 @@
import * as fs from 'fs';
import * as core from '@actions/core';
import * as actionsToolkit from '@docker/actions-toolkit';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
import {Util} from '@docker/actions-toolkit/lib/util.js';
import {getContext, getInputs, Inputs} from './context';
import {Meta, Version} from './meta';
function setOutput(name: string, value: string) {
core.setOutput(name, value);
core.exportVariable(`DOCKER_METADATA_OUTPUT_${name.replace(/\W/g, '_').toUpperCase()}`, value);
}
import {getContext, getInputs, Inputs} from './context.js';
import {Meta, Version} from './meta.js';
actionsToolkit.run(
// main
async () => {
const inputs: Inputs = getInputs();
if (inputs.images.length == 0) {
throw new Error(`images input required`);
}
const toolkit = new Toolkit({githubToken: inputs.githubToken});
const context = await getContext(inputs.context);
const context = await getContext(inputs.context, toolkit);
const repo = await toolkit.github.repoData();
const setOutput = outputEnvEnabled() ? setOutputAndEnv : core.setOutput;
await core.group(`Context info`, async () => {
core.info(`eventName: ${context.eventName}`);
@@ -32,6 +25,7 @@ actionsToolkit.run(
core.info(`actor: ${context.actor}`);
core.info(`runNumber: ${context.runNumber}`);
core.info(`runId: ${context.runId}`);
core.info(`commitDate: ${context.commitDate}`);
});
if (core.isDebug()) {
@@ -53,7 +47,7 @@ actionsToolkit.run(
setOutput('version', version.main || '');
// Docker tags
const tags: Array<string> = meta.getTags();
const tags = meta.getTags();
if (tags.length == 0) {
core.warning('No Docker tag has been generated. Check tags input.');
} else {
@@ -64,6 +58,7 @@ actionsToolkit.run(
});
}
setOutput('tags', tags.join(inputs.sepTags));
setOutput('tag-names', meta.getTags(true).join(inputs.sepTags));
// Docker labels
const labels: Array<string> = meta.getLabels();
@@ -74,18 +69,53 @@ actionsToolkit.run(
setOutput('labels', labels.join(inputs.sepLabels));
});
// Annotations
const annotationsRaw: Array<string> = meta.getAnnotations();
const annotationsLevels = process.env.DOCKER_METADATA_ANNOTATIONS_LEVELS || 'manifest';
await core.group(`Annotations`, async () => {
const annotations: Array<string> = [];
for (const level of annotationsLevels.split(',')) {
annotations.push(
...annotationsRaw.map(label => {
const v = `${level}:${label}`;
core.info(v);
return v;
})
);
}
setOutput(`annotations`, annotations.join(inputs.sepAnnotations));
});
// JSON
const jsonOutput = meta.getJSON();
const jsonOutput = meta.getJSON(annotationsLevels.split(','));
await core.group(`JSON output`, async () => {
core.info(JSON.stringify(jsonOutput, null, 2));
setOutput('json', JSON.stringify(jsonOutput));
});
// Bake file definition
const bakeFile: string = meta.getBakeFile();
await core.group(`Bake file definition`, async () => {
core.info(fs.readFileSync(bakeFile, 'utf8'));
setOutput('bake-file', bakeFile);
});
// Bake files
for (const kind of ['tags', 'labels', 'annotations:' + annotationsLevels]) {
const outputName = kind.split(':')[0];
const bakeFile: string = meta.getBakeFile(kind);
await core.group(`Bake file definition (${outputName})`, async () => {
core.info(fs.readFileSync(bakeFile, 'utf8'));
setOutput(`bake-file-${outputName}`, bakeFile);
});
}
// Bake file with tags and labels
setOutput(`bake-file`, `${meta.getBakeFileTagsLabels()}`);
}
);
function setOutputAndEnv(name: string, value: string) {
core.setOutput(name, value);
core.exportVariable(`DOCKER_METADATA_OUTPUT_${name.replace(/\W/g, '_').toUpperCase()}`, value);
}
function outputEnvEnabled(): boolean {
if (process.env.DOCKER_METADATA_SET_OUTPUT_ENV) {
return Util.parseBool(process.env.DOCKER_METADATA_SET_OUTPUT_ENV);
}
return true;
}
+207 -57
View File
@@ -5,14 +5,15 @@ import moment from 'moment-timezone';
import * as pep440 from '@renovate/pep440';
import * as semver from 'semver';
import * as core from '@actions/core';
import {Context} from '@actions/github/lib/context';
import {Context as ToolkitContext} from '@docker/actions-toolkit/lib/context';
import {GitHubRepo} from '@docker/actions-toolkit/lib/types/github';
import {Context as ToolkitContext} from '@docker/actions-toolkit/lib/context.js';
import {GitHubRepo} from '@docker/actions-toolkit/lib/types/github/github.js';
import {Inputs} from './context';
import * as icl from './image';
import * as tcl from './tag';
import * as fcl from './flavor';
import {Inputs, Context} from './context.js';
import * as icl from './image.js';
import * as tcl from './tag.js';
import * as fcl from './flavor.js';
const defaultShortShaLength = 7;
export interface Version {
main: string | undefined;
@@ -113,6 +114,7 @@ export class Meta {
}
const currentDate = this.date;
const commitDate = this.context.commitDate;
const vraw = this.setValue(
handlebars.compile(tag.attrs['pattern'])({
date: function (format, options) {
@@ -128,6 +130,20 @@ export class Meta {
}
});
return m.tz(tz).format(format);
},
commit_date: function (format, options) {
const m = moment(commitDate);
let tz = 'UTC';
Object.keys(options.hash).forEach(key => {
switch (key) {
case 'tz':
tz = options.hash[key];
break;
default:
throw new Error(`Unknown ${key} attribute`);
}
});
return m.tz(tz).format(format);
}
}),
tag
@@ -145,8 +161,20 @@ export class Meta {
if (tag.attrs['value'].length > 0) {
vraw = this.setGlobalExp(tag.attrs['value']);
} else {
vraw = this.context.ref.replace(/^refs\/tags\//g, '').replace(/\//g, '-');
vraw = this.context.ref.replace(/^refs\/tags\//g, '');
}
if (tag.attrs['match'].length > 0) {
const tmatch = vraw.match(tag.attrs['match']);
if (!tmatch) {
core.warning(`${tag.attrs['match']} does not match ${vraw}.`);
} else {
vraw = tmatch[1];
}
}
vraw = vraw.replace(/\//g, '-');
if (!semver.valid(vraw)) {
core.warning(`${vraw} is not a valid semver. More info: https://semver.org/`);
return version;
@@ -179,8 +207,20 @@ export class Meta {
if (tag.attrs['value'].length > 0) {
vraw = this.setGlobalExp(tag.attrs['value']);
} else {
vraw = this.context.ref.replace(/^refs\/tags\//g, '').replace(/\//g, '-');
vraw = this.context.ref.replace(/^refs\/tags\//g, '');
}
if (tag.attrs['match'].length > 0) {
const tmatch = vraw.match(tag.attrs['match']);
if (!tmatch) {
core.warning(`${tag.attrs['match']} does not match ${vraw}.`);
} else {
vraw = tmatch[1];
}
}
vraw = vraw.replace(/\//g, '-');
if (!pep440.valid(vraw)) {
core.warning(`${vraw} does not conform to PEP 440. More info: https://www.python.org/dev/peps/pep-0440`);
return version;
@@ -307,7 +347,7 @@ export class Meta {
let val = this.context.sha;
if (tag.attrs['format'] === tcl.ShaFormat.Short) {
val = this.context.sha.substring(0, 7);
val = Meta.shortSha(this.context.sha);
}
const vraw = this.setValue(val, tag);
@@ -336,7 +376,7 @@ export class Meta {
if (hp.body.length == 1 && hp.body[0].type == 'MustacheStatement') {
return hp.body[0]['path']['parts'].length == 1 && hp.body[0]['path']['parts'][0] == 'raw';
}
} catch (err) {
} catch {
return false;
}
return false;
@@ -356,9 +396,10 @@ export class Meta {
return val;
}
private setGlobalExp(val): string {
private setGlobalExp(val: string): string {
const context = this.context;
const currentDate = this.date;
const commitDate = this.context.commitDate;
return handlebars.compile(val)({
branch: function () {
if (!/^refs\/heads\//.test(context.ref)) {
@@ -373,7 +414,7 @@ export class Meta {
return context.ref.replace(/^refs\/tags\//g, '');
},
sha: function () {
return context.sha.substring(0, 7);
return Meta.shortSha(context.sha);
},
base_ref: function () {
if (/^refs\/tags\//.test(context.ref) && context.payload?.base_ref != undefined) {
@@ -386,6 +427,20 @@ export class Meta {
}
return '';
},
commit_date: function (format, options) {
const m = moment(commitDate);
let tz = 'UTC';
Object.keys(options.hash).forEach(key => {
switch (key) {
case 'tz':
tz = options.hash[key];
break;
default:
throw new Error(`Unknown ${key} attribute`);
}
});
return m.tz(tz).format(format);
},
is_default_branch: function () {
const branch = context.ref.replace(/^refs\/heads\//g, '');
// TODO: "base_ref" is available in the push payload but doesn't always seem to
@@ -408,6 +463,9 @@ export class Meta {
}
return 'false';
},
is_not_default_branch: function () {
return this.is_default_branch() === 'false' ? 'true' : 'false';
},
date: function (format, options) {
const m = moment(currentDate);
let tz = 'UTC';
@@ -436,26 +494,51 @@ export class Meta {
return images;
}
public getTags(): Array<string> {
public getTags(namesOnly?: boolean): Array<string> {
if (!this.version.main) {
return [];
}
if (namesOnly) {
return this.generateTags(this.version.main);
}
const tags: Array<string> = [];
for (const imageName of this.getImageNames()) {
tags.push(`${imageName}:${this.version.main}`);
for (const partial of this.version.partial) {
tags.push(`${imageName}:${partial}`);
}
if (this.version.latest) {
const latestTag = `${this.flavor.prefixLatest ? this.flavor.prefix : ''}latest${this.flavor.suffixLatest ? this.flavor.suffix : ''}`;
tags.push(`${imageName}:${Meta.sanitizeTag(latestTag)}`);
const images = this.getImageNames();
if (images.length > 0) {
for (const imageName of images) {
tags.push(...this.generateTags(this.version.main, imageName));
}
} else {
tags.push(...this.generateTags(this.version.main));
}
return tags;
}
private generateTags(version: string, imageName?: string): Array<string> {
const tags: Array<string> = [];
const prefix = imageName ? `${imageName}:` : '';
tags.push(`${prefix}${version}`);
for (const partial of this.version.partial) {
tags.push(`${prefix}${partial}`);
}
if (this.version.latest) {
const latestTag = `${this.flavor.prefixLatest ? this.flavor.prefix : ''}latest${this.flavor.suffixLatest ? this.flavor.suffix : ''}`;
tags.push(`${prefix}${Meta.sanitizeTag(latestTag)}`);
}
return tags;
}
public getLabels(): Array<string> {
const labels: Array<string> = [
return this.getOCIAnnotationsWithCustoms(this.inputs.labels);
}
public getAnnotations(): Array<string> {
return this.getOCIAnnotationsWithCustoms(this.inputs.annotations);
}
private getOCIAnnotationsWithCustoms(extra: string[]): Array<string> {
const res: Array<string> = [
`org.opencontainers.image.title=${this.repo.name || ''}`,
`org.opencontainers.image.description=${this.repo.description || ''}`,
`org.opencontainers.image.url=${this.repo.html_url || ''}`,
@@ -465,12 +548,87 @@ export class Meta {
`org.opencontainers.image.revision=${this.context.sha || ''}`,
`org.opencontainers.image.licenses=${this.repo.license?.spdx_id || ''}`
];
labels.push(...this.inputs.labels);
return labels;
extra.forEach(label => {
res.push(this.setGlobalExp(label));
});
return Array.from(
new Map<string, string>(
res
.map(label => label.split('='))
// eslint-disable-next-line @typescript-eslint/no-unused-vars
.filter(([_key, ...values]) => values.length > 0)
.map(([key, ...values]) => [key, values.join('=')] as [string, string])
)
)
.sort((a, b) => a[0].localeCompare(b[0]))
.map(([key, value]) => `${key}=${value}`);
}
public getJSON(): unknown {
public getJSON(alevels: string[]): unknown {
const annotations: Array<string> = [];
for (const level of alevels) {
annotations.push(...this.getAnnotations().map(label => `${level}:${label}`));
}
return {
tags: this.getTags(),
'tag-names': this.getTags(true),
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
if (!matches) {
return res;
}
res[matches[1]] = matches[2];
return res;
}, {}),
annotations: annotations
};
}
public getBakeFile(kind: string): string {
if (kind == 'tags') {
return this.generateBakeFile(
{
tags: this.getTags(),
args: {
DOCKER_META_IMAGES: this.getImageNames().join(','),
DOCKER_META_VERSION: this.version.main
}
},
kind
);
} else if (kind == 'labels') {
return this.generateBakeFile(
{
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
if (!matches) {
return res;
}
res[matches[1]] = matches[2];
return res;
}, {})
},
kind
);
} else if (kind.startsWith('annotations:')) {
const name = kind.split(':')[0];
const annotations: Array<string> = [];
for (const level of kind.split(':')[1].split(',')) {
annotations.push(...this.getAnnotations().map(label => `${level}:${label}`));
}
return this.generateBakeFile(
{
annotations: annotations
},
name
);
}
throw new Error(`Unknown bake file type: ${kind}`);
}
public getBakeFileTagsLabels(): string {
return this.generateBakeFile({
tags: this.getTags(),
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
@@ -479,39 +637,17 @@ export class Meta {
}
res[matches[1]] = matches[2];
return res;
}, {})
};
}, {}),
args: {
DOCKER_META_IMAGES: this.getImageNames().join(','),
DOCKER_META_VERSION: this.version.main
}
});
}
public getBakeFile(): string {
const bakeFile = path.join(ToolkitContext.tmpDir(), 'docker-metadata-action-bake.json');
fs.writeFileSync(
bakeFile,
JSON.stringify(
{
target: {
[this.inputs.bakeTarget]: {
tags: this.getTags(),
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
if (!matches) {
return res;
}
res[matches[1]] = matches[2];
return res;
}, {}),
args: {
DOCKER_META_IMAGES: this.getImageNames().join(','),
DOCKER_META_VERSION: this.version.main
}
}
}
},
null,
2
)
);
private generateBakeFile(dt, suffix?: string): string {
const bakeFile = path.join(ToolkitContext.tmpDir(), `docker-metadata-action-bake${suffix ? `-${suffix}` : ''}.json`);
fs.writeFileSync(bakeFile, JSON.stringify({target: {[this.inputs.bakeTarget]: dt}}, null, 2));
return bakeFile;
}
@@ -522,4 +658,18 @@ export class Meta {
private static sanitizeTag(tag: string): string {
return tag.replace(/[^a-zA-Z0-9._-]+/g, '-');
}
private static shortSha(sha: string): string {
let shortShaLength = defaultShortShaLength;
if (process.env.DOCKER_METADATA_SHORT_SHA_LENGTH) {
if (isNaN(Number(process.env.DOCKER_METADATA_SHORT_SHA_LENGTH))) {
throw new Error(`DOCKER_METADATA_SHORT_SHA_LENGTH is not a valid number: ${process.env.DOCKER_METADATA_SHORT_SHA_LENGTH}`);
}
shortShaLength = Number(process.env.DOCKER_METADATA_SHORT_SHA_LENGTH);
}
if (shortShaLength >= sha.length) {
return sha;
}
return sha.substring(0, shortShaLength);
}
}
+5 -2
View File
@@ -104,10 +104,10 @@ export function Parse(s: string): Tag {
const value = parts[1];
switch (key) {
case 'type': {
if (!Object.values(Type).includes(value)) {
if (!Object.values(Type).includes(value as Type)) {
throw new Error(`Unknown tag type attribute: ${value}`);
}
tag.type = value;
tag.type = value as Type;
break;
}
default: {
@@ -137,6 +137,9 @@ export function Parse(s: string): Tag {
if (!Object.prototype.hasOwnProperty.call(tag.attrs, 'value')) {
tag.attrs['value'] = '';
}
if (!Object.prototype.hasOwnProperty.call(tag.attrs, 'match')) {
tag.attrs['match'] = '';
}
break;
}
case Type.Match: {
+2
View File
@@ -4,9 +4,11 @@ RUN apk add --no-cache coreutils jq
ARG DOCKER_METADATA_OUTPUT_VERSION
ARG DOCKER_METADATA_OUTPUT_TAGS
ARG DOCKER_METADATA_OUTPUT_LABELS
ARG DOCKER_METADATA_OUTPUT_ANNOTATIONS
ARG DOCKER_METADATA_OUTPUT_JSON
RUN printenv DOCKER_METADATA_OUTPUT_VERSION
RUN printenv DOCKER_METADATA_OUTPUT_TAGS
RUN printenv DOCKER_METADATA_OUTPUT_LABELS
RUN printenv DOCKER_METADATA_OUTPUT_ANNOTATIONS
RUN printenv DOCKER_METADATA_OUTPUT_JSON
RUN echo $DOCKER_METADATA_OUTPUT_JSON | jq
+4 -9
View File
@@ -1,9 +1,8 @@
{
"compilerOptions": {
"module": "nodenext",
"moduleResolution": "nodenext",
"esModuleInterop": true,
"target": "es6",
"module": "commonjs",
"strict": true,
"newLine": "lf",
"outDir": "./lib",
"rootDir": "./src",
@@ -12,11 +11,7 @@
"resolveJsonModule": true,
"useUnknownInCatchVariables": false,
},
"exclude": [
"./__mocks__/**/*",
"./__tests__/**/*",
"./lib/**/*",
"node_modules",
"jest.config.ts"
"include": [
"src/**/*.ts"
]
}
+16
View File
@@ -0,0 +1,16 @@
import {defineConfig} from 'vitest/config';
export default defineConfig({
test: {
clearMocks: true,
environment: 'node',
setupFiles: ['./__tests__/setup.unit.ts'],
include: ['**/*.test.ts'],
coverage: {
provider: 'v8',
reporter: ['clover'],
include: ['src/**/*.ts'],
exclude: ['src/**/main.ts']
}
}
});
+6393 -3694
View File
File diff suppressed because it is too large. Load diff