projen 0.102.0 → 0.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/.jsii +746 -740
  2. package/README.md +23 -0
  3. package/lib/ai-instructions.js +2 -2
  4. package/lib/awscdk/auto-discover.js +6 -6
  5. package/lib/awscdk/awscdk-app-java.js +1 -1
  6. package/lib/awscdk/awscdk-app-py.js +1 -1
  7. package/lib/awscdk/awscdk-app-ts.js +1 -1
  8. package/lib/awscdk/awscdk-construct.js +1 -1
  9. package/lib/awscdk/awscdk-deps-java.js +1 -1
  10. package/lib/awscdk/awscdk-deps-js.js +1 -1
  11. package/lib/awscdk/awscdk-deps-py.js +1 -1
  12. package/lib/awscdk/awscdk-deps.js +1 -1
  13. package/lib/awscdk/cdk-config.d.ts +4 -0
  14. package/lib/awscdk/cdk-config.js +4 -4
  15. package/lib/awscdk/cdk-tasks.js +1 -1
  16. package/lib/awscdk/integration-test.d.ts +1 -0
  17. package/lib/awscdk/integration-test.js +38 -10
  18. package/lib/awscdk/lambda-extension.js +1 -1
  19. package/lib/awscdk/lambda-function.js +2 -2
  20. package/lib/build/build-workflow.js +4 -3
  21. package/lib/cdk/auto-discover-base.js +2 -2
  22. package/lib/cdk/construct-lib.js +1 -1
  23. package/lib/cdk/integration-test-base.js +17 -3
  24. package/lib/cdk/jsii-build.js +10 -4
  25. package/lib/cdk/jsii-docgen.js +1 -1
  26. package/lib/cdk/jsii-project.js +1 -1
  27. package/lib/cdk8s/auto-discover.js +2 -2
  28. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  29. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  30. package/lib/cdk8s/cdk8s-construct.js +1 -1
  31. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  32. package/lib/cdk8s/cdk8s-deps.js +1 -1
  33. package/lib/cdk8s/integration-test.js +3 -3
  34. package/lib/cdktf/cdktf-construct.js +1 -1
  35. package/lib/cdktn/cdktn-app-ts.js +1 -1
  36. package/lib/cdktn/cdktn-config.js +1 -1
  37. package/lib/cdktn/cdktn-construct.js +1 -1
  38. package/lib/cdktn/cdktn-deps.js +1 -1
  39. package/lib/cdktn/cdktn-tasks.js +1 -1
  40. package/lib/circleci/circleci.js +1 -1
  41. package/lib/cleanup.js +6 -33
  42. package/lib/cli/task-runtime.js +30 -8
  43. package/lib/clobber.js +11 -6
  44. package/lib/component.js +2 -2
  45. package/lib/dependencies.js +1 -1
  46. package/lib/dev-env.js +1 -1
  47. package/lib/docker-compose/docker-compose-service.js +1 -1
  48. package/lib/docker-compose/docker-compose.js +1 -1
  49. package/lib/file.js +1 -1
  50. package/lib/gitattributes.js +1 -1
  51. package/lib/github/actions-provider.js +1 -1
  52. package/lib/github/auto-approve.js +1 -1
  53. package/lib/github/auto-merge.js +1 -1
  54. package/lib/github/auto-queue.js +1 -1
  55. package/lib/github/dependabot.js +1 -1
  56. package/lib/github/dependency-review.js +1 -1
  57. package/lib/github/github-credentials.js +1 -1
  58. package/lib/github/github-project.js +1 -1
  59. package/lib/github/github.js +1 -1
  60. package/lib/github/merge-queue.js +1 -1
  61. package/lib/github/mergify.js +1 -1
  62. package/lib/github/pr-template.js +1 -1
  63. package/lib/github/private/util.d.ts +0 -2
  64. package/lib/github/private/util.js +1 -13
  65. package/lib/github/pull-request-backport.js +1 -1
  66. package/lib/github/pull-request-lint.js +1 -1
  67. package/lib/github/stale.js +1 -1
  68. package/lib/github/task-workflow-job.js +4 -4
  69. package/lib/github/task-workflow.js +1 -1
  70. package/lib/github/workflow-actions.js +4 -3
  71. package/lib/github/workflow-jobs.js +1 -1
  72. package/lib/github/workflow-steps.js +1 -1
  73. package/lib/github/workflows.js +1 -1
  74. package/lib/gitlab/configuration.js +1 -1
  75. package/lib/gitlab/gitlab-configuration.js +1 -1
  76. package/lib/gitlab/nested-configuration.js +1 -1
  77. package/lib/gitpod.d.ts +6 -0
  78. package/lib/gitpod.js +2 -2
  79. package/lib/ignore-file.js +1 -1
  80. package/lib/ini.js +1 -1
  81. package/lib/java/java-project.js +1 -1
  82. package/lib/java/junit.js +1 -1
  83. package/lib/java/maven-compile.js +1 -1
  84. package/lib/java/maven-packaging.js +8 -3
  85. package/lib/java/maven-sample.js +1 -1
  86. package/lib/java/pom.js +2 -2
  87. package/lib/java/projenrc.js +13 -4
  88. package/lib/javascript/biome/biome.js +9 -4
  89. package/lib/javascript/bundler.d.ts +8 -0
  90. package/lib/javascript/bundler.js +13 -13
  91. package/lib/javascript/eslint.d.ts +7 -0
  92. package/lib/javascript/eslint.js +14 -11
  93. package/lib/javascript/jest.d.ts +8 -0
  94. package/lib/javascript/jest.js +17 -11
  95. package/lib/javascript/license-checker.js +1 -1
  96. package/lib/javascript/node-package.d.ts +1 -1
  97. package/lib/javascript/node-package.js +32 -15
  98. package/lib/javascript/node-project.js +35 -22
  99. package/lib/javascript/npm-config.js +1 -1
  100. package/lib/javascript/pnpm-workspace-config.js +2 -2
  101. package/lib/javascript/pnpm-workspace.js +1 -1
  102. package/lib/javascript/prettier.js +1 -1
  103. package/lib/javascript/projenrc.js +1 -1
  104. package/lib/javascript/typescript-config.js +2 -2
  105. package/lib/javascript/upgrade-dependencies.js +2 -2
  106. package/lib/javascript/yarnrc.js +1 -1
  107. package/lib/json-patch.js +1 -1
  108. package/lib/json.js +1 -1
  109. package/lib/license.js +1 -1
  110. package/lib/logger.js +1 -1
  111. package/lib/makefile.d.ts +2 -0
  112. package/lib/makefile.js +2 -2
  113. package/lib/object-file.js +1 -1
  114. package/lib/project-build.js +1 -1
  115. package/lib/project-tree.js +1 -1
  116. package/lib/project.d.ts +4 -0
  117. package/lib/project.js +2 -2
  118. package/lib/projects.js +1 -1
  119. package/lib/projenrc-json.js +1 -1
  120. package/lib/projenrc.js +1 -1
  121. package/lib/python/pip.js +1 -1
  122. package/lib/python/poetry.js +7 -4
  123. package/lib/python/projenrc.js +1 -1
  124. package/lib/python/pyproject-toml-file.js +1 -1
  125. package/lib/python/pytest-sample.js +1 -1
  126. package/lib/python/pytest.d.ts +5 -2
  127. package/lib/python/pytest.js +9 -8
  128. package/lib/python/python-project.js +1 -1
  129. package/lib/python/python-sample.js +1 -1
  130. package/lib/python/requirements-file.js +1 -1
  131. package/lib/python/setuppy.js +1 -1
  132. package/lib/python/setuptools.js +10 -4
  133. package/lib/python/uv-config.js +1 -1
  134. package/lib/python/uv.js +3 -3
  135. package/lib/python/venv.js +1 -1
  136. package/lib/readme.js +1 -1
  137. package/lib/release/publisher.d.ts +5 -0
  138. package/lib/release/publisher.js +90 -37
  139. package/lib/release/release-trigger.d.ts +10 -0
  140. package/lib/release/release-trigger.js +7 -2
  141. package/lib/release/release.js +6 -4
  142. package/lib/renovatebot.js +1 -1
  143. package/lib/run-task.cjs +13 -4
  144. package/lib/sample-file.js +2 -2
  145. package/lib/script-runner.js +1 -1
  146. package/lib/source-code.js +1 -1
  147. package/lib/task-model.d.ts +3 -3
  148. package/lib/task-model.js +1 -1
  149. package/lib/task-shell.d.ts +3 -0
  150. package/lib/task-shell.js +5 -2
  151. package/lib/task.d.ts +4 -0
  152. package/lib/task.js +2 -2
  153. package/lib/tasks.js +1 -1
  154. package/lib/testing.js +1 -1
  155. package/lib/textfile.js +1 -1
  156. package/lib/toml.js +1 -1
  157. package/lib/typescript/projenrc-ts.js +1 -1
  158. package/lib/typescript/projenrc.js +1 -1
  159. package/lib/typescript/typescript-runner.js +1 -1
  160. package/lib/typescript/typescript-typedoc.js +1 -1
  161. package/lib/typescript/typescript.js +5 -5
  162. package/lib/util/dax.d.ts +12 -1
  163. package/lib/util/dax.js +17 -4
  164. package/lib/util/path.d.ts +39 -0
  165. package/lib/util/path.js +90 -1
  166. package/lib/version.js +2 -2
  167. package/lib/vscode/devcontainer.js +1 -1
  168. package/lib/vscode/extensions.js +1 -1
  169. package/lib/vscode/launch-config.js +1 -1
  170. package/lib/vscode/settings.js +1 -1
  171. package/lib/vscode/vscode.js +1 -1
  172. package/lib/web/next.js +3 -3
  173. package/lib/web/postcss.js +1 -1
  174. package/lib/web/react.js +3 -3
  175. package/lib/web/tailwind.js +1 -1
  176. package/lib/xmlfile.js +1 -1
  177. package/lib/yaml.js +1 -1
  178. package/package.json +1 -1
  179. package/BREAKING_CHANGES.md +0 -855
package/lib/clobber.js CHANGED
@@ -12,17 +12,22 @@ class Clobber extends component_1.Component {
12
12
  BRANCH: "$(git branch --show-current)",
13
13
  },
14
14
  });
15
- task.exec("git checkout -b scratch", {
15
+ task.execArgs(["git", "checkout", "-b", "scratch"], {
16
16
  name: 'save current HEAD in "scratch" branch',
17
17
  });
18
- task.exec("git checkout $BRANCH");
19
- task.exec("git fetch origin", { name: "fetch latest changes from origin" });
20
- task.exec("git reset --hard origin/$BRANCH", {
18
+ // `$BRANCH` needs a shell to expand
19
+ task.exec('git checkout "$BRANCH"');
20
+ task.execArgs(["git", "fetch", "origin"], {
21
+ name: "fetch latest changes from origin",
22
+ });
23
+ task.exec('git reset --hard "origin/$BRANCH"', {
21
24
  name: "hard reset to origin commit",
22
25
  });
23
- task.exec("git clean -fdx", { name: "clean all untracked files" });
26
+ task.execArgs(["git", "clean", "-fdx"], {
27
+ name: "clean all untracked files",
28
+ });
24
29
  task.say('ready to rock! (unpushed commits are under the "scratch" branch)');
25
30
  }
26
31
  }
27
32
  exports.Clobber = Clobber;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvYmJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jbG9iYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF3QztBQUd4QyxNQUFhLE9BQVEsU0FBUSxxQkFBUztJQUNwQyxZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUMzQyxXQUFXLEVBQUUseURBQXlEO1lBQ3RFLFNBQVMsRUFBRSxrQ0FBa0M7WUFDN0MsR0FBRyxFQUFFO2dCQUNILE1BQU0sRUFBRSw4QkFBOEI7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ25DLElBQUksRUFBRSx1Q0FBdUM7U0FDOUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0NBQWtDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxJQUFJLENBQUMsaUNBQWlDLEVBQUU7WUFDM0MsSUFBSSxFQUFFLDZCQUE2QjtTQUNwQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsR0FBRyxDQUNOLGtFQUFrRSxDQUNuRSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBekJELDBCQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuXG5leHBvcnQgY2xhc3MgQ2xvYmJlciBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIGNvbnN0IHRhc2sgPSB0aGlzLnByb2plY3QuYWRkVGFzayhcImNsb2JiZXJcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiaGFyZCByZXNldHMgdG8gSEVBRCBvZiBvcmlnaW4gYW5kIGNsZWFucyB0aGUgbG9jYWwgcmVwb1wiLFxuICAgICAgY29uZGl0aW9uOiBcImdpdCBkaWZmIC0tZXhpdC1jb2RlID4gL2Rldi9udWxsXCIsXG4gICAgICBlbnY6IHtcbiAgICAgICAgQlJBTkNIOiBcIiQoZ2l0IGJyYW5jaCAtLXNob3ctY3VycmVudClcIixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0YXNrLmV4ZWMoXCJnaXQgY2hlY2tvdXQgLWIgc2NyYXRjaFwiLCB7XG4gICAgICBuYW1lOiAnc2F2ZSBjdXJyZW50IEhFQUQgaW4gXCJzY3JhdGNoXCIgYnJhbmNoJyxcbiAgICB9KTtcbiAgICB0YXNrLmV4ZWMoXCJnaXQgY2hlY2tvdXQgJEJSQU5DSFwiKTtcbiAgICB0YXNrLmV4ZWMoXCJnaXQgZmV0Y2ggb3JpZ2luXCIsIHsgbmFtZTogXCJmZXRjaCBsYXRlc3QgY2hhbmdlcyBmcm9tIG9yaWdpblwiIH0pO1xuICAgIHRhc2suZXhlYyhcImdpdCByZXNldCAtLWhhcmQgb3JpZ2luLyRCUkFOQ0hcIiwge1xuICAgICAgbmFtZTogXCJoYXJkIHJlc2V0IHRvIG9yaWdpbiBjb21taXRcIixcbiAgICB9KTtcbiAgICB0YXNrLmV4ZWMoXCJnaXQgY2xlYW4gLWZkeFwiLCB7IG5hbWU6IFwiY2xlYW4gYWxsIHVudHJhY2tlZCBmaWxlc1wiIH0pO1xuICAgIHRhc2suc2F5KFxuICAgICAgJ3JlYWR5IHRvIHJvY2shICh1bnB1c2hlZCBjb21taXRzIGFyZSB1bmRlciB0aGUgXCJzY3JhdGNoXCIgYnJhbmNoKScsXG4gICAgKTtcbiAgfVxufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvYmJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jbG9iYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF3QztBQUd4QyxNQUFhLE9BQVEsU0FBUSxxQkFBUztJQUNwQyxZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUMzQyxXQUFXLEVBQUUseURBQXlEO1lBQ3RFLFNBQVMsRUFBRSxrQ0FBa0M7WUFDN0MsR0FBRyxFQUFFO2dCQUNILE1BQU0sRUFBRSw4QkFBOEI7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDbEQsSUFBSSxFQUFFLHVDQUF1QztTQUM5QyxDQUFDLENBQUM7UUFDSCxvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ3hDLElBQUksRUFBRSxrQ0FBa0M7U0FDekMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsRUFBRTtZQUM3QyxJQUFJLEVBQUUsNkJBQTZCO1NBQ3BDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ3RDLElBQUksRUFBRSwyQkFBMkI7U0FDbEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FDTixrRUFBa0UsQ0FDbkUsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTlCRCwwQkE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcblxuZXhwb3J0IGNsYXNzIENsb2JiZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0KSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBjb25zdCB0YXNrID0gdGhpcy5wcm9qZWN0LmFkZFRhc2soXCJjbG9iYmVyXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcImhhcmQgcmVzZXRzIHRvIEhFQUQgb2Ygb3JpZ2luIGFuZCBjbGVhbnMgdGhlIGxvY2FsIHJlcG9cIixcbiAgICAgIGNvbmRpdGlvbjogXCJnaXQgZGlmZiAtLWV4aXQtY29kZSA+IC9kZXYvbnVsbFwiLFxuICAgICAgZW52OiB7XG4gICAgICAgIEJSQU5DSDogXCIkKGdpdCBicmFuY2ggLS1zaG93LWN1cnJlbnQpXCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGFzay5leGVjQXJncyhbXCJnaXRcIiwgXCJjaGVja291dFwiLCBcIi1iXCIsIFwic2NyYXRjaFwiXSwge1xuICAgICAgbmFtZTogJ3NhdmUgY3VycmVudCBIRUFEIGluIFwic2NyYXRjaFwiIGJyYW5jaCcsXG4gICAgfSk7XG4gICAgLy8gYCRCUkFOQ0hgIG5lZWRzIGEgc2hlbGwgdG8gZXhwYW5kXG4gICAgdGFzay5leGVjKCdnaXQgY2hlY2tvdXQgXCIkQlJBTkNIXCInKTtcbiAgICB0YXNrLmV4ZWNBcmdzKFtcImdpdFwiLCBcImZldGNoXCIsIFwib3JpZ2luXCJdLCB7XG4gICAgICBuYW1lOiBcImZldGNoIGxhdGVzdCBjaGFuZ2VzIGZyb20gb3JpZ2luXCIsXG4gICAgfSk7XG4gICAgdGFzay5leGVjKCdnaXQgcmVzZXQgLS1oYXJkIFwib3JpZ2luLyRCUkFOQ0hcIicsIHtcbiAgICAgIG5hbWU6IFwiaGFyZCByZXNldCB0byBvcmlnaW4gY29tbWl0XCIsXG4gICAgfSk7XG4gICAgdGFzay5leGVjQXJncyhbXCJnaXRcIiwgXCJjbGVhblwiLCBcIi1mZHhcIl0sIHtcbiAgICAgIG5hbWU6IFwiY2xlYW4gYWxsIHVudHJhY2tlZCBmaWxlc1wiLFxuICAgIH0pO1xuICAgIHRhc2suc2F5KFxuICAgICAgJ3JlYWR5IHRvIHJvY2shICh1bnB1c2hlZCBjb21taXRzIGFyZSB1bmRlciB0aGUgXCJzY3JhdGNoXCIgYnJhbmNoKScsXG4gICAgKTtcbiAgfVxufVxuIl19
package/lib/component.js CHANGED
@@ -16,7 +16,7 @@ const componentId = (scope) => {
16
16
  * @param id Unique id of the component. If not provided, an unstable AutoId is generated.
17
17
  */
18
18
  class Component extends constructs_1.Construct {
19
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Component", version: "0.102.0" };
19
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Component", version: "0.103.0" };
20
20
  /**
21
21
  * Test whether the given construct is a component.
22
22
  */
@@ -175,7 +175,7 @@ function guardDetached(target) {
175
175
  * ```
176
176
  */
177
177
  class FutureComponent extends Component {
178
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FutureComponent", version: "0.102.0" };
178
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FutureComponent", version: "0.103.0" };
179
179
  newTargetName;
180
180
  attachedState = false;
181
181
  constructor() {
@@ -51,7 +51,7 @@ const json_1 = require("./json");
51
51
  * `nodeProject.addDeps()` or use the generic API of `project.deps`:
52
52
  */
53
53
  class Dependencies extends component_1.Component {
54
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Dependencies", version: "0.102.0" };
54
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Dependencies", version: "0.103.0" };
55
55
  /**
56
56
  * The project-relative path of the deps manifest file.
57
57
  */
package/lib/dev-env.js CHANGED
@@ -6,7 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  * Options for specifying the Docker image of the container.
7
7
  */
8
8
  class DevEnvironmentDockerImage {
9
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DevEnvironmentDockerImage", version: "0.102.0" };
9
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DevEnvironmentDockerImage", version: "0.103.0" };
10
10
  /**
11
11
  * A publicly available Docker image.
12
12
  * @example 'ubuntu:latest'
@@ -7,7 +7,7 @@ const docker_compose_1 = require("./docker-compose");
7
7
  * A docker-compose service.
8
8
  */
9
9
  class DockerComposeService {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerComposeService", version: "0.102.0" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerComposeService", version: "0.103.0" };
11
11
  /**
12
12
  * Name of the service.
13
13
  */
@@ -11,7 +11,7 @@ const yaml_1 = require("../yaml");
11
11
  * Create a docker-compose YAML file.
12
12
  */
13
13
  class DockerCompose extends component_1.Component {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerCompose", version: "0.102.0" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.DockerCompose", version: "0.103.0" };
15
15
  /**
16
16
  * Depends on a service name.
17
17
  */
package/lib/file.js CHANGED
@@ -45,7 +45,7 @@ const util_1 = require("./util");
45
45
  const constructs_1 = require("./util/constructs");
46
46
  const diff_1 = require("./util/diff");
47
47
  class FileBase extends component_1.Component {
48
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FileBase", version: "0.102.0" };
48
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.FileBase", version: "0.103.0" };
49
49
  /**
50
50
  * The file path, relative to the project's outdir.
51
51
  */
@@ -32,7 +32,7 @@ var EndOfLine;
32
32
  * @see https://git-scm.com/docs/gitattributes
33
33
  */
34
34
  class GitAttributesFile extends file_1.FileBase {
35
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.GitAttributesFile", version: "0.102.0" };
35
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.GitAttributesFile", version: "0.103.0" };
36
36
  attributes = new Map();
37
37
  /**
38
38
  * The default end of line character for text files.
@@ -6,7 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  * Manage the versions used for GitHub Actions used in steps
7
7
  */
8
8
  class GitHubActionsProvider {
9
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHubActionsProvider", version: "0.102.0" };
9
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHubActionsProvider", version: "0.103.0" };
10
10
  actions = new Map();
11
11
  /**
12
12
  * Define an override for a given action.
@@ -9,7 +9,7 @@ const runner_options_1 = require("../runner-options");
9
9
  * Auto approve pull requests that meet a criteria
10
10
  */
11
11
  class AutoApprove extends component_1.Component {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoApprove", version: "0.102.0" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoApprove", version: "0.103.0" };
13
13
  label;
14
14
  constructor(github, options = {}) {
15
15
  super(github.project);
@@ -19,7 +19,7 @@ const component_1 = require("../component");
19
19
  * @see https://mergify.com/
20
20
  */
21
21
  class AutoMerge extends component_1.Component {
22
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoMerge", version: "0.102.0" };
22
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoMerge", version: "0.103.0" };
23
23
  lazyConditions = new Array();
24
24
  constructor(github, options = {}) {
25
25
  super(github.project);
@@ -54,7 +54,7 @@ var MergeMethod;
54
54
  * PRs will be merged once they pass required checks.
55
55
  */
56
56
  class AutoQueue extends component_1.Component {
57
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoQueue", version: "0.102.0" };
57
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.AutoQueue", version: "0.103.0" };
58
58
  constructor(scope, options = {}) {
59
59
  super(scope);
60
60
  const workflowEngine = github_1.GitHub.of(this.project);
@@ -166,7 +166,7 @@ var VersioningStrategy;
166
166
  * on the lockfile itself will be proposed.
167
167
  */
168
168
  class Dependabot extends component_1.Component {
169
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Dependabot", version: "0.102.0" };
169
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Dependabot", version: "0.103.0" };
170
170
  /**
171
171
  * The raw dependabot configuration.
172
172
  * @see https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates
@@ -16,7 +16,7 @@ const runner_options_1 = require("../runner-options");
16
16
  * @see https://github.com/actions/dependency-review-action
17
17
  */
18
18
  class DependencyReview extends component_1.Component {
19
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.DependencyReview", version: "0.102.0" };
19
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.DependencyReview", version: "0.103.0" };
20
20
  constructor(github, options = {}) {
21
21
  super(github.project);
22
22
  const commentSummary = options.commentSummaryInPr ?? "always";
@@ -42,7 +42,7 @@ const actions_const_1 = require("./actions.const");
42
42
  */
43
43
  class GithubCredentials {
44
44
  options;
45
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GithubCredentials", version: "0.102.0" };
45
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GithubCredentials", version: "0.103.0" };
46
46
  /**
47
47
  * Provide API access through a GitHub personal access token.
48
48
  *
@@ -21,7 +21,7 @@ const vscode_1 = require("../vscode");
21
21
  * "engines" can be used to implement our CI/CD solutions.
22
22
  */
23
23
  class GitHubProject extends project_1.Project {
24
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHubProject", version: "0.102.0" };
24
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHubProject", version: "0.103.0" };
25
25
  /**
26
26
  * Access all github components.
27
27
  *
@@ -15,7 +15,7 @@ const workflow_steps_1 = require("./workflow-steps");
15
15
  const workflows_1 = require("./workflows");
16
16
  const component_1 = require("../component");
17
17
  class GitHub extends component_1.Component {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHub", version: "0.102.0" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GitHub", version: "0.103.0" };
19
19
  /**
20
20
  * Returns the `GitHub` component of a project or `undefined` if the project
21
21
  * does not have a GitHub component.
@@ -10,7 +10,7 @@ const github_1 = require("./github");
10
10
  */
11
11
  class MergeQueue extends component_1.Component {
12
12
  options;
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.MergeQueue", version: "0.102.0" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.MergeQueue", version: "0.103.0" };
14
14
  constructor(scope, options = {}) {
15
15
  super(scope);
16
16
  this.options = options;
@@ -6,7 +6,7 @@ const component_1 = require("../component");
6
6
  const util_1 = require("../util");
7
7
  const yaml_1 = require("../yaml");
8
8
  class Mergify extends component_1.Component {
9
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Mergify", version: "0.102.0" };
9
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Mergify", version: "0.103.0" };
10
10
  rules = new Array();
11
11
  queues = new Array();
12
12
  // The actual YAML file will only be created if at least 1 rule is added.
@@ -7,7 +7,7 @@ const textfile_1 = require("../textfile");
7
7
  * Template for GitHub pull requests.
8
8
  */
9
9
  class PullRequestTemplate extends textfile_1.TextFile {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestTemplate", version: "0.102.0" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestTemplate", version: "0.103.0" };
11
11
  /**
12
12
  * Returns the `PullRequestTemplate` instance associated with a project or `undefined` if
13
13
  * there is no PullRequestTemplate.
@@ -1,8 +1,6 @@
1
1
  import type { Project } from "../../project";
2
2
  export declare function secretToString(secretName: string): string;
3
3
  export declare function context(value: string): string;
4
- export declare function isHiddenPath(path: string): boolean;
5
- export declare function ensureNotHiddenPath(value: string, name: string): void;
6
4
  /**
7
5
  * Turn any JavaScript value into a GitHub expression
8
6
  */
@@ -2,8 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.secretToString = secretToString;
4
4
  exports.context = context;
5
- exports.isHiddenPath = isHiddenPath;
6
- exports.ensureNotHiddenPath = ensureNotHiddenPath;
7
5
  exports.toGitHubExpr = toGitHubExpr;
8
6
  exports.projectPathRelativeToRepoRoot = projectPathRelativeToRepoRoot;
9
7
  const node_path_1 = require("node:path");
@@ -15,16 +13,6 @@ function secretToString(secretName) {
15
13
  function context(value) {
16
14
  return `\${{ ${value} }}`;
17
15
  }
18
- // Checks if part of the file path is hidden
19
- function isHiddenPath(path) {
20
- return /(^|\/)\.[^\/\.]/g.test(path);
21
- }
22
- // Helper to assert a path is not hidden
23
- function ensureNotHiddenPath(value, name) {
24
- if (isHiddenPath(value)) {
25
- throw Error(`${name} cannot be a hidden path, got: ${value}`);
26
- }
27
- }
28
16
  /**
29
17
  * Turn any JavaScript value into a GitHub expression
30
18
  */
@@ -60,4 +48,4 @@ function toGitHubExpr(x) {
60
48
  function projectPathRelativeToRepoRoot(project) {
61
49
  return (0, path_1.ensureRelativePathStartsWithDot)((0, util_1.normalizePersistedPath)((0, node_path_1.relative)(project.root.outdir, project.outdir)));
62
50
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9naXRodWIvcHJpdmF0ZS91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0Esd0NBRUM7QUFFRCwwQkFFQztBQUdELG9DQUVDO0FBR0Qsa0RBSUM7QUFLRCxvQ0FnQkM7QUFjRCxzRUFJQztBQTlERCx5Q0FBcUM7QUFFckMscUNBQW9EO0FBQ3BELDBDQUFrRTtBQUVsRSxTQUFnQixjQUFjLENBQUMsVUFBa0I7SUFDL0MsT0FBTyxnQkFBZ0IsVUFBVSxLQUFLLENBQUM7QUFDekMsQ0FBQztBQUVELFNBQWdCLE9BQU8sQ0FBQyxLQUFhO0lBQ25DLE9BQU8sUUFBUSxLQUFLLEtBQUssQ0FBQztBQUM1QixDQUFDO0FBRUQsNENBQTRDO0FBQzVDLFNBQWdCLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCx3Q0FBd0M7QUFDeEMsU0FBZ0IsbUJBQW1CLENBQUMsS0FBYSxFQUFFLElBQVk7SUFDN0QsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLEtBQUssQ0FBQyxHQUFHLElBQUksa0NBQWtDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFlBQVksQ0FBQyxDQUFtQjtJQUM5QyxRQUFRLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDakIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDdEMsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLFNBQVM7WUFDWixvRkFBb0Y7WUFDcEYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLEtBQUssUUFBUTtZQUNYLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNmLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxPQUFPLFlBQVksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3hEO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQiw2QkFBNkIsQ0FBQyxPQUFnQjtJQUM1RCxPQUFPLElBQUEsc0NBQStCLEVBQ3BDLElBQUEsNkJBQXNCLEVBQUMsSUFBQSxvQkFBUSxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN0RSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbGF0aXZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4uLy4uL3Byb2plY3RcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZVBlcnNpc3RlZFBhdGggfSBmcm9tIFwiLi4vLi4vdXRpbFwiO1xuaW1wb3J0IHsgZW5zdXJlUmVsYXRpdmVQYXRoU3RhcnRzV2l0aERvdCB9IGZyb20gXCIuLi8uLi91dGlsL3BhdGhcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNlY3JldFRvU3RyaW5nKHNlY3JldE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgXFwke3sgc2VjcmV0cy4ke3NlY3JldE5hbWV9IH19YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRleHQodmFsdWU6IHN0cmluZykge1xuICByZXR1cm4gYFxcJHt7ICR7dmFsdWV9IH19YDtcbn1cblxuLy8gQ2hlY2tzIGlmIHBhcnQgb2YgdGhlIGZpbGUgcGF0aCBpcyBoaWRkZW5cbmV4cG9ydCBmdW5jdGlvbiBpc0hpZGRlblBhdGgocGF0aDogc3RyaW5nKSB7XG4gIHJldHVybiAvKF58XFwvKVxcLlteXFwvXFwuXS9nLnRlc3QocGF0aCk7XG59XG5cbi8vIEhlbHBlciB0byBhc3NlcnQgYSBwYXRoIGlzIG5vdCBoaWRkZW5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVOb3RIaWRkZW5QYXRoKHZhbHVlOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNIaWRkZW5QYXRoKHZhbHVlKSkge1xuICAgIHRocm93IEVycm9yKGAke25hbWV9IGNhbm5vdCBiZSBhIGhpZGRlbiBwYXRoLCBnb3Q6ICR7dmFsdWV9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBUdXJuIGFueSBKYXZhU2NyaXB0IHZhbHVlIGludG8gYSBHaXRIdWIgZXhwcmVzc2lvblxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9HaXRIdWJFeHByKHg6IE5vbk51bGxhYmxlPGFueT4pOiBzdHJpbmcge1xuICBzd2l0Y2ggKHR5cGVvZiB4KSB7XG4gICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgcmV0dXJuIGAnJHt4LnJlcGxhY2UoLycvZywgYCcnYCl9J2A7XG4gICAgY2FzZSBcIm51bWJlclwiOlxuICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAvLyBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHZhbHVlIGlzIGFsc28gdGhlIEdIIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdmFsdWVcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh4KTtcbiAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICBpZiAoeCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gXCJudWxsXCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gYGZyb21KU09OKCR7dG9HaXRIdWJFeHByKEpTT04uc3RyaW5naWZ5KHgpKX0pYDtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCB0eXBlOiAke3R5cGVvZiB4fWApO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcmVsYXRpdmUgcGF0aCBvZiBhIHByb2plY3QgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcmVwb3NpdG9yeVxuICpcbiAqIFRoaXMgaXMgYSBiaXQgb2YgaGFjayBhdCB0aGUgbW9tZW50LCBiZWNhdXNlIHByb2plY3RzIGN1cnJlbnRseSBkb24ndCBoYXZlIHRoZSBjb25jZXB0IG9mIGEgcmVwb3NpdG9yeS5cbiAqIFRoZSBgLmdpdGh1YmAgZGlyZWN0b3J5IGlzIGFsd2F5cyBjcmVhdGVkIHdpdGhpbiB0aGUgb3V0ZGlyIG9mIHRoZSByb290IHByb2plY3QuXG4gKiBDb25zZXF1ZW50bHkgdGhpcyBtZWFucyBhIEdpdEh1YiByb290IHByb2plY3QgY2Fubm90IHJlYWxseSBoYXZlIGFuIG91dGRpciBhbmQgR0ggV29ya2Zsb3dzIGF0IHRoZSBzYW1lIHRpbWUuXG4gKiBPciBpbiBvdGhlciB3b3JkcywgdGhlIG91dGRpciBvZiB0aGUgcm9vdCBwcm9qZWN0IGlzIHRvIGJlIGFzc3VtZWQgdGhlIHJlcG9zaXRvcnkgcm9vdC5cbiAqXG4gKiBUaGlzIGhlbHBlciBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byByZXRyaWV2ZSB0aGUgY29ycmVjdCBgd29ya2luZy1kaXJlY3RvcnlgIGZvciBhIGdpdmVuIHByb2plY3QuXG4gKlxuICogQHJldHVybnMgcGF0aCB0byBiZSB1c2VkIGFzIGB3b3JraW5nLWRpcmVjdG9yeWAgb2YgYSBHaXRIdWIgd29ya2Zsb3csIHRoaXMgaXMgbmV2ZXIgZW1wdHkgYW5kIHdpbGwgcmV0dXJuIGAuL2AgZm9yIHRoZSByb290IHByb2plY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2plY3RQYXRoUmVsYXRpdmVUb1JlcG9Sb290KHByb2plY3Q6IFByb2plY3QpOiBzdHJpbmcge1xuICByZXR1cm4gZW5zdXJlUmVsYXRpdmVQYXRoU3RhcnRzV2l0aERvdChcbiAgICBub3JtYWxpemVQZXJzaXN0ZWRQYXRoKHJlbGF0aXZlKHByb2plY3Qucm9vdC5vdXRkaXIsIHByb2plY3Qub3V0ZGlyKSksXG4gICk7XG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9naXRodWIvcHJpdmF0ZS91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0Esd0NBRUM7QUFFRCwwQkFFQztBQUtELG9DQWdCQztBQWNELHNFQUlDO0FBbERELHlDQUFxQztBQUVyQyxxQ0FBb0Q7QUFDcEQsMENBQWtFO0FBRWxFLFNBQWdCLGNBQWMsQ0FBQyxVQUFrQjtJQUMvQyxPQUFPLGdCQUFnQixVQUFVLEtBQUssQ0FBQztBQUN6QyxDQUFDO0FBRUQsU0FBZ0IsT0FBTyxDQUFDLEtBQWE7SUFDbkMsT0FBTyxRQUFRLEtBQUssS0FBSyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFlBQVksQ0FBQyxDQUFtQjtJQUM5QyxRQUFRLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDakIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDdEMsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLFNBQVM7WUFDWixvRkFBb0Y7WUFDcEYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLEtBQUssUUFBUTtZQUNYLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNmLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxPQUFPLFlBQVksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3hEO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQiw2QkFBNkIsQ0FBQyxPQUFnQjtJQUM1RCxPQUFPLElBQUEsc0NBQStCLEVBQ3BDLElBQUEsNkJBQXNCLEVBQUMsSUFBQSxvQkFBUSxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN0RSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbGF0aXZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4uLy4uL3Byb2plY3RcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZVBlcnNpc3RlZFBhdGggfSBmcm9tIFwiLi4vLi4vdXRpbFwiO1xuaW1wb3J0IHsgZW5zdXJlUmVsYXRpdmVQYXRoU3RhcnRzV2l0aERvdCB9IGZyb20gXCIuLi8uLi91dGlsL3BhdGhcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNlY3JldFRvU3RyaW5nKHNlY3JldE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgXFwke3sgc2VjcmV0cy4ke3NlY3JldE5hbWV9IH19YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRleHQodmFsdWU6IHN0cmluZykge1xuICByZXR1cm4gYFxcJHt7ICR7dmFsdWV9IH19YDtcbn1cblxuLyoqXG4gKiBUdXJuIGFueSBKYXZhU2NyaXB0IHZhbHVlIGludG8gYSBHaXRIdWIgZXhwcmVzc2lvblxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9HaXRIdWJFeHByKHg6IE5vbk51bGxhYmxlPGFueT4pOiBzdHJpbmcge1xuICBzd2l0Y2ggKHR5cGVvZiB4KSB7XG4gICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgcmV0dXJuIGAnJHt4LnJlcGxhY2UoLycvZywgYCcnYCl9J2A7XG4gICAgY2FzZSBcIm51bWJlclwiOlxuICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAvLyBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHZhbHVlIGlzIGFsc28gdGhlIEdIIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdmFsdWVcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh4KTtcbiAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICBpZiAoeCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gXCJudWxsXCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gYGZyb21KU09OKCR7dG9HaXRIdWJFeHByKEpTT04uc3RyaW5naWZ5KHgpKX0pYDtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCB0eXBlOiAke3R5cGVvZiB4fWApO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcmVsYXRpdmUgcGF0aCBvZiBhIHByb2plY3QgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcmVwb3NpdG9yeVxuICpcbiAqIFRoaXMgaXMgYSBiaXQgb2YgaGFjayBhdCB0aGUgbW9tZW50LCBiZWNhdXNlIHByb2plY3RzIGN1cnJlbnRseSBkb24ndCBoYXZlIHRoZSBjb25jZXB0IG9mIGEgcmVwb3NpdG9yeS5cbiAqIFRoZSBgLmdpdGh1YmAgZGlyZWN0b3J5IGlzIGFsd2F5cyBjcmVhdGVkIHdpdGhpbiB0aGUgb3V0ZGlyIG9mIHRoZSByb290IHByb2plY3QuXG4gKiBDb25zZXF1ZW50bHkgdGhpcyBtZWFucyBhIEdpdEh1YiByb290IHByb2plY3QgY2Fubm90IHJlYWxseSBoYXZlIGFuIG91dGRpciBhbmQgR0ggV29ya2Zsb3dzIGF0IHRoZSBzYW1lIHRpbWUuXG4gKiBPciBpbiBvdGhlciB3b3JkcywgdGhlIG91dGRpciBvZiB0aGUgcm9vdCBwcm9qZWN0IGlzIHRvIGJlIGFzc3VtZWQgdGhlIHJlcG9zaXRvcnkgcm9vdC5cbiAqXG4gKiBUaGlzIGhlbHBlciBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byByZXRyaWV2ZSB0aGUgY29ycmVjdCBgd29ya2luZy1kaXJlY3RvcnlgIGZvciBhIGdpdmVuIHByb2plY3QuXG4gKlxuICogQHJldHVybnMgcGF0aCB0byBiZSB1c2VkIGFzIGB3b3JraW5nLWRpcmVjdG9yeWAgb2YgYSBHaXRIdWIgd29ya2Zsb3csIHRoaXMgaXMgbmV2ZXIgZW1wdHkgYW5kIHdpbGwgcmV0dXJuIGAuL2AgZm9yIHRoZSByb290IHByb2plY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2plY3RQYXRoUmVsYXRpdmVUb1JlcG9Sb290KHByb2plY3Q6IFByb2plY3QpOiBzdHJpbmcge1xuICByZXR1cm4gZW5zdXJlUmVsYXRpdmVQYXRoU3RhcnRzV2l0aERvdChcbiAgICBub3JtYWxpemVQZXJzaXN0ZWRQYXRoKHJlbGF0aXZlKHByb2plY3Qucm9vdC5vdXRkaXIsIHByb2plY3Qub3V0ZGlyKSksXG4gICk7XG59XG4iXX0=
@@ -10,7 +10,7 @@ const component_1 = require("../component");
10
10
  const json_1 = require("../json");
11
11
  const release_1 = require("../release");
12
12
  class PullRequestBackport extends component_1.Component {
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestBackport", version: "0.102.0" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestBackport", version: "0.103.0" };
14
14
  file;
15
15
  workflow;
16
16
  constructor(scope, options = {}) {
@@ -14,7 +14,7 @@ const runner_options_1 = require("../runner-options");
14
14
  class PullRequestLint extends component_1.Component {
15
15
  github;
16
16
  options;
17
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestLint", version: "0.102.0" };
17
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestLint", version: "0.103.0" };
18
18
  constructor(github, options = {}) {
19
19
  super(github.project);
20
20
  this.github = github;
@@ -19,7 +19,7 @@ const runner_options_1 = require("../runner-options");
19
19
  * @see https://github.com/actions/stale
20
20
  */
21
21
  class Stale extends component_1.Component {
22
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Stale", version: "0.102.0" };
22
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Stale", version: "0.103.0" };
23
23
  constructor(github, options = {}) {
24
24
  super(github.project);
25
25
  const stale = github.addWorkflow("stale");
@@ -6,14 +6,14 @@ const constants_1 = require("./constants");
6
6
  const workflow_steps_1 = require("./workflow-steps");
7
7
  const component_1 = require("../component");
8
8
  const runner_options_1 = require("../runner-options");
9
- const util_1 = require("./private/util");
9
+ const path_1 = require("../util/path");
10
10
  /**
11
11
  * The primary or initial job of a TaskWorkflow.
12
12
  *
13
13
  * @implements {Job}
14
14
  */
15
15
  class TaskWorkflowJob extends component_1.Component {
16
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflowJob", version: "0.102.0" };
16
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflowJob", version: "0.103.0" };
17
17
  runsOn;
18
18
  runsOnGroup;
19
19
  steps;
@@ -54,7 +54,7 @@ class TaskWorkflowJob extends component_1.Component {
54
54
  const postBuildSteps = options.postBuildSteps ?? [];
55
55
  const gitIdentity = options.gitIdentity ?? constants_1.DEFAULT_GITHUB_ACTIONS_USER;
56
56
  if (options.artifactsDirectory) {
57
- (0, util_1.ensureNotHiddenPath)(options.artifactsDirectory, "artifactsDirectory");
57
+ (0, path_1.ensureNotHiddenPath)(options.artifactsDirectory, "artifactsDirectory");
58
58
  postBuildSteps.push(workflow_steps_1.WorkflowSteps.uploadArtifact({
59
59
  // Setting to always will ensure that this step will run even if
60
60
  // the previous ones have failed (e.g. coverage report, internal logs, etc)
@@ -119,4 +119,4 @@ class TaskWorkflowJob extends component_1.Component {
119
119
  }
120
120
  }
121
121
  exports.TaskWorkflowJob = TaskWorkflowJob;
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay13b3JrZmxvdy1qb2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2l0aHViL3Rhc2std29ya2Zsb3ctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSwyQ0FBMEQ7QUFHMUQscURBQXFFO0FBV3JFLDRDQUF5QztBQUV6QyxzREFBMEQ7QUFFMUQseUNBQXFEO0FBdUhyRDs7OztHQUlHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHFCQUFTOztJQUM1QixNQUFNLENBQXdCO0lBQzlCLFdBQVcsQ0FBa0M7SUFDN0MsS0FBSyxDQUFZO0lBQ2pCLFdBQVcsQ0FBVTtJQUNyQixPQUFPLENBQTZDO0lBQ3BELEdBQUcsQ0FBc0M7SUFDekMsUUFBUSxDQUEyQjtJQUNuQyxjQUFjLENBQXNCO0lBQ3BDLGVBQWUsQ0FBdUI7SUFDdEMsU0FBUyxDQUFnQztJQUN6QyxRQUFRLENBQWdEO0lBQ3hELEtBQUssQ0FBcUI7SUFDMUIsSUFBSSxDQUFzQjtJQUMxQixLQUFLLENBQXdCO0lBQzdCLFdBQVcsQ0FBaUI7SUFDNUIsV0FBVyxDQUFXO0lBQ3RCLEVBQUUsQ0FBc0I7SUFDeEIsUUFBUSxDQUEyQjtJQUVuRDs7OztPQUlHO0lBQ0gsWUFBWSxLQUFpQixFQUFFLElBQVUsRUFBRSxPQUErQjtRQUN4RSxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBRXhELE1BQU0sWUFBWSxHQUF1RCxFQUFFLENBQUM7UUFDNUUsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEIsWUFBWSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQ0UsT0FBTyxDQUFDLGtCQUFrQjtZQUMxQixPQUFPLENB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Q0FBQyxlQUFlO1lBQ3JDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDO0lBQ0osQ0FBQzs7QUF6SEgsMENBMEhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IERFRkFVTFRfR0lUSFVCX0FDVElPTlNfVVNFUiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHR5cGUgeyBHaXRJZGVudGl0eSB9IGZyb20gXCIuL3Rhc2std29ya2Zsb3dcIjtcbmltcG9ydCB0eXBlIHsgQ2hlY2tvdXRXaXRoIH0gZnJvbSBcIi4vd29ya2Zsb3ctc3RlcHNcIjtcbmltcG9ydCB7IENoZWNrb3V0U3VibW9kdWxlcywgV29ya2Zsb3dTdGVwcyB9IGZyb20gXCIuL3dvcmtmbG93LXN0ZXBzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIENvbnRhaW5lck9wdGlvbnMsXG4gIEpvYixcbiAgSm9iRGVmYXVsdHMsXG4gIEpvYlBlcm1pc3Npb25zLFxuICBKb2JTdGVwLFxuICBKb2JTdGVwT3V0cHV0LFxuICBKb2JTdHJhdGVneSxcbiAgVG9vbHMsXG59IGZyb20gXCIuL3dvcmtmbG93cy1tb2RlbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBHcm91cFJ1bm5lck9wdGlvbnMgfSBmcm9tIFwiLi4vcnVubmVyLW9wdGlvbnNcIjtcbmltcG9ydCB7IGZpbHRlcmVkUnVuc09uT3B0aW9ucyB9IGZyb20gXCIuLi9ydW5uZXItb3B0aW9uc1wiO1xuaW1wb3J0IHR5cGUgeyBUYXNrIH0gZnJvbSBcIi4uL3Rhc2tcIjtcbmltcG9ydCB7IGVuc3VyZU5vdEhpZGRlblBhdGggfSBmcm9tIFwiLi9wcml2YXRlL3V0aWxcIjtcblxuLyoqXG4gKiBPcHRpb25zIHRvIGNyZWF0ZSB0aGUgSm9iIGFzc29jaWF0ZWQgd2l0aCBhIFRhc2tXb3JrZmxvdy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrV29ya2Zsb3dKb2JPcHRpb25zIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBpbWFnZVxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbmVyPzogQ29udGFpbmVyT3B0aW9ucztcblxuICAvKipcbiAgICogQWRkcyBhbiAnaWYnIGNvbmRpdGlvbiB0byB0aGUgd29ya2Zsb3cuXG4gICAqL1xuICByZWFkb25seSBjb25kaXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGlyZWN0b3J5IG5hbWUgd2hpY2ggY29udGFpbnMgYXJ0aWZhY3RzIHRvIGJlIHVwbG9hZGVkIChlLmcuIGBkaXN0YCkuXG4gICAqIElmIHRoaXMgaXMgc2V0LCB0aGUgY29udGVudHMgb2YgdGhpcyBkaXJlY3Rvcnkgd2lsbCBiZSB1cGxvYWRlZCBhcyBhblxuICAgKiBhcnRpZmFjdCBhdCB0aGUgZW5kIG9mIHRoZSB3b3JrZmxvdyBydW4sIGV2ZW4gaWYgb3RoZXIgc3RlcHMgZmFpbC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3Qgc2V0XG4gICAqL1xuICByZWFkb25seSBhcnRpZmFjdHNEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgc3RlcHMgdG8gcnVuIGJlZm9yZSB0aGUgc291cmNlIGNvZGUgY2hlY2tvdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlQ2hlY2tvdXRTdGVwcz86IEpvYlN0ZXBbXTtcblxuICAvKipcbiAgICogT3ZlcnJpZGUgZm9yIHRoZSBgd2l0aGAgcHJvcGVydHkgb2YgdGhlIHNvdXJjZSBjb2RlIGNoZWNrb3V0IHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldFxuICAgKi9cbiAgcmVhZG9ubHkgY2hlY2tvdXRXaXRoPzogQ2hlY2tvdXRXaXRoO1xuXG4gIC8qKlxuICAgKiBTdGVwcyB0byBydW4gYmVmb3JlIHRoZSBtYWluIGJ1aWxkIHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlQnVpbGRTdGVwcz86IEpvYlN0ZXBbXTtcblxuICAvKipcbiAgICogQWN0aW9ucyB0byBydW4gYWZ0ZXIgdGhlIG1haW4gYnVpbGQgc3RlcC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3Qgc2V0XG4gICAqL1xuICByZWFkb25seSBwb3N0QnVpbGRTdGVwcz86IEpvYlN0ZXBbXTtcblxuICAvKipcbiAgICogV29ya2Zsb3cgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgcmVhZG9ubHkgZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogUGVybWlzc2lvbnMgZm9yIHRoZSBidWlsZCBqb2IuXG4gICAqL1xuICByZWFkb25seSBwZXJtaXNzaW9uczogSm9iUGVybWlzc2lvbnM7XG5cbiAgLyoqXG4gICAqIE1hcHBpbmcgb2Ygam9iIG91dHB1dCBuYW1lcyB0byB2YWx1ZXMvZXhwcmVzc2lvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSBvdXRwdXRzPzogeyBbbmFtZTogc3RyaW5nXTogSm9iU3RlcE91dHB1dCB9O1xuXG4gIC8qKlxuICAgKiBUaGUgZ2l0IGlkZW50aXR5IHRvIHVzZSBpbiB0aGlzIHdvcmtmbG93LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgR2l0SHViIEFjdGlvbnMgdXNlclxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0SWRlbnRpdHk/OiBHaXRJZGVudGl0eTtcblxuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBzZWxlY3Rpb24gbGFiZWxzXG4gICAqIEBkZWZhdWx0IFtcInVidW50dS1sYXRlc3RcIl1cbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgYSB0YXJnZXQgUnVubmVyIGJ5IGxhYmVsc1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgYm90aCBgcnVuc09uYCBhbmQgYHJ1bnNPbkdyb3VwYCBhcmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBydW5zT24/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBHcm91cCBzZWxlY3Rpb24gb3B0aW9uc1xuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyBhIHRhcmdldCBSdW5uZXIgR3JvdXAgYnkgbmFtZSBhbmQvb3IgbGFiZWxzXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBib3RoIGBydW5zT25gIGFuZCBgcnVuc09uR3JvdXBgIGFyZSBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnNPbkdyb3VwPzogR3JvdXBSdW5uZXJPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRvd25sb2FkIGZpbGVzIGZyb20gR2l0IExGUyBmb3IgdGhpcyB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIFVzZSB0aGUgc2V0dGluZyBvbiB0aGUgY29ycmVzcG9uZGluZyBHaXRIdWIgcHJvamVjdFxuICAgKi9cbiAgcmVhZG9ubHkgZG93bmxvYWRMZnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNoZWNrb3V0IEdpdCBzdWJtb2R1bGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFVzZSB0aGUgc2V0dGluZyBvbiB0aGUgY29ycmVzcG9uZGluZyBHaXRIdWIgcHJvamVjdFxuICAgKi9cbiAgcmVhZG9ubHkgY2hlY2tvdXRTdWJtb2R1bGVzPzogQ2hlY2tvdXRTdWJtb2R1bGVzO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHNldHRpbmdzIGZvciBhbGwgc3RlcHMgaW4gdGhlIFRhc2tXb3JrZmxvdyBKb2IuXG4gICAqL1xuICByZWFkb25seSBqb2JEZWZhdWx0cz86IEpvYkRlZmF1bHRzO1xuXG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIEFjdGlvbnMgZW52aXJvbm1lbnQgdXNlZCBmb3IgdGhlIGpvYi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBlbnZpcm9ubWVudCB1c2VkXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgcHJpbWFyeSBvciBpbml0aWFsIGpvYiBvZiBhIFRhc2tXb3JrZmxvdy5cbiAqXG4gKiBAaW1wbGVtZW50cyB7Sm9ifVxuICovXG5leHBvcnQgY2xhc3MgVGFza1dvcmtmbG93Sm9iIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IHJ1bnNPbj86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgcnVuc09uR3JvdXA/OiBHcm91cFJ1bm5lck9wdGlvbnMgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBzdGVwczogSm9iU3RlcFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBvdXRwdXRzPzogUmVjb3JkPHN0cmluZywgSm9iU3RlcE91dHB1dD4gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBlbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdHM/OiBKb2JEZWZhdWx0cyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHRpbWVvdXRNaW51dGVzPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgY29udGludWVPbkVycm9yPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRhaW5lcj86IENvbnRhaW5lck9wdGlvbnMgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlcz86IFJlY29yZDxzdHJpbmcsIENvbnRhaW5lck9wdGlvbnM+IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgdG9vbHM/OiBUb29scyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBuZWVkcz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgcGVybWlzc2lvbnM6IEpvYlBlcm1pc3Npb25zO1xuICBwdWJsaWMgcmVhZG9ubHkgY29uY3VycmVuY3k/OiB1bmtub3duO1xuICBwdWJsaWMgcmVhZG9ubHkgaWY/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBzdHJhdGVneT86IEpvYlN0cmF0ZWd5IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gc2NvcGUgc2hvdWxkIGJlIHBhcnQgb2YgdGhlIHByb2plY3QgdGhlIFRhc2sgYmVsb25ncyB0by5cbiAgICogQHBhcmFtIHRhc2sgdGhlIG1haW4gdGFzayB0aGF0IGlzIHJ1biBhcyBwYXJ0IG9mIHRoaXMgam9iLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBvcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgVGFza1dvcmtmbG93Sm9iLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IElDb25zdHJ1Y3QsIHRhc2s6IFRhc2ssIG9wdGlvbnM6IFRhc2tXb3JrZmxvd0pvYk9wdGlvbnMpIHtcbiAgICBzdXBlcihzY29wZSwgYCR7bmV3LnRhcmdldC5uYW1lfSMke3Rhc2submFtZX1gKTtcbiAgICBjb25zdCBwcmVDaGVja291dFN0ZXBzID0gb3B0aW9ucy5wcmVDaGVja291dFN0ZXBzID8/IFtdO1xuXG4gICAgY29uc3QgY2hlY2tvdXRXaXRoOiB7IGxmcz86IGJvb2xlYW47IHN1Ym1vZHVsZXM/OiBDaGVja291dFN1Ym1vZHVsZXMgfSA9IHt9O1xuICAgIGlmIChvcHRpb25zLmRvd25sb2FkTGZzKSB7XG4gICAgICBjaGVja291dFdpdGgubGZzID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgb3B0aW9ucy5jaGVja291dFN1Ym1vZHVsZXMgJiZcbiAgICAgIG9wdGlvbnMuY2hlY2tvdXRTdWJtb2R1bGVzICE9PSBDaGVja291dFN1Ym1vZHVsZXMuRElTQUJMRURcbiAgICApIHtcbiAgICAgIGNoZWNrb3V0V2l0aC5zdWJtb2R1bGVzID0gb3B0aW9ucy5jaGVja291dFN1Ym1vZHVsZXM7XG4gICAgfVxuICAgIC8vICdjaGVja291dFdpdGgnIGNhbiBvdmVycmlkZSAnbGZzJyBhbmQgJ3N1Ym1vZHVsZXMnXG4gICAgT2JqZWN0LmFzc2lnbihjaGVja291dFdpdGgsIG9wdGlvbnMuY2hlY2tvdXRXaXRoID8/IHt9KTtcblxuICAgIGNvbnN0IHByZUJ1aWxkU3RlcHMgPSBvcHRpb25zLnByZUJ1aWxkU3RlcHMgPz8gW107XG4gICAgY29uc3QgcG9zdEJ1aWxkU3RlcHMgPSBvcHRpb25zLnBvc3RCdWlsZFN0ZXBzID8/IFtdO1xuICAgIGNvbnN0IGdpdElkZW50aXR5ID0gb3B0aW9ucy5naXRJZGVudGl0eSA/PyBERUZBVUxUX0dJVEhVQl9BQ1RJT05TX1VTRVI7XG5cbiAgICBpZiAob3B0aW9ucy5hcnRpZmFjdHNEaXJlY3RvcnkpIHtcbiAgICAgIGVuc3VyZU5vdEhpZGRlblBhdGgob3B0aW9ucy5hcnRpZmFjdHNEaXJlY3RvcnksIFwiYXJ0aWZhY3RzRGlyZWN0b3J5XCIpO1xuICAgICAgcG9zdEJ1aWxkU3RlcHMucHVzaChcbiAgICAgICAgV29ya2Zsb3dTdGVwcy51cGxvYWRBcnRpZmFjdCh7XG4gICAgICAgICAgLy8gU2V0dGluZyB0byBhbHdheXMgd2lsbCBlbnN1cmUgdGhhdCB0aGlzIHN0ZXAgd2lsbCBydW4gZXZlbiBpZlxuICAgICAgICAgIC8vIHRoZSBwcmV2aW91cyBvbmVzIGhhdmUgZmFpbGVkIChlLmcuIGNvdmVyYWdlIHJlcG9ydCwgaW50ZXJuYWwgbG9ncywgZXRjKVxuICAgICAgICAgIGlmOiBcImFsd2F5cygpXCIsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgbmFtZTogb3B0aW9ucy5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgICAgICBwYXRoOiBvcHRpb25zLmFydGlmYWN0c0RpcmVjdG9yeSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgcnVuc09uSW5wdXRzID0gZmlsdGVyZWRSdW5zT25PcHRpb25zKFxuICAgICAgb3B0aW9ucy5ydW5zT24sXG4gICAgICBvcHRpb25zLnJ1bnNPbkdyb3VwLFxuICAgICk7XG4gICAgdGhpcy5ydW5zT24gPSAocnVuc09uSW5wdXRzIGFzIHsgcnVuc09uOiBzdHJpbmdbXSB9KT8ucnVuc09uO1xuICAgIHRoaXMucnVuc09uR3JvdXAgPSAocnVuc09uSW5wdXRzIGFzIHsgcnVuc09uR3JvdXA6IEdyb3VwUnVubmVyT3B0aW9ucyB9KVxuICAgICAgPy5ydW5zT25Hcm91cDtcbiAgICB0aGlzLmNvbnRhaW5lciA9IG9wdGlvbnMuY29udGFpbmVyO1xuICAgIHRoaXMuZW52ID0gb3B0aW9ucy5lbnY7XG4gICAgdGhpcy5wZXJtaXNzaW9ucyA9IG9wdGlvbnMucGVybWlzc2lvbnM7XG4gICAgdGhpcy5kZWZhdWx0cyA9IG9wdGlvbnM/LmpvYkRlZmF1bHRzO1xuICAgIHRoaXMuaWYgPSBvcHRpb25zLmNvbmRpdGlvbjtcbiAgICB0aGlzLm91dHB1dHMgPSBvcHRpb25zLm91dHB1dHM7XG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IG9wdGlvbnMuZW52aXJvbm1lbnQ7XG4gICAgdGhpcy5zdGVwcyA9IFtcbiAgICAgIC4uLnByZUNoZWNrb3V0U3RlcHMsXG5cbiAgICAgIC8vIGNoZWNrIG91dCBzb3VyY2VzLlxuICAgICAgV29ya2Zsb3dTdGVwcy5jaGVja291dCh7IHdpdGg6IGNoZWNrb3V0V2l0aCB9KSxcblxuICAgICAgLy8gc2V0cyBnaXQgaWRlbnRpdHkgc28gd2UgY2FuIHB1c2ggbGF0ZXJcbiAgICAgIFdvcmtmbG93U3RlcHMuc2V0dXBHaXRJZGVudGl0eSh7IGdpdElkZW50aXR5IH0pLFxuXG4gICAgICAuLi5wcmVCdWlsZFN0ZXBzLFxuXG4gICAgICAvLyBydW4gdGhlIG1haW4gYnVpbGQgdGFza1xuICAgICAge1xuICAgICAgICBuYW1lOiB0YXNrLm5hbWUsXG4gICAgICAgIHJ1bjogdGhpcy5wcm9qZWN0LnJ1blRhc2tDb21tYW5kKHRhc2spLFxuICAgICAgfSxcblxuICAgICAgLi4ucG9zdEJ1aWxkU3RlcHMsXG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAanNpaSBpZ25vcmVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgdG9KU09OKCk6IEpvYiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJ1bnNPbjogdGhpcy5ydW5zT24sXG4gICAgICBydW5zT25Hcm91cDogdGhpcy5ydW5zT25Hcm91cCxcbiAgICAgIHN0ZXBzOiB0aGlzLnN0ZXBzLFxuICAgICAgZW52aXJvbm1lbnQ6IHRoaXMuZW52aXJvbm1lbnQsXG4gICAgICBvdXRwdXRzOiB0aGlzLm91dHB1dHMsXG4gICAgICBlbnY6IHRoaXMuZW52LFxuICAgICAgZGVmYXVsdHM6IHRoaXMuZGVmYXVsdHMsXG4gICAgICB0aW1lb3V0TWludXRlczogdGhpcy50aW1lb3V0TWludXRlcyxcbiAgICAgIGNvbnRpbnVlT25FcnJvcjogdGhpcy5jb250aW51ZU9uRXJyb3IsXG4gICAgICBjb250YWluZXI6IHRoaXMuY29udGFpbmVyLFxuICAgICAgc2VydmljZXM6IHRoaXMuc2VydmljZXMsXG4gICAgICB0b29sczogdGhpcy50b29scyxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIG5lZWRzOiB0aGlzLm5lZWRzLFxuICAgICAgcGVybWlzc2lvbnM6IHRoaXMucGVybWlzc2lvbnMsXG4gICAgICBjb25jdXJyZW5jeTogdGhpcy5jb25jdXJyZW5jeSxcbiAgICAgIGlmOiB0aGlzLmlmLFxuICAgICAgc3RyYXRlZ3k6IHRoaXMuc3RyYXRlZ3ksXG4gICAgfTtcbiAgfVxufVxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay13b3JrZmxvdy1qb2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2l0aHViL3Rhc2std29ya2Zsb3ctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSwyQ0FBMEQ7QUFHMUQscURBQXFFO0FBV3JFLDRDQUF5QztBQUV6QyxzREFBMEQ7QUFFMUQsdUNBQW1EO0FBdUhuRDs7OztHQUlHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHFCQUFTOztJQUM1QixNQUFNLENBQXdCO0lBQzlCLFdBQVcsQ0FBa0M7SUFDN0MsS0FBSyxDQUFZO0lBQ2pCLFdBQVcsQ0FBVTtJQUNyQixPQUFPLENBQTZDO0lBQ3BELEdBQUcsQ0FBc0M7SUFDekMsUUFBUSxDQUEyQjtJQUNuQyxjQUFjLENBQXNCO0lBQ3BDLGVBQWUsQ0FBdUI7SUFDdEMsU0FBUyxDQUFnQztJQUN6QyxRQUFRLENBQWdEO0lBQ3hELEtBQUssQ0FBcUI7SUFDMUIsSUFBSSxDQUFzQjtJQUMxQixLQUFLLENBQXdCO0lBQzdCLFdBQVcsQ0FBaUI7SUFDNUIsV0FBVyxDQUFXO0lBQ3RCLEVBQUUsQ0FBc0I7SUFDeEIsUUFBUSxDQUEyQjtJQUVuRDs7OztPQUlHO0lBQ0gsWUFBWSxLQUFpQixFQUFFLElBQVUsRUFBRSxPQUErQjtRQUN4RSxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBRXhELE1BQU0sWUFBWSxHQUF1RCxFQUFFLENBQUM7UUFDNUUsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEIsWUFBWSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQ0UsT0FBTyxDQUFDLGtCQUFrQjtZQUMxQixPQUFPLENB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Q0FBQyxlQUFlO1lBQ3JDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDO0lBQ0osQ0FBQzs7QUF6SEgsMENBMEhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IERFRkFVTFRfR0lUSFVCX0FDVElPTlNfVVNFUiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHR5cGUgeyBHaXRJZGVudGl0eSB9IGZyb20gXCIuL3Rhc2std29ya2Zsb3dcIjtcbmltcG9ydCB0eXBlIHsgQ2hlY2tvdXRXaXRoIH0gZnJvbSBcIi4vd29ya2Zsb3ctc3RlcHNcIjtcbmltcG9ydCB7IENoZWNrb3V0U3VibW9kdWxlcywgV29ya2Zsb3dTdGVwcyB9IGZyb20gXCIuL3dvcmtmbG93LXN0ZXBzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIENvbnRhaW5lck9wdGlvbnMsXG4gIEpvYixcbiAgSm9iRGVmYXVsdHMsXG4gIEpvYlBlcm1pc3Npb25zLFxuICBKb2JTdGVwLFxuICBKb2JTdGVwT3V0cHV0LFxuICBKb2JTdHJhdGVneSxcbiAgVG9vbHMsXG59IGZyb20gXCIuL3dvcmtmbG93cy1tb2RlbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBHcm91cFJ1bm5lck9wdGlvbnMgfSBmcm9tIFwiLi4vcnVubmVyLW9wdGlvbnNcIjtcbmltcG9ydCB7IGZpbHRlcmVkUnVuc09uT3B0aW9ucyB9IGZyb20gXCIuLi9ydW5uZXItb3B0aW9uc1wiO1xuaW1wb3J0IHR5cGUgeyBUYXNrIH0gZnJvbSBcIi4uL3Rhc2tcIjtcbmltcG9ydCB7IGVuc3VyZU5vdEhpZGRlblBhdGggfSBmcm9tIFwiLi4vdXRpbC9wYXRoXCI7XG5cbi8qKlxuICogT3B0aW9ucyB0byBjcmVhdGUgdGhlIEpvYiBhc3NvY2lhdGVkIHdpdGggYSBUYXNrV29ya2Zsb3cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFza1dvcmtmbG93Sm9iT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgaW1hZ2VcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lcj86IENvbnRhaW5lck9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gJ2lmJyBjb25kaXRpb24gdG8gdGhlIHdvcmtmbG93LlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZGl0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRpcmVjdG9yeSBuYW1lIHdoaWNoIGNvbnRhaW5zIGFydGlmYWN0cyB0byBiZSB1cGxvYWRlZCAoZS5nLiBgZGlzdGApLlxuICAgKiBJZiB0aGlzIGlzIHNldCwgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZGlyZWN0b3J5IHdpbGwgYmUgdXBsb2FkZWQgYXMgYW5cbiAgICogYXJ0aWZhY3QgYXQgdGhlIGVuZCBvZiB0aGUgd29ya2Zsb3cgcnVuLCBldmVuIGlmIG90aGVyIHN0ZXBzIGZhaWwuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldFxuICAgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3RzRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbml0aWFsIHN0ZXBzIHRvIHJ1biBiZWZvcmUgdGhlIHNvdXJjZSBjb2RlIGNoZWNrb3V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBzZXRcbiAgICovXG4gIHJlYWRvbmx5IHByZUNoZWNrb3V0U3RlcHM/OiBKb2JTdGVwW107XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIGZvciB0aGUgYHdpdGhgIHByb3BlcnR5IG9mIHRoZSBzb3VyY2UgY29kZSBjaGVja291dCBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBzZXRcbiAgICovXG4gIHJlYWRvbmx5IGNoZWNrb3V0V2l0aD86IENoZWNrb3V0V2l0aDtcblxuICAvKipcbiAgICogU3RlcHMgdG8gcnVuIGJlZm9yZSB0aGUgbWFpbiBidWlsZCBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBzZXRcbiAgICovXG4gIHJlYWRvbmx5IHByZUJ1aWxkU3RlcHM/OiBKb2JTdGVwW107XG5cbiAgLyoqXG4gICAqIEFjdGlvbnMgdG8gcnVuIGFmdGVyIHRoZSBtYWluIGJ1aWxkIHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldFxuICAgKi9cbiAgcmVhZG9ubHkgcG9zdEJ1aWxkU3RlcHM/OiBKb2JTdGVwW107XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93IGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIHJlYWRvbmx5IGVudj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFBlcm1pc3Npb25zIGZvciB0aGUgYnVpbGQgam9iLlxuICAgKi9cbiAgcmVhZG9ubHkgcGVybWlzc2lvbnM6IEpvYlBlcm1pc3Npb25zO1xuXG4gIC8qKlxuICAgKiBNYXBwaW5nIG9mIGpvYiBvdXRwdXQgbmFtZXMgdG8gdmFsdWVzL2V4cHJlc3Npb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0cz86IHsgW25hbWU6IHN0cmluZ106IEpvYlN0ZXBPdXRwdXQgfTtcblxuICAvKipcbiAgICogVGhlIGdpdCBpZGVudGl0eSB0byB1c2UgaW4gdGhpcyB3b3JrZmxvdy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IEdpdEh1YiBBY3Rpb25zIHVzZXJcbiAgICovXG4gIHJlYWRvbmx5IGdpdElkZW50aXR5PzogR2l0SWRlbnRpdHk7XG5cbiAgLyoqXG4gICAqIEdpdGh1YiBSdW5uZXIgc2VsZWN0aW9uIGxhYmVsc1xuICAgKiBAZGVmYXVsdCBbXCJ1YnVudHUtbGF0ZXN0XCJdXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGEgdGFyZ2V0IFJ1bm5lciBieSBsYWJlbHNcbiAgICogQHRocm93cyB7RXJyb3J9IGlmIGJvdGggYHJ1bnNPbmAgYW5kIGBydW5zT25Hcm91cGAgYXJlIHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgcnVuc09uPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEdpdGh1YiBSdW5uZXIgR3JvdXAgc2VsZWN0aW9uIG9wdGlvbnNcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgYSB0YXJnZXQgUnVubmVyIEdyb3VwIGJ5IG5hbWUgYW5kL29yIGxhYmVsc1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgYm90aCBgcnVuc09uYCBhbmQgYHJ1bnNPbkdyb3VwYCBhcmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBydW5zT25Hcm91cD86IEdyb3VwUnVubmVyT3B0aW9ucztcblxuICAvKipcbiAgICogV2hldGhlciB0byBkb3dubG9hZCBmaWxlcyBmcm9tIEdpdCBMRlMgZm9yIHRoaXMgd29ya2Zsb3dcbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2UgdGhlIHNldHRpbmcgb24gdGhlIGNvcnJlc3BvbmRpbmcgR2l0SHViIHByb2plY3RcbiAgICovXG4gIHJlYWRvbmx5IGRvd25sb2FkTGZzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBjaGVja291dCBHaXQgc3VibW9kdWxlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2UgdGhlIHNldHRpbmcgb24gdGhlIGNvcnJlc3BvbmRpbmcgR2l0SHViIHByb2plY3RcbiAgICovXG4gIHJlYWRvbmx5IGNoZWNrb3V0U3VibW9kdWxlcz86IENoZWNrb3V0U3VibW9kdWxlcztcblxuICAvKipcbiAgICogRGVmYXVsdCBzZXR0aW5ncyBmb3IgYWxsIHN0ZXBzIGluIHRoZSBUYXNrV29ya2Zsb3cgSm9iLlxuICAgKi9cbiAgcmVhZG9ubHkgam9iRGVmYXVsdHM/OiBKb2JEZWZhdWx0cztcblxuICAvKipcbiAgICogVGhlIEdpdEh1YiBBY3Rpb25zIGVudmlyb25tZW50IHVzZWQgZm9yIHRoZSBqb2IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZW52aXJvbm1lbnQgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIHByaW1hcnkgb3IgaW5pdGlhbCBqb2Igb2YgYSBUYXNrV29ya2Zsb3cuXG4gKlxuICogQGltcGxlbWVudHMge0pvYn1cbiAqL1xuZXhwb3J0IGNsYXNzIFRhc2tXb3JrZmxvd0pvYiBleHRlbmRzIENvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBydW5zT24/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHJ1bnNPbkdyb3VwPzogR3JvdXBSdW5uZXJPcHRpb25zIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RlcHM6IEpvYlN0ZXBbXTtcbiAgcHVibGljIHJlYWRvbmx5IGVudmlyb25tZW50Pzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0cz86IFJlY29yZDxzdHJpbmcsIEpvYlN0ZXBPdXRwdXQ+IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRzPzogSm9iRGVmYXVsdHMgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSB0aW1lb3V0TWludXRlcz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRpbnVlT25FcnJvcj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBjb250YWluZXI/OiBDb250YWluZXJPcHRpb25zIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZXM/OiBSZWNvcmQ8c3RyaW5nLCBDb250YWluZXJPcHRpb25zPiB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHRvb2xzPzogVG9vbHMgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgbmVlZHM/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHBlcm1pc3Npb25zOiBKb2JQZXJtaXNzaW9ucztcbiAgcHVibGljIHJlYWRvbmx5IGNvbmN1cnJlbmN5PzogdW5rbm93bjtcbiAgcHVibGljIHJlYWRvbmx5IGlmPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RyYXRlZ3k/OiBKb2JTdHJhdGVneSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQHBhcmFtIHNjb3BlIHNob3VsZCBiZSBwYXJ0IG9mIHRoZSBwcm9qZWN0IHRoZSBUYXNrIGJlbG9uZ3MgdG8uXG4gICAqIEBwYXJhbSB0YXNrIHRoZSBtYWluIHRhc2sgdGhhdCBpcyBydW4gYXMgcGFydCBvZiB0aGlzIGpvYi5cbiAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucyB0byBjb25maWd1cmUgdGhlIFRhc2tXb3JrZmxvd0pvYi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBJQ29uc3RydWN0LCB0YXNrOiBUYXNrLCBvcHRpb25zOiBUYXNrV29ya2Zsb3dKb2JPcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIGAke25ldy50YXJnZXQubmFtZX0jJHt0YXNrLm5hbWV9YCk7XG4gICAgY29uc3QgcHJlQ2hlY2tvdXRTdGVwcyA9IG9wdGlvbnMucHJlQ2hlY2tvdXRTdGVwcyA/PyBbXTtcblxuICAgIGNvbnN0IGNoZWNrb3V0V2l0aDogeyBsZnM/OiBib29sZWFuOyBzdWJtb2R1bGVzPzogQ2hlY2tvdXRTdWJtb2R1bGVzIH0gPSB7fTtcbiAgICBpZiAob3B0aW9ucy5kb3dubG9hZExmcykge1xuICAgICAgY2hlY2tvdXRXaXRoLmxmcyA9IHRydWU7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMuY2hlY2tvdXRTdWJtb2R1bGVzICYmXG4gICAgICBvcHRpb25zLmNoZWNrb3V0U3VibW9kdWxlcyAhPT0gQ2hlY2tvdXRTdWJtb2R1bGVzLkRJU0FCTEVEXG4gICAgKSB7XG4gICAgICBjaGVja291dFdpdGguc3VibW9kdWxlcyA9IG9wdGlvbnMuY2hlY2tvdXRTdWJtb2R1bGVzO1xuICAgIH1cbiAgICAvLyAnY2hlY2tvdXRXaXRoJyBjYW4gb3ZlcnJpZGUgJ2xmcycgYW5kICdzdWJtb2R1bGVzJ1xuICAgIE9iamVjdC5hc3NpZ24oY2hlY2tvdXRXaXRoLCBvcHRpb25zLmNoZWNrb3V0V2l0aCA/PyB7fSk7XG5cbiAgICBjb25zdCBwcmVCdWlsZFN0ZXBzID0gb3B0aW9ucy5wcmVCdWlsZFN0ZXBzID8/IFtdO1xuICAgIGNvbnN0IHBvc3RCdWlsZFN0ZXBzID0gb3B0aW9ucy5wb3N0QnVpbGRTdGVwcyA/PyBbXTtcbiAgICBjb25zdCBnaXRJZGVudGl0eSA9IG9wdGlvbnMuZ2l0SWRlbnRpdHkgPz8gREVGQVVMVF9HSVRIVUJfQUNUSU9OU19VU0VSO1xuXG4gICAgaWYgKG9wdGlvbnMuYXJ0aWZhY3RzRGlyZWN0b3J5KSB7XG4gICAgICBlbnN1cmVOb3RIaWRkZW5QYXRoKG9wdGlvbnMuYXJ0aWZhY3RzRGlyZWN0b3J5LCBcImFydGlmYWN0c0RpcmVjdG9yeVwiKTtcbiAgICAgIHBvc3RCdWlsZFN0ZXBzLnB1c2goXG4gICAgICAgIFdvcmtmbG93U3RlcHMudXBsb2FkQXJ0aWZhY3Qoe1xuICAgICAgICAgIC8vIFNldHRpbmcgdG8gYWx3YXlzIHdpbGwgZW5zdXJlIHRoYXQgdGhpcyBzdGVwIHdpbGwgcnVuIGV2ZW4gaWZcbiAgICAgICAgICAvLyB0aGUgcHJldmlvdXMgb25lcyBoYXZlIGZhaWxlZCAoZS5nLiBjb3ZlcmFnZSByZXBvcnQsIGludGVybmFsIGxvZ3MsIGV0YylcbiAgICAgICAgICBpZjogXCJhbHdheXMoKVwiLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIG5hbWU6IG9wdGlvbnMuYXJ0aWZhY3RzRGlyZWN0b3J5LFxuICAgICAgICAgICAgcGF0aDogb3B0aW9ucy5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHJ1bnNPbklucHV0cyA9IGZpbHRlcmVkUnVuc09uT3B0aW9ucyhcbiAgICAgIG9wdGlvbnMucnVuc09uLFxuICAgICAgb3B0aW9ucy5ydW5zT25Hcm91cCxcbiAgICApO1xuICAgIHRoaXMucnVuc09uID0gKHJ1bnNPbklucHV0cyBhcyB7IHJ1bnNPbjogc3RyaW5nW10gfSk/LnJ1bnNPbjtcbiAgICB0aGlzLnJ1bnNPbkdyb3VwID0gKHJ1bnNPbklucHV0cyBhcyB7IHJ1bnNPbkdyb3VwOiBHcm91cFJ1bm5lck9wdGlvbnMgfSlcbiAgICAgID8ucnVuc09uR3JvdXA7XG4gICAgdGhpcy5jb250YWluZXIgPSBvcHRpb25zLmNvbnRhaW5lcjtcbiAgICB0aGlzLmVudiA9IG9wdGlvbnMuZW52O1xuICAgIHRoaXMucGVybWlzc2lvbnMgPSBvcHRpb25zLnBlcm1pc3Npb25zO1xuICAgIHRoaXMuZGVmYXVsdHMgPSBvcHRpb25zPy5qb2JEZWZhdWx0cztcbiAgICB0aGlzLmlmID0gb3B0aW9ucy5jb25kaXRpb247XG4gICAgdGhpcy5vdXRwdXRzID0gb3B0aW9ucy5vdXRwdXRzO1xuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBvcHRpb25zLmVudmlyb25tZW50O1xuICAgIHRoaXMuc3RlcHMgPSBbXG4gICAgICAuLi5wcmVDaGVja291dFN0ZXBzLFxuXG4gICAgICAvLyBjaGVjayBvdXQgc291cmNlcy5cbiAgICAgIFdvcmtmbG93U3RlcHMuY2hlY2tvdXQoeyB3aXRoOiBjaGVja291dFdpdGggfSksXG5cbiAgICAgIC8vIHNldHMgZ2l0IGlkZW50aXR5IHNvIHdlIGNhbiBwdXNoIGxhdGVyXG4gICAgICBXb3JrZmxvd1N0ZXBzLnNldHVwR2l0SWRlbnRpdHkoeyBnaXRJZGVudGl0eSB9KSxcblxuICAgICAgLi4ucHJlQnVpbGRTdGVwcyxcblxuICAgICAgLy8gcnVuIHRoZSBtYWluIGJ1aWxkIHRhc2tcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGFzay5uYW1lLFxuICAgICAgICBydW46IHRoaXMucHJvamVjdC5ydW5UYXNrQ29tbWFuZCh0YXNrKSxcbiAgICAgIH0sXG5cbiAgICAgIC4uLnBvc3RCdWlsZFN0ZXBzLFxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogQGpzaWkgaWdub3JlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHRvSlNPTigpOiBKb2Ige1xuICAgIHJldHVybiB7XG4gICAgICBydW5zT246IHRoaXMucnVuc09uLFxuICAgICAgcnVuc09uR3JvdXA6IHRoaXMucnVuc09uR3JvdXAsXG4gICAgICBzdGVwczogdGhpcy5zdGVwcyxcbiAgICAgIGVudmlyb25tZW50OiB0aGlzLmVudmlyb25tZW50LFxuICAgICAgb3V0cHV0czogdGhpcy5vdXRwdXRzLFxuICAgICAgZW52OiB0aGlzLmVudixcbiAgICAgIGRlZmF1bHRzOiB0aGlzLmRlZmF1bHRzLFxuICAgICAgdGltZW91dE1pbnV0ZXM6IHRoaXMudGltZW91dE1pbnV0ZXMsXG4gICAgICBjb250aW51ZU9uRXJyb3I6IHRoaXMuY29udGludWVPbkVycm9yLFxuICAgICAgY29udGFpbmVyOiB0aGlzLmNvbnRhaW5lcixcbiAgICAgIHNlcnZpY2VzOiB0aGlzLnNlcnZpY2VzLFxuICAgICAgdG9vbHM6IHRoaXMudG9vbHMsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBuZWVkczogdGhpcy5uZWVkcyxcbiAgICAgIHBlcm1pc3Npb25zOiB0aGlzLnBlcm1pc3Npb25zLFxuICAgICAgY29uY3VycmVuY3k6IHRoaXMuY29uY3VycmVuY3ksXG4gICAgICBpZjogdGhpcy5pZixcbiAgICAgIHN0cmF0ZWd5OiB0aGlzLnN0cmF0ZWd5LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -9,7 +9,7 @@ const DEFAULT_JOB_ID = "build";
9
9
  * A GitHub workflow for common build tasks within a project.
10
10
  */
11
11
  class TaskWorkflow extends workflows_1.GithubWorkflow {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflow", version: "0.102.0" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflow", version: "0.103.0" };
13
13
  jobId;
14
14
  artifactsDirectory;
15
15
  constructor(github, options) {
@@ -6,6 +6,7 @@ const actions_const_1 = require("./actions.const");
6
6
  const constants_1 = require("./constants");
7
7
  const util_1 = require("./private/util");
8
8
  const workflow_steps_1 = require("./workflow-steps");
9
+ const path_1 = require("../util/path");
9
10
  const REPO = (0, util_1.context)("github.repository");
10
11
  const RUN_ID = (0, util_1.context)("github.run_id");
11
12
  const SERVER_URL = (0, util_1.context)("github.server_url");
@@ -16,7 +17,7 @@ const RUNNER_TEMP = "${{ runner.temp }}";
16
17
  * A set of utility functions for creating GitHub actions in workflows.
17
18
  */
18
19
  class WorkflowActions {
19
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowActions", version: "0.102.0" };
20
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowActions", version: "0.103.0" };
20
21
  /**
21
22
  * Creates a .patch file from the current git diff and uploads it as an
22
23
  * artifact. Use `checkoutWithPatch` to download and apply in another job.
@@ -48,7 +49,7 @@ class WorkflowActions {
48
49
  with: {
49
50
  name: GIT_PATCH_FILE,
50
51
  path: GIT_PATCH_FILE,
51
- includeHiddenFiles: (0, util_1.isHiddenPath)(GIT_PATCH_FILE) ? true : undefined,
52
+ includeHiddenFiles: (0, path_1.isHiddenPath)(GIT_PATCH_FILE) ? true : undefined,
52
53
  },
53
54
  }),
54
55
  ];
@@ -141,4 +142,4 @@ class WorkflowActions {
141
142
  }
142
143
  }
143
144
  exports.WorkflowActions = WorkflowActions;
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9naXRodWIvd29ya2Zsb3ctYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsbURBQWdEO0FBQ2hELDJDQUEwRDtBQUMxRCx5Q0FBdUQ7QUFFdkQscURBQWlEO0FBR2pELE1BQU0sSUFBSSxHQUFHLElBQUEsY0FBTyxFQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBQSxjQUFPLEVBQUMsZUFBZSxDQUFDLENBQUM7QUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBQSxjQUFPLEVBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUNoRCxNQUFNLE9BQU8sR0FBRyxHQUFHLFVBQVUsSUFBSSxJQUFJLGlCQUFpQixNQUFNLEVBQUUsQ0FBQztBQUMvRCxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQztBQUM1QyxNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQztBQUV6Qzs7R0FFRztBQUNILE1BQWEsZUFBZTs7SUFDMUI7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQThCO1FBQ3pELE1BQU0sZUFBZSxHQUFHLFNBQVMsT0FBTyxDQUFDLE1BQU0sWUFBWSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEYsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxzQkFBc0IsQ0FBQztRQUVuRSxNQUFNLEtBQUssR0FBYztZQUN2QjtnQkFDRSxFQUFFLEVBQUUsT0FBTyxDQUFDLE1BQU07Z0JBQ2xCLElBQUksRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLGdCQUFnQjtnQkFDMUMsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsR0FBRyxFQUFFO29CQUNILFdBQVc7b0JBQ1gsMkNBQTJDLGNBQWMsYUFBYSxPQUFPLENBQUMsVUFBVSwwQkFBMEI7aUJBQ25ILENBQUMsSUFBSSxDQUFDLElBQUksQ0FB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QWE7U0FDdkUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFYixPQUFPO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsRUFBRSxFQUFFLE1BQU07Z0JBQ1YsSUFBSSxFQUFFLDZCQUFhLENBQUMsK0JBQStCO2dCQUNuRCxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsUUFBUTtvQkFDcEMsZ0JBQWdCLEVBQUUsR0FBRyxLQUFLLE9BQU8sV0FBVyxFQUFFO29CQUM5QyxNQUFNLEVBQUUsVUFBVTtvQkFDbEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVO29CQUN4QixLQUFLLEVBQUUsS0FBSztvQkFDWixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUztvQkFDOUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFNBQVM7b0JBQ3BELElBQUksRUFBRSxXQUFXO29CQUNqQixNQUFNLEVBQUUsU0FBUztvQkFDakIsU0FBUyxFQUFFLFNBQVM7b0JBQ3BCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUk7b0JBQ2hDLFdBQVcsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO29CQUN0RCxlQUFlLEVBQUUsT0FBTyxDQUFDLFlBQVksSUFBSSxTQUFTO2lCQUNuRDthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O0FBcklILDBDQXNJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR2l0SWRlbnRpdHksIEdpdGh1YkNyZWRlbnRpYWxzIH0gZnJvbSBcIi5cIjtcbmltcG9ydCB7IEdpdEh1YkFjdGlvbnMgfSBmcm9tIFwiLi9hY3Rpb25zLmNvbnN0XCI7XG5pbXBvcnQgeyBERUZBVUxUX0dJVEhVQl9BQ1RJT05TX1VTRVIgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGNvbnRleHQsIGlzSGlkZGVuUGF0aCB9IGZyb20gXCIuL3ByaXZhdGUvdXRpbFwiO1xuaW1wb3J0IHR5cGUgeyBDaGVja291dFdpdGggfSBmcm9tIFwiLi93b3JrZmxvdy1zdGVwc1wiO1xuaW1wb3J0IHsgV29ya2Zsb3dTdGVwcyB9IGZyb20gXCIuL3dvcmtmbG93LXN0ZXBzXCI7XG5pbXBvcnQgdHlwZSB7IEpvYlN0ZXAgfSBmcm9tIFwiLi93b3JrZmxvd3MtbW9kZWxcIjtcblxuY29uc3QgUkVQTyA9IGNvbnRleHQoXCJnaXRodWIucmVwb3NpdG9yeVwiKTtcbmNvbnN0IFJVTl9JRCA9IGNvbnRleHQoXCJnaXRodWIucnVuX2lkXCIpO1xuY29uc3QgU0VSVkVSX1VSTCA9IGNvbnRleHQoXCJnaXRodWIuc2VydmVyX3VybFwiKTtcbmNvbnN0IFJVTl9VUkwgPSBgJHtTRVJWRVJfVVJMfS8ke1JFUE99L2FjdGlvbnMvcnVucy8ke1JVTl9JRH1gO1xuY29uc3QgR0lUX1BBVENIX0ZJTEVfREVGQVVMVCA9IFwicmVwby5wYXRjaFwiO1xuY29uc3QgUlVOTkVSX1RFTVAgPSBcIiR7eyBydW5uZXIudGVtcCB9fVwiO1xuXG4vKipcbiAqIEEgc2V0IG9mIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBjcmVhdGluZyBHaXRIdWIgYWN0aW9ucyBpbiB3b3JrZmxvd3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0FjdGlvbnMge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIC5wYXRjaCBmaWxlIGZyb20gdGhlIGN1cnJlbnQgZ2l0IGRpZmYgYW5kIHVwbG9hZHMgaXQgYXMgYW5cbiAgICogYXJ0aWZhY3QuIFVzZSBgY2hlY2tvdXRXaXRoUGF0Y2hgIHRvIGRvd25sb2FkIGFuZCBhcHBseSBpbiBhbm90aGVyIGpvYi5cbiAgICpcbiAgICogSWYgYSBwYXRjaCB3YXMgdXBsb2FkZWQsIHRoZSBhY3Rpb24gY2FuIG9wdGlvbmFsbHkgZmFpbCB0aGUgam9iLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zXG4gICAqIEByZXR1cm5zIEpvYiBzdGVwc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1cGxvYWRHaXRQYXRjaChvcHRpb25zOiBVcGxvYWRHaXRQYXRjaE9wdGlvbnMpOiBKb2JTdGVwW10ge1xuICAgIGNvbnN0IE1VVEFUSU9OU19GT1VORCA9IGBzdGVwcy4ke29wdGlvbnMuc3RlcElkfS5vdXRwdXRzLiR7b3B0aW9ucy5vdXRwdXROYW1lfWA7XG4gICAgY29uc3QgR0lUX1BBVENIX0ZJTEUgPSBvcHRpb25zLnBhdGNoRmlsZSA/PyBHSVRfUEFUQ0hfRklMRV9ERUZBVUxUO1xuXG4gICAgY29uc3Qgc3RlcHM6IEpvYlN0ZXBbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IG9wdGlvbnMuc3RlcElkLFxuICAgICAgICBuYW1lOiBvcHRpb25zLnN0ZXBOYW1lID8/IFwiRmluZCBtdXRhdGlvbnNcIixcbiAgICAgICAgc2hlbGw6IFwiYmFzaFwiLFxuICAgICAgICBydW46IFtcbiAgICAgICAgICBcImdpdCBhZGQgLlwiLFxuICAgICAgICAgIGBnaXQgZGlmZiAtLXN0YWdlZCAtLXBhdGNoIC0tZXhpdC1jb2RlID4gJHtHSVRfUEFUQ0hfRklMRX0gfHwgZWNobyBcIiR7b3B0aW9ucy5vdXRwdXROYW1lfT10cnVlXCIgPj4gJEdJVEhVQl9PVVRQVVRgLFxuICAgICAgICBdLmpvaW4oXCJcXG5cIiksXG4gICAgICAgIC8vIGFsd2F5cyBydW4gZnJvbSByb290IG9mIHJlcG9zaXRvcnlcbiAgICAgICAgLy8gb3ZlcnJpZGVzIGRlZmF1bHQgd29ya2luZyBkaXJlY3Rvcnkgd2hpY2ggaXMgc2V0IGJ5IHNvbWUgd29ya2Zsb3dzIHVzaW5nIHRoaXMgZnVuY3Rpb25cbiAgICAgICAgd29ya2luZ0RpcmVjdG9yeTogXCIuL1wiLFxuICAgICAgfSxcbiAgICAgIFdvcmtmbG93U3RlcHMudXBsb2FkQXJ0aWZhY3Qoe1xuICAgICAgICBpZjogTVVUQVRJT05TX0ZPVU5ELFxuICAgICAgICBuYW1lOiBcIlVwbG9hZCBwYXRjaFwiLFxuICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgbmFtZTogR0lUX1BBVENIX0ZJTEUsXG4gICAgICAgICAgcGF0aDogR0lUX1BBVENIX0ZJTEUsXG4gICAgICAgICAgaW5jbHVkZUhpZGRlbkZpbGVzOiBpc0hpZGRlblBhdGgoR0lUX1BBVENIX0ZJTEUpID8gdHJ1ZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIF07XG5cbiAgICBpZiAob3B0aW9ucy5tdXRhdGlvbkVycm9yKSB7XG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgbmFtZTogXCJGYWlsIGJ1aWxkIG9uIG11dGF0aW9uXCIsXG4gICAgICAgIGlmOiBNVVRBVElPTlNfRk9VTkQsXG4gICAgICAgIHJ1bjogW1xuICAgICAgICAgIGBlY2hvIFwiOjplcnJvcjo6JHtvcHRpb25zLm11dGF0aW9uRXJyb3J9XCJgLFxuICAgICAgICAgIGBjYXQgJHtHSVRfUEFUQ0hfRklMRX1gLFxuICAgICAgICAgIFwiZXhpdCAxXCIsXG4gICAgICAgIF0uam9pbihcIlxcblwiKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzdGVwcztcbiAgfVxuICAvKipcbiAgICogQ2hlY2tzIG91dCBhIHJlcG9zaXRvcnkgYW5kIGFwcGxpZXMgYSBnaXQgcGF0Y2ggdGhhdCB3YXMgY3JlYXRlZCB1c2luZ1xuICAgKiBgdXBsb2FkR2l0UGF0Y2hgLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zXG4gICAqIEByZXR1cm5zIEpvYiBzdGVwc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjaGVja291dFdpdGhQYXRjaChcbiAgICBvcHRpb25zOiBDaGVja291dFdpdGhQYXRjaE9wdGlvbnMgPSB7fSxcbiAgKTogSm9iU3RlcFtdIHtcbiAgICBjb25zdCB7IHBhdGNoRmlsZSwgLi4ucmVzdE9mT3B0aW9ucyB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBHSVRfUEFUQ0hfRklMRSA9IG9wdGlvbnMucGF0Y2hGaWxlID8/IEdJVF9QQVRDSF9GSUxFX0RFRkFVTFQ7XG5cbiAgICByZXR1cm4gW1xuICAgICAgV29ya2Zsb3dTdGVwcy5jaGVja291dCh7IHdpdGg6IHJlc3RPZk9wdGlvbnMgfSksXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiRG93bmxvYWQgcGF0Y2hcIixcbiAgICAgICAgdXNlczogR2l0SHViQWN0aW9ucy5BQ1RJT05TX0RPV05MT0FEX0FSVElGQUNULFxuICAgICAgICB3aXRoOiB7IG5hbWU6IEdJVF9QQVRDSF9GSUxFLCBwYXRoOiBSVU5ORVJfVEVNUCB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJBcHBseSBwYXRjaFwiLFxuICAgICAgICBydW46IGBbIC1zICR7UlVOTkVSX1RFTVB9LyR7R0lUX1BBVENIX0ZJTEV9IF0gJiYgZ2l0IGFwcGx5ICR7UlVOTkVSX1RFTVB9LyR7R0lUX1BBVENIX0ZJTEV9IHx8IGVjaG8gXCJFbXB0eSBwYXRjaC4gU2tpcHBpbmcuXCJgLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3RlcCB0aGF0IGNyZWF0ZXMgYSBwdWxsIHJlcXVlc3QgYmFzZWQgb24gdGhlIGN1cnJlbnQgcmVwbyBzdGF0ZS5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uc1xuICAgKiBAcmV0dXJucyBKb2Igc3RlcHNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlUHVsbFJlcXVlc3QoXG4gICAgb3B0aW9uczogQ3JlYXRlUHVsbFJlcXVlc3RPcHRpb25zLFxuICApOiBKb2JTdGVwW10ge1xuICAgIGNvbnN0IHdvcmtmbG93TmFtZSA9IG9wdGlvbnMud29ya2Zsb3dOYW1lO1xuICAgIGNvbnN0IGJyYW5jaE5hbWUgPSBvcHRpb25zLmJyYW5jaE5hbWUgPz8gYGdpdGh1Yi1hY3Rpb25zLyR7d29ya2Zsb3dOYW1lfWA7XG4gICAgY29uc3Qgc3RlcElkID0gb3B0aW9ucy5zdGVwSWQgPz8gXCJjcmVhdGUtcHJcIjtcbiAgICBjb25zdCBzdGVwTmFtZSA9IG9wdGlvbnMuc3RlcE5hbWUgPz8gXCJDcmVhdGUgUHVsbCBSZXF1ZXN0XCI7XG4gICAgY29uc3QgZ2l0SWRlbnRpdHkgPSBvcHRpb25zLmdpdElkZW50aXR5ID8/IERFRkFVTFRfR0lUSFVCX0FDVElPTlNfVVNFUjtcbiAgICBjb25zdCBjb21taXR0ZXIgPSBgJHtnaXRJZGVudGl0eS5uYW1lfSA8JHtnaXRJZGVudGl0eS5lbWFpbH0+YDtcbiAgICBjb25zdCBwdWxsUmVxdWVzdERlc2NyaXB0aW9uID0gb3B0aW9ucy5wdWxsUmVxdWVzdERlc2NyaXB0aW9uXG4gICAgICAudHJpbUVuZCgpXG4gICAgICAuZW5kc1dpdGgoXCIuXCIpXG4gICAgICA/IG9wdGlvbnMucHVsbFJlcXVlc3REZXNjcmlwdGlvbi50cmltRW5kKClcbiAgICAgIDogYCR7b3B0aW9ucy5wdWxsUmVxdWVzdERlc2NyaXB0aW9uLnRyaW1FbmQoKX0uYDtcblxuICAgIGNvbnN0IHRpdGxlID0gb3B0aW9ucy5wdWxsUmVxdWVzdFRpdGxlO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gW1xuICAgICAgYCR7cHVsbFJlcXVlc3REZXNjcmlwdGlvbn0gU2VlIGRldGFpbHMgaW4gW3dvcmtmbG93IHJ1bl0uYCxcbiAgICAgIFwiXCIsXG4gICAgICBgW1dvcmtmbG93IFJ1bl06ICR7UlVOX1VSTH1gLFxuICAgICAgXCJcIixcbiAgICAgIFwiLS0tLS0tXCIsXG4gICAgICBcIlwiLFxuICAgICAgYCpBdXRvbWF0aWNhbGx5IGNyZWF0ZWQgYnkgcHJvamVuIHZpYSB0aGUgXCIke3dvcmtmbG93TmFtZX1cIiB3b3JrZmxvdypgLFxuICAgIF0uam9pbihcIlxcblwiKTtcblxuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHN0ZXBOYW1lLFxuICAgICAgICBpZDogc3RlcElkLFxuICAgICAgICB1c2VzOiBHaXRIdWJBY3Rpb25zLlBFVEVSX0VWQU5TX0NSRUFURV9QVUxMX1JFUVVFU1QsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICB0b2tlbjogb3B0aW9ucy5jcmVkZW50aWFscz8udG9rZW5SZWYsXG4gICAgICAgICAgXCJjb21taXQtbWVzc2FnZVwiOiBgJHt0aXRsZX1cXG5cXG4ke2Rlc2NyaXB0aW9ufWAsXG4gICAgICAgICAgYnJhbmNoOiBicmFuY2hOYW1lLFxuICAgICAgICAgIGJhc2U6IG9wdGlvbnMuYmFzZUJyYW5jaCxcbiAgICAgICAgICB0aXRsZTogdGl0bGUsXG4gICAgICAgICAgbGFiZWxzOiBvcHRpb25zLmxhYmVscz8uam9pbihcIixcIikgfHwgdW5kZWZpbmVkLFxuICAgICAgICAgIGFzc2lnbmVlczogb3B0aW9ucy5hc3NpZ25lZXM/LmpvaW4oXCIsXCIpIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICBib2R5OiBkZXNjcmlwdGlvbixcbiAgICAgICAgICBhdXRob3I6IGNvbW1pdHRlcixcbiAgICAgICAgICBjb21taXR0ZXI6IGNvbW1pdHRlcixcbiAgICAgICAgICBzaWdub2ZmOiBvcHRpb25zLnNpZ25vZmYgPz8gdHJ1ZSxcbiAgICAgICAgICBcImFkZC1wYXRoc1wiOiBvcHRpb25zLmFkZFBhdGhzPy5qb2luKFwiXFxuXCIpIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICBcImRlbGV0ZS1icmFuY2hcIjogb3B0aW9ucy5kZWxldGVCcmFuY2ggPz8gdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdO1xuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYGNoZWNrb3V0V2l0aFBhdGNoYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGVja291dFdpdGhQYXRjaE9wdGlvbnMgZXh0ZW5kcyBDaGVja291dFdpdGgge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFydGlmYWN0IHRoZSBwYXRjaCBpcyBzdG9yZWQgYXMuXG4gICAqIEBkZWZhdWx0IFwiLnJlcG8ucGF0Y2hcIlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0Y2hGaWxlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGB1cGxvYWRHaXRQYXRjaGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkR2l0UGF0Y2hPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzdGVwIElEIHdoaWNoIHByb2R1Y2VzIHRoZSBvdXRwdXQgd2hpY2ggaW5kaWNhdGVzIGlmIGEgcGF0Y2ggd2FzIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBzdGVwSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN0ZXAuXG4gICAqIEBkZWZhdWx0IFwiRmluZCBtdXRhdGlvbnNcIlxuICAgKi9cbiAgcmVhZG9ubHkgc3RlcE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhcnRpZmFjdCB0aGUgcGF0Y2ggaXMgc3RvcmVkIGFzLlxuICAgKiBAZGVmYXVsdCBcIi5yZXBvLnBhdGNoXCJcbiAgICovXG4gIHJlYWRvbmx5IHBhdGNoRmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG91dHB1dCB0byBlbWl0LiBJdCB3aWxsIGJlIHNldCB0byBgdHJ1ZWAgaWYgdGhlcmUgd2FzIGEgZGlmZi5cbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRmFpbCBpZiBhIG11dGF0aW9uIHdhcyBmb3VuZCBhbmQgcHJpbnQgdGhpcyBlcnJvciBtZXNzYWdlLlxuICAgKiBAZGVmYXVsdCAtIGRvIG5vdCBmYWlsIHVwb24gbXV0YXRpb25cbiAgICovXG4gIHJlYWRvbmx5IG11dGF0aW9uRXJyb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlUHVsbFJlcXVlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzdGVwIElEIHdoaWNoIHByb2R1Y2VzIHRoZSBvdXRwdXQgd2hpY2ggaW5kaWNhdGVzIGlmIGEgcGF0Y2ggd2FzIGNyZWF0ZWQuXG4gICAqIEBkZWZhdWx0IFwiY3JlYXRlX3ByXCJcbiAgICovXG4gIHJlYWRvbmx5IHN0ZXBJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN0ZXAgZGlzcGxheWVkIG9uIEdpdEh1Yi5cbiAgICogQGRlZmF1bHQgXCJDcmVhdGUgUHVsbCBSZXF1ZXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IHN0ZXBOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgam9iIGNyZWRlbnRpYWxzIHVzZWQgdG8gY3JlYXRlIHRoZSBwdWxsIHJlcXVlc3QuXG4gICAqXG4gICAqIFByb3ZpZGVkIGNyZWRlbnRpYWxzIG11c3QgaGF2ZSBwZXJtaXNzaW9ucyB0byBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSBjcmVkZW50aWFscz86IEdpdGh1YkNyZWRlbnRpYWxzO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgd29ya2Zsb3cgdGhhdCB3aWxsIGNyZWF0ZSB0aGUgUFJcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVsbCB0aXRsZSB1c2VkIHRvIGNyZWF0ZSB0aGUgcHVsbCByZXF1ZXN0LlxuICAgKlxuICAgKiBJZiBQUiB0aXRsZXMgYXJlIHZhbGlkYXRlZCBpbiB0aGlzIHJlcG8sIHRoZSB0aXRsZSBzaG91bGQgY29tcGx5IHdpdGggdGhlIHJlc3BlY3RpdmUgcnVsZXMuXG4gICAqL1xuICByZWFkb25seSBwdWxsUmVxdWVzdFRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIGFkZGVkIHRvIHRoZSBwdWxsIHJlcXVlc3QuXG4gICAqXG4gICAqIFByb3ZpZGVuY2UgaW5mb3JtYXRpb24gYXJlIGF1dG9tYXRpY2FsbHkgYWRkZWQuXG4gICAqL1xuICByZWFkb25seSBwdWxsUmVxdWVzdERlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHB1bGwgcmVxdWVzdCBiYXNlIGJyYW5jaC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgYnJhbmNoIGNoZWNrZWQgb3V0IGluIHRoZSB3b3JrZmxvdy5cbiAgICovXG4gIHJlYWRvbmx5IGJhc2VCcmFuY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwdWxsIHJlcXVlc3QgYnJhbmNoIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBnaXRodWItYWN0aW9ucy8ke29wdGlvbnMud29ya2Zsb3dOYW1lfWBcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGhzIHRvIGFkZCB0byB0aGUgY29tbWl0LCBtYXBwaW5nIHRvIHRoZSBhY3Rpb24ncyBgYWRkLXBhdGhzYCBpbnB1dC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhbGwgcGF0aHNcbiAgICovXG4gIHJlYWRvbmx5IGFkZFBhdGhzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGVsZXRlIHRoZSBwdWxsIHJlcXVlc3QgYnJhbmNoIHdoZW4gdGhlIHB1bGwgcmVxdWVzdCBpcyBjbG9zZWQsXG4gICAqIG1hcHBpbmcgdG8gdGhlIGFjdGlvbidzIGBkZWxldGUtYnJhbmNoYCBpbnB1dC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUJyYW5jaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBnaXQgaWRlbnRpdHkgdXNlZCB0byBjcmVhdGUgdGhlIGNvbW1pdC5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IEdpdEh1YiBBY3Rpb25zIHVzZXJcbiAgICovXG4gIHJlYWRvbmx5IGdpdElkZW50aXR5PzogR2l0SWRlbnRpdHk7XG5cbiAgLyoqXG4gICAqIEFkZCBTaWduZWQtb2ZmLWJ5IGxpbmUgYnkgdGhlIGNvbW1pdHRlciBhdCB0aGUgZW5kIG9mIHRoZSBjb21taXQgbG9nIG1lc3NhZ2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNpZ25vZmY/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMYWJlbHMgdG8gYXBwbHkgb24gdGhlIFBSLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGxhYmVscy5cbiAgICovXG4gIHJlYWRvbmx5IGxhYmVscz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBc3NpZ25lZXMgdG8gYWRkIG9uIHRoZSBQUi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhc3NpZ25lZXNcbiAgICovXG4gIHJlYWRvbmx5IGFzc2lnbmVlcz86IHN0cmluZ1tdO1xufVxuIl19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9naXRodWIvd29ya2Zsb3ctYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsbURBQWdEO0FBQ2hELDJDQUEwRDtBQUMxRCx5Q0FBeUM7QUFFekMscURBQWlEO0FBRWpELHVDQUE0QztBQUU1QyxNQUFNLElBQUksR0FBRyxJQUFBLGNBQU8sRUFBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUEsY0FBTyxFQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUEsY0FBTyxFQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDaEQsTUFBTSxPQUFPLEdBQUcsR0FBRyxVQUFVLElBQUksSUFBSSxpQkFBaUIsTUFBTSxFQUFFLENBQUM7QUFDL0QsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUM7QUFDNUMsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUM7QUFFekM7O0dBRUc7QUFDSCxNQUFhLGVBQWU7O0lBQzFCOzs7Ozs7OztPQVFHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUE4QjtRQUN6RCxNQUFNLGVBQWUsR0FBRyxTQUFTLE9BQU8sQ0FBQyxNQUFNLFlBQVksT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hGLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksc0JBQXNCLENBQUM7UUFFbkUsTUFBTSxLQUFLLEdBQWM7WUFDdkI7Z0JBQ0UsRUFBRSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUNsQixJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxnQkFBZ0I7Z0JBQzFDLEtBQUssRUFBRSxNQUFNO2dCQUNiLEdBQUcsRUFBRTtvQkFDSCxXQUFXO29CQUNYLDJDQUEyQyxjQUFjLGFBQWEsT0FBTyxDQUFDLFVBQVUsMEJBQTBCO2lCQUNuSCxDQUFDLElBQUks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Q0FBNkMsWUFBWSxhQUFhO1NBQ3ZFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWIsT0FBTztZQUNMO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLEVBQUUsRUFBRSxNQUFNO2dCQUNWLElBQUksRUFBRSw2QkFBYSxDQUFDLCtCQUErQjtnQkFDbkQsSUFBSSxFQUFFO29CQUNKLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLFFBQVE7b0JBQ3BDLGdCQUFnQixFQUFFLEdBQUcsS0FBSyxPQUFPLFdBQVcsRUFBRTtvQkFDOUMsTUFBTSxFQUFFLFVBQVU7b0JBQ2xCLElBQUksRUFBRSxPQUFPLENBQUMsVUFBVTtvQkFDeEIsS0FBSyxFQUFFLEtBQUs7b0JBQ1osTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFNBQVM7b0JBQzlDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxTQUFTO29CQUNwRCxJQUFJLEVBQUUsV0FBVztvQkFDakIsTUFBTSxFQUFFLFNBQVM7b0JBQ2pCLFNBQVMsRUFBRSxTQUFTO29CQUNwQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJO29CQUNoQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUztvQkFDdEQsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLElBQUksU0FBUztpQkFDbkQ7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztBQXJJSCwwQ0FzSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEdpdElkZW50aXR5LCBHaXRodWJDcmVkZW50aWFscyB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBHaXRIdWJBY3Rpb25zIH0gZnJvbSBcIi4vYWN0aW9ucy5jb25zdFwiO1xuaW1wb3J0IHsgREVGQVVMVF9HSVRIVUJfQUNUSU9OU19VU0VSIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBjb250ZXh0IH0gZnJvbSBcIi4vcHJpdmF0ZS91dGlsXCI7XG5pbXBvcnQgdHlwZSB7IENoZWNrb3V0V2l0aCB9IGZyb20gXCIuL3dvcmtmbG93LXN0ZXBzXCI7XG5pbXBvcnQgeyBXb3JrZmxvd1N0ZXBzIH0gZnJvbSBcIi4vd29ya2Zsb3ctc3RlcHNcIjtcbmltcG9ydCB0eXBlIHsgSm9iU3RlcCB9IGZyb20gXCIuL3dvcmtmbG93cy1tb2RlbFwiO1xuaW1wb3J0IHsgaXNIaWRkZW5QYXRoIH0gZnJvbSBcIi4uL3V0aWwvcGF0aFwiO1xuXG5jb25zdCBSRVBPID0gY29udGV4dChcImdpdGh1Yi5yZXBvc2l0b3J5XCIpO1xuY29uc3QgUlVOX0lEID0gY29udGV4dChcImdpdGh1Yi5ydW5faWRcIik7XG5jb25zdCBTRVJWRVJfVVJMID0gY29udGV4dChcImdpdGh1Yi5zZXJ2ZXJfdXJsXCIpO1xuY29uc3QgUlVOX1VSTCA9IGAke1NFUlZFUl9VUkx9LyR7UkVQT30vYWN0aW9ucy9ydW5zLyR7UlVOX0lEfWA7XG5jb25zdCBHSVRfUEFUQ0hfRklMRV9ERUZBVUxUID0gXCJyZXBvLnBhdGNoXCI7XG5jb25zdCBSVU5ORVJfVEVNUCA9IFwiJHt7IHJ1bm5lci50ZW1wIH19XCI7XG5cbi8qKlxuICogQSBzZXQgb2YgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNyZWF0aW5nIEdpdEh1YiBhY3Rpb25zIGluIHdvcmtmbG93cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFdvcmtmbG93QWN0aW9ucyB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgLnBhdGNoIGZpbGUgZnJvbSB0aGUgY3VycmVudCBnaXQgZGlmZiBhbmQgdXBsb2FkcyBpdCBhcyBhblxuICAgKiBhcnRpZmFjdC4gVXNlIGBjaGVja291dFdpdGhQYXRjaGAgdG8gZG93bmxvYWQgYW5kIGFwcGx5IGluIGFub3RoZXIgam9iLlxuICAgKlxuICAgKiBJZiBhIHBhdGNoIHdhcyB1cGxvYWRlZCwgdGhlIGFjdGlvbiBjYW4gb3B0aW9uYWxseSBmYWlsIHRoZSBqb2IuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnNcbiAgICogQHJldHVybnMgSm9iIHN0ZXBzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVwbG9hZEdpdFBhdGNoKG9wdGlvbnM6IFVwbG9hZEdpdFBhdGNoT3B0aW9ucyk6IEpvYlN0ZXBbXSB7XG4gICAgY29uc3QgTVVUQVRJT05TX0ZPVU5EID0gYHN0ZXBzLiR7b3B0aW9ucy5zdGVwSWR9Lm91dHB1dHMuJHtvcHRpb25zLm91dHB1dE5hbWV9YDtcbiAgICBjb25zdCBHSVRfUEFUQ0hfRklMRSA9IG9wdGlvbnMucGF0Y2hGaWxlID8/IEdJVF9QQVRDSF9GSUxFX0RFRkFVTFQ7XG5cbiAgICBjb25zdCBzdGVwczogSm9iU3RlcFtdID0gW1xuICAgICAge1xuICAgICAgICBpZDogb3B0aW9ucy5zdGVwSWQsXG4gICAgICAgIG5hbWU6IG9wdGlvbnMuc3RlcE5hbWUgPz8gXCJGaW5kIG11dGF0aW9uc1wiLFxuICAgICAgICBzaGVsbDogXCJiYXNoXCIsXG4gICAgICAgIHJ1bjogW1xuICAgICAgICAgIFwiZ2l0IGFkZCAuXCIsXG4gICAgICAgICAgYGdpdCBkaWZmIC0tc3RhZ2VkIC0tcGF0Y2ggLS1leGl0LWNvZGUgPiAke0dJVF9QQVRDSF9GSUxFfSB8fCBlY2hvIFwiJHtvcHRpb25zLm91dHB1dE5hbWV9PXRydWVcIiA+PiAkR0lUSFVCX09VVFBVVGAsXG4gICAgICAgIF0uam9pbihcIlxcblwiKSxcbiAgICAgICAgLy8gYWx3YXlzIHJ1biBmcm9tIHJvb3Qgb2YgcmVwb3NpdG9yeVxuICAgICAgICAvLyBvdmVycmlkZXMgZGVmYXVsdCB3b3JraW5nIGRpcmVjdG9yeSB3aGljaCBpcyBzZXQgYnkgc29tZSB3b3JrZmxvd3MgdXNpbmcgdGhpcyBmdW5jdGlvblxuICAgICAgICB3b3JraW5nRGlyZWN0b3J5OiBcIi4vXCIsXG4gICAgICB9LFxuICAgICAgV29ya2Zsb3dTdGVwcy51cGxvYWRBcnRpZmFjdCh7XG4gICAgICAgIGlmOiBNVVRBVElPTlNfRk9VTkQsXG4gICAgICAgIG5hbWU6IFwiVXBsb2FkIHBhdGNoXCIsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICBuYW1lOiBHSVRfUEFUQ0hfRklMRSxcbiAgICAgICAgICBwYXRoOiBHSVRfUEFUQ0hfRklMRSxcbiAgICAgICAgICBpbmNsdWRlSGlkZGVuRmlsZXM6IGlzSGlkZGVuUGF0aChHSVRfUEFUQ0hfRklMRSkgPyB0cnVlIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgXTtcblxuICAgIGlmIChvcHRpb25zLm11dGF0aW9uRXJyb3IpIHtcbiAgICAgIHN0ZXBzLnB1c2goe1xuICAgICAgICBuYW1lOiBcIkZhaWwgYnVpbGQgb24gbXV0YXRpb25cIixcbiAgICAgICAgaWY6IE1VVEFUSU9OU19GT1VORCxcbiAgICAgICAgcnVuOiBbXG4gICAgICAgICAgYGVjaG8gXCI6OmVycm9yOjoke29wdGlvbnMubXV0YXRpb25FcnJvcn1cImAsXG4gICAgICAgICAgYGNhdCAke0dJVF9QQVRDSF9GSUxFfWAsXG4gICAgICAgICAgXCJleGl0IDFcIixcbiAgICAgICAgXS5qb2luKFwiXFxuXCIpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0ZXBzO1xuICB9XG4gIC8qKlxuICAgKiBDaGVja3Mgb3V0IGEgcmVwb3NpdG9yeSBhbmQgYXBwbGllcyBhIGdpdCBwYXRjaCB0aGF0IHdhcyBjcmVhdGVkIHVzaW5nXG4gICAqIGB1cGxvYWRHaXRQYXRjaGAuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnNcbiAgICogQHJldHVybnMgSm9iIHN0ZXBzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNoZWNrb3V0V2l0aFBhdGNoKFxuICAgIG9wdGlvbnM6IENoZWNrb3V0V2l0aFBhdGNoT3B0aW9ucyA9IHt9LFxuICApOiBKb2JTdGVwW10ge1xuICAgIGNvbnN0IHsgcGF0Y2hGaWxlLCAuLi5yZXN0T2ZPcHRpb25zIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IEdJVF9QQVRDSF9GSUxFID0gb3B0aW9ucy5wYXRjaEZpbGUgPz8gR0lUX1BBVENIX0ZJTEVfREVGQVVMVDtcblxuICAgIHJldHVybiBbXG4gICAgICBXb3JrZmxvd1N0ZXBzLmNoZWNrb3V0KHsgd2l0aDogcmVzdE9mT3B0aW9ucyB9KSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJEb3dubG9hZCBwYXRjaFwiLFxuICAgICAgICB1c2VzOiBHaXRIdWJBY3Rpb25zLkFDVElPTlNfRE9XTkxPQURfQVJUSUZBQ1QsXG4gICAgICAgIHdpdGg6IHsgbmFtZTogR0lUX1BBVENIX0ZJTEUsIHBhdGg6IFJVTk5FUl9URU1QIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkFwcGx5IHBhdGNoXCIsXG4gICAgICAgIHJ1bjogYFsgLXMgJHtSVU5ORVJfVEVNUH0vJHtHSVRfUEFUQ0hfRklMRX0gXSAmJiBnaXQgYXBwbHkgJHtSVU5ORVJfVEVNUH0vJHtHSVRfUEFUQ0hfRklMRX0gfHwgZWNobyBcIkVtcHR5IHBhdGNoLiBTa2lwcGluZy5cImAsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogQSBzdGVwIHRoYXQgY3JlYXRlcyBhIHB1bGwgcmVxdWVzdCBiYXNlZCBvbiB0aGUgY3VycmVudCByZXBvIHN0YXRlLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zXG4gICAqIEByZXR1cm5zIEpvYiBzdGVwc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjcmVhdGVQdWxsUmVxdWVzdChcbiAgICBvcHRpb25zOiBDcmVhdGVQdWxsUmVxdWVzdE9wdGlvbnMsXG4gICk6IEpvYlN0ZXBbXSB7XG4gICAgY29uc3Qgd29ya2Zsb3dOYW1lID0gb3B0aW9ucy53b3JrZmxvd05hbWU7XG4gICAgY29uc3QgYnJhbmNoTmFtZSA9IG9wdGlvbnMuYnJhbmNoTmFtZSA/PyBgZ2l0aHViLWFjdGlvbnMvJHt3b3JrZmxvd05hbWV9YDtcbiAgICBjb25zdCBzdGVwSWQgPSBvcHRpb25zLnN0ZXBJZCA/PyBcImNyZWF0ZS1wclwiO1xuICAgIGNvbnN0IHN0ZXBOYW1lID0gb3B0aW9ucy5zdGVwTmFtZSA/PyBcIkNyZWF0ZSBQdWxsIFJlcXVlc3RcIjtcbiAgICBjb25zdCBnaXRJZGVudGl0eSA9IG9wdGlvbnMuZ2l0SWRlbnRpdHkgPz8gREVGQVVMVF9HSVRIVUJfQUNUSU9OU19VU0VSO1xuICAgIGNvbnN0IGNvbW1pdHRlciA9IGAke2dpdElkZW50aXR5Lm5hbWV9IDwke2dpdElkZW50aXR5LmVtYWlsfT5gO1xuICAgIGNvbnN0IHB1bGxSZXF1ZXN0RGVzY3JpcHRpb24gPSBvcHRpb25zLnB1bGxSZXF1ZXN0RGVzY3JpcHRpb25cbiAgICAgIC50cmltRW5kKClcbiAgICAgIC5lbmRzV2l0aChcIi5cIilcbiAgICAgID8gb3B0aW9ucy5wdWxsUmVxdWVzdERlc2NyaXB0aW9uLnRyaW1FbmQoKVxuICAgICAgOiBgJHtvcHRpb25zLnB1bGxSZXF1ZXN0RGVzY3JpcHRpb24udHJpbUVuZCgpfS5gO1xuXG4gICAgY29uc3QgdGl0bGUgPSBvcHRpb25zLnB1bGxSZXF1ZXN0VGl0bGU7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBbXG4gICAgICBgJHtwdWxsUmVxdWVzdERlc2NyaXB0aW9ufSBTZWUgZGV0YWlscyBpbiBbd29ya2Zsb3cgcnVuXS5gLFxuICAgICAgXCJcIixcbiAgICAgIGBbV29ya2Zsb3cgUnVuXTogJHtSVU5fVVJMfWAsXG4gICAgICBcIlwiLFxuICAgICAgXCItLS0tLS1cIixcbiAgICAgIFwiXCIsXG4gICAgICBgKkF1dG9tYXRpY2FsbHkgY3JlYXRlZCBieSBwcm9qZW4gdmlhIHRoZSBcIiR7d29ya2Zsb3dOYW1lfVwiIHdvcmtmbG93KmAsXG4gICAgXS5qb2luKFwiXFxuXCIpO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogc3RlcE5hbWUsXG4gICAgICAgIGlkOiBzdGVwSWQsXG4gICAgICAgIHVzZXM6IEdpdEh1YkFjdGlvbnMuUEVURVJfRVZBTlNfQ1JFQVRFX1BVTExfUkVRVUVTVCxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgIHRva2VuOiBvcHRpb25zLmNyZWRlbnRpYWxzPy50b2tlblJlZixcbiAgICAgICAgICBcImNvbW1pdC1tZXNzYWdlXCI6IGAke3RpdGxlfVxcblxcbiR7ZGVzY3JpcHRpb259YCxcbiAgICAgICAgICBicmFuY2g6IGJyYW5jaE5hbWUsXG4gICAgICAgICAgYmFzZTogb3B0aW9ucy5iYXNlQnJhbmNoLFxuICAgICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgICBsYWJlbHM6IG9wdGlvbnMubGFiZWxzPy5qb2luKFwiLFwiKSB8fCB1bmRlZmluZWQsXG4gICAgICAgICAgYXNzaWduZWVzOiBvcHRpb25zLmFzc2lnbmVlcz8uam9pbihcIixcIikgfHwgdW5kZWZpbmVkLFxuICAgICAgICAgIGJvZHk6IGRlc2NyaXB0aW9uLFxuICAgICAgICAgIGF1dGhvcjogY29tbWl0dGVyLFxuICAgICAgICAgIGNvbW1pdHRlcjogY29tbWl0dGVyLFxuICAgICAgICAgIHNpZ25vZmY6IG9wdGlvbnMuc2lnbm9mZiA/PyB0cnVlLFxuICAgICAgICAgIFwiYWRkLXBhdGhzXCI6IG9wdGlvbnMuYWRkUGF0aHM/LmpvaW4oXCJcXG5cIikgfHwgdW5kZWZpbmVkLFxuICAgICAgICAgIFwiZGVsZXRlLWJyYW5jaFwiOiBvcHRpb25zLmRlbGV0ZUJyYW5jaCA/PyB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF07XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgY2hlY2tvdXRXaXRoUGF0Y2hgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrb3V0V2l0aFBhdGNoT3B0aW9ucyBleHRlbmRzIENoZWNrb3V0V2l0aCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXJ0aWZhY3QgdGhlIHBhdGNoIGlzIHN0b3JlZCBhcy5cbiAgICogQGRlZmF1bHQgXCIucmVwby5wYXRjaFwiXG4gICAqL1xuICByZWFkb25seSBwYXRjaEZpbGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYHVwbG9hZEdpdFBhdGNoYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGxvYWRHaXRQYXRjaE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHN0ZXAgSUQgd2hpY2ggcHJvZHVjZXMgdGhlIG91dHB1dCB3aGljaCBpbmRpY2F0ZXMgaWYgYSBwYXRjaCB3YXMgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHN0ZXBJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc3RlcC5cbiAgICogQGRlZmF1bHQgXCJGaW5kIG11dGF0aW9uc1wiXG4gICAqL1xuICByZWFkb25seSBzdGVwTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFydGlmYWN0IHRoZSBwYXRjaCBpcyBzdG9yZWQgYXMuXG4gICAqIEBkZWZhdWx0IFwiLnJlcG8ucGF0Y2hcIlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0Y2hGaWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgb3V0cHV0IHRvIGVtaXQuIEl0IHdpbGwgYmUgc2V0IHRvIGB0cnVlYCBpZiB0aGVyZSB3YXMgYSBkaWZmLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGYWlsIGlmIGEgbXV0YXRpb24gd2FzIGZvdW5kIGFuZCBwcmludCB0aGlzIGVycm9yIG1lc3NhZ2UuXG4gICAqIEBkZWZhdWx0IC0gZG8gbm90IGZhaWwgdXBvbiBtdXRhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgbXV0YXRpb25FcnJvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVQdWxsUmVxdWVzdE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHN0ZXAgSUQgd2hpY2ggcHJvZHVjZXMgdGhlIG91dHB1dCB3aGljaCBpbmRpY2F0ZXMgaWYgYSBwYXRjaCB3YXMgY3JlYXRlZC5cbiAgICogQGRlZmF1bHQgXCJjcmVhdGVfcHJcIlxuICAgKi9cbiAgcmVhZG9ubHkgc3RlcElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc3RlcCBkaXNwbGF5ZWQgb24gR2l0SHViLlxuICAgKiBAZGVmYXVsdCBcIkNyZWF0ZSBQdWxsIFJlcXVlc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgc3RlcE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBqb2IgY3JlZGVudGlhbHMgdXNlZCB0byBjcmVhdGUgdGhlIHB1bGwgcmVxdWVzdC5cbiAgICpcbiAgICogUHJvdmlkZWQgY3JlZGVudGlhbHMgbXVzdCBoYXZlIHBlcm1pc3Npb25zIHRvIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgcmVwb3NpdG9yeS5cbiAgICovXG4gIHJlYWRvbmx5IGNyZWRlbnRpYWxzPzogR2l0aHViQ3JlZGVudGlhbHM7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB3b3JrZmxvdyB0aGF0IHdpbGwgY3JlYXRlIHRoZSBQUlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdWxsIHRpdGxlIHVzZWQgdG8gY3JlYXRlIHRoZSBwdWxsIHJlcXVlc3QuXG4gICAqXG4gICAqIElmIFBSIHRpdGxlcyBhcmUgdmFsaWRhdGVkIGluIHRoaXMgcmVwbywgdGhlIHRpdGxlIHNob3VsZCBjb21wbHkgd2l0aCB0aGUgcmVzcGVjdGl2ZSBydWxlcy5cbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0VGl0bGU6IHN0cmluZztcblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gYWRkZWQgdG8gdGhlIHB1bGwgcmVxdWVzdC5cbiAgICpcbiAgICogUHJvdmlkZW5jZSBpbmZvcm1hdGlvbiBhcmUgYXV0b21hdGljYWxseSBhZGRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0RGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogU2V0cyB0aGUgcHVsbCByZXF1ZXN0IGJhc2UgYnJhbmNoLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFRoZSBicmFuY2ggY2hlY2tlZCBvdXQgaW4gdGhlIHdvcmtmbG93LlxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZUJyYW5jaD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHB1bGwgcmVxdWVzdCBicmFuY2ggbmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgYGdpdGh1Yi1hY3Rpb25zLyR7b3B0aW9ucy53b3JrZmxvd05hbWV9YFxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aHMgdG8gYWRkIHRvIHRoZSBjb21taXQsIG1hcHBpbmcgdG8gdGhlIGFjdGlvbidzIGBhZGQtcGF0aHNgIGlucHV0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFsbCBwYXRoc1xuICAgKi9cbiAgcmVhZG9ubHkgYWRkUGF0aHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBkZWxldGUgdGhlIHB1bGwgcmVxdWVzdCBicmFuY2ggd2hlbiB0aGUgcHVsbCByZXF1ZXN0IGlzIGNsb3NlZCxcbiAgICogbWFwcGluZyB0byB0aGUgYWN0aW9uJ3MgYGRlbGV0ZS1icmFuY2hgIGlucHV0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQnJhbmNoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGdpdCBpZGVudGl0eSB1c2VkIHRvIGNyZWF0ZSB0aGUgY29tbWl0LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgR2l0SHViIEFjdGlvbnMgdXNlclxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0SWRlbnRpdHk/OiBHaXRJZGVudGl0eTtcblxuICAvKipcbiAgICogQWRkIFNpZ25lZC1vZmYtYnkgbGluZSBieSB0aGUgY29tbWl0dGVyIGF0IHRoZSBlbmQgb2YgdGhlIGNvbW1pdCBsb2cgbWVzc2FnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2lnbm9mZj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExhYmVscyB0byBhcHBseSBvbiB0aGUgUFIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbGFiZWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgbGFiZWxzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFzc2lnbmVlcyB0byBhZGQgb24gdGhlIFBSLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFzc2lnbmVlc1xuICAgKi9cbiAgcmVhZG9ubHkgYXNzaWduZWVzPzogc3RyaW5nW107XG59XG4iXX0=
@@ -10,7 +10,7 @@ const runner_options_1 = require("../runner-options");
10
10
  * A set of utility functions for creating jobs in GitHub Workflows.
11
11
  */
12
12
  class WorkflowJobs {
13
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowJobs", version: "0.102.0" };
13
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowJobs", version: "0.103.0" };
14
14
  /**
15
15
  * Creates a pull request with the changes of a patch file.
16
16
  *
@@ -26,7 +26,7 @@ var CheckoutSubmodules;
26
26
  * A collection of very commonly used, individual, GitHub Workflow Job steps.
27
27
  */
28
28
  class WorkflowSteps {
29
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowSteps", version: "0.102.0" };
29
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowSteps", version: "0.103.0" };
30
30
  /**
31
31
  * Checks out a repository.
32
32
  *
@@ -18,7 +18,7 @@ const yaml_1 = require("../yaml");
18
18
  * @see https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
19
19
  */
20
20
  class GithubWorkflow extends component_1.Component {
21
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GithubWorkflow", version: "0.102.0" };
21
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GithubWorkflow", version: "0.103.0" };
22
22
  /**
23
23
  * The name of the workflow. GitHub displays the names of your workflows under your repository's
24
24
  * "Actions" tab.
@@ -45,7 +45,7 @@ const yaml_1 = require("../yaml");
45
45
  * @see https://docs.gitlab.com/ee/ci/yaml/
46
46
  */
47
47
  class CiConfiguration extends component_1.Component {
48
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.CiConfiguration", version: "0.102.0" };
48
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.CiConfiguration", version: "0.103.0" };
49
49
  /**
50
50
  * The name of the configuration.
51
51
  */
@@ -8,7 +8,7 @@ const nested_configuration_1 = require("./nested-configuration");
8
8
  * A GitLab CI for the main `.gitlab-ci.yml` file.
9
9
  */
10
10
  class GitlabConfiguration extends configuration_1.CiConfiguration {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.GitlabConfiguration", version: "0.102.0" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.GitlabConfiguration", version: "0.103.0" };
12
12
  nestedTemplates = {};
13
13
  constructor(project, options) {
14
14
  super(project, "gitlab-ci", options);
@@ -7,7 +7,7 @@ const configuration_1 = require("./configuration");
7
7
  * A GitLab CI for templates that are created and included in the `.gitlab-ci.yml` file.
8
8
  */
9
9
  class NestedConfiguration extends configuration_1.CiConfiguration {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.NestedConfiguration", version: "0.102.0" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.NestedConfiguration", version: "0.103.0" };
11
11
  parent;
12
12
  constructor(project, parent, name, options) {
13
13
  super(project, name, options);