projen 0.99.43 → 0.99.44

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 (142) hide show
  1. package/.jsii +109 -71
  2. package/lib/ai-instructions.js +2 -2
  3. package/lib/awscdk/auto-discover.js +6 -6
  4. package/lib/awscdk/awscdk-app-java.js +1 -1
  5. package/lib/awscdk/awscdk-app-py.js +1 -1
  6. package/lib/awscdk/awscdk-app-ts.js +1 -1
  7. package/lib/awscdk/awscdk-construct.js +2 -2
  8. package/lib/awscdk/awscdk-deps-java.js +1 -1
  9. package/lib/awscdk/awscdk-deps-js.js +1 -1
  10. package/lib/awscdk/awscdk-deps-py.js +1 -1
  11. package/lib/awscdk/awscdk-deps.js +1 -1
  12. package/lib/awscdk/cdk-config.js +4 -4
  13. package/lib/awscdk/cdk-tasks.js +1 -1
  14. package/lib/awscdk/integration-test.js +1 -1
  15. package/lib/awscdk/lambda-extension.js +1 -1
  16. package/lib/awscdk/lambda-function.js +2 -2
  17. package/lib/build/build-workflow.d.ts +9 -0
  18. package/lib/build/build-workflow.js +2 -2
  19. package/lib/cdk/auto-discover-base.js +2 -2
  20. package/lib/cdk/construct-lib.js +1 -1
  21. package/lib/cdk/integration-test-base.js +1 -1
  22. package/lib/cdk/jsii-docgen.js +1 -1
  23. package/lib/cdk/jsii-project.js +1 -1
  24. package/lib/cdk8s/auto-discover.js +2 -2
  25. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  26. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  27. package/lib/cdk8s/cdk8s-construct.js +1 -1
  28. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  29. package/lib/cdk8s/cdk8s-deps.js +1 -1
  30. package/lib/cdk8s/integration-test.js +1 -1
  31. package/lib/cdktf/cdktf-construct.js +1 -1
  32. package/lib/circleci/circleci.js +1 -1
  33. package/lib/component.js +1 -1
  34. package/lib/dependencies.js +1 -1
  35. package/lib/dev-env.js +1 -1
  36. package/lib/docker-compose/docker-compose-service.js +1 -1
  37. package/lib/docker-compose/docker-compose.js +1 -1
  38. package/lib/file.js +1 -1
  39. package/lib/gitattributes.js +1 -1
  40. package/lib/github/actions-provider.js +1 -1
  41. package/lib/github/auto-approve.js +1 -1
  42. package/lib/github/auto-merge.js +1 -1
  43. package/lib/github/auto-queue.js +1 -1
  44. package/lib/github/dependabot.js +1 -1
  45. package/lib/github/github-credentials.js +1 -1
  46. package/lib/github/github-project.js +1 -1
  47. package/lib/github/github.js +1 -1
  48. package/lib/github/merge-queue.js +1 -1
  49. package/lib/github/mergify.js +1 -1
  50. package/lib/github/pr-template.js +1 -1
  51. package/lib/github/pull-request-backport.js +1 -1
  52. package/lib/github/pull-request-lint.js +1 -1
  53. package/lib/github/stale.js +1 -1
  54. package/lib/github/task-workflow-job.js +1 -1
  55. package/lib/github/task-workflow.js +1 -1
  56. package/lib/github/workflow-actions.js +1 -1
  57. package/lib/github/workflow-jobs.js +1 -1
  58. package/lib/github/workflow-steps.js +1 -1
  59. package/lib/github/workflows.js +1 -1
  60. package/lib/gitlab/configuration.js +1 -1
  61. package/lib/gitlab/gitlab-configuration.js +1 -1
  62. package/lib/gitlab/nested-configuration.js +1 -1
  63. package/lib/gitpod.js +1 -1
  64. package/lib/ignore-file.js +1 -1
  65. package/lib/ini.js +1 -1
  66. package/lib/java/java-project.js +1 -1
  67. package/lib/java/junit.js +1 -1
  68. package/lib/java/maven-compile.js +1 -1
  69. package/lib/java/maven-packaging.js +1 -1
  70. package/lib/java/maven-sample.js +1 -1
  71. package/lib/java/pom.js +2 -2
  72. package/lib/java/projenrc.js +1 -1
  73. package/lib/javascript/biome/biome.js +1 -1
  74. package/lib/javascript/bundler.js +1 -1
  75. package/lib/javascript/eslint.js +1 -1
  76. package/lib/javascript/jest.js +4 -4
  77. package/lib/javascript/license-checker.js +1 -1
  78. package/lib/javascript/node-package.js +1 -1
  79. package/lib/javascript/node-project.d.ts +9 -0
  80. package/lib/javascript/node-project.js +6 -3
  81. package/lib/javascript/npm-config.js +1 -1
  82. package/lib/javascript/prettier.js +1 -1
  83. package/lib/javascript/projenrc.js +1 -1
  84. package/lib/javascript/typescript-config.js +2 -2
  85. package/lib/javascript/upgrade-dependencies.js +2 -2
  86. package/lib/javascript/yarnrc.js +1 -1
  87. package/lib/json-patch.js +1 -1
  88. package/lib/json.js +1 -1
  89. package/lib/license.js +1 -1
  90. package/lib/logger.js +1 -1
  91. package/lib/makefile.js +1 -1
  92. package/lib/object-file.js +1 -1
  93. package/lib/project-build.js +1 -1
  94. package/lib/project-tree.js +1 -1
  95. package/lib/project.js +1 -1
  96. package/lib/projects.js +1 -1
  97. package/lib/projenrc-json.js +2 -2
  98. package/lib/projenrc.js +1 -1
  99. package/lib/python/pip.js +1 -1
  100. package/lib/python/poetry.js +2 -2
  101. package/lib/python/projenrc.js +1 -1
  102. package/lib/python/pyproject-toml-file.js +1 -1
  103. package/lib/python/pytest-sample.js +1 -1
  104. package/lib/python/pytest.js +1 -1
  105. package/lib/python/python-project.js +1 -1
  106. package/lib/python/python-sample.js +1 -1
  107. package/lib/python/requirements-file.js +1 -1
  108. package/lib/python/setuppy.js +1 -1
  109. package/lib/python/setuptools.js +1 -1
  110. package/lib/python/uv.js +1 -1
  111. package/lib/python/venv.js +1 -1
  112. package/lib/readme.js +1 -1
  113. package/lib/release/publisher.js +1 -1
  114. package/lib/release/release-trigger.js +1 -1
  115. package/lib/release/release.js +1 -1
  116. package/lib/renovatebot.js +1 -1
  117. package/lib/sample-file.js +2 -2
  118. package/lib/semver.js +1 -1
  119. package/lib/source-code.js +1 -1
  120. package/lib/task-runtime.js +1 -1
  121. package/lib/task.js +1 -1
  122. package/lib/tasks.js +1 -1
  123. package/lib/testing.js +1 -1
  124. package/lib/textfile.js +1 -1
  125. package/lib/toml.js +1 -1
  126. package/lib/typescript/projenrc-ts.js +1 -1
  127. package/lib/typescript/projenrc.js +1 -1
  128. package/lib/typescript/typescript-typedoc.js +1 -1
  129. package/lib/typescript/typescript.js +6 -6
  130. package/lib/version.js +2 -2
  131. package/lib/vscode/devcontainer.js +1 -1
  132. package/lib/vscode/extensions.js +1 -1
  133. package/lib/vscode/launch-config.js +1 -1
  134. package/lib/vscode/settings.js +1 -1
  135. package/lib/vscode/vscode.js +1 -1
  136. package/lib/web/next.js +3 -3
  137. package/lib/web/postcss.js +1 -1
  138. package/lib/web/react.js +4 -4
  139. package/lib/web/tailwind.js +1 -1
  140. package/lib/xmlfile.js +1 -1
  141. package/lib/yaml.js +1 -1
  142. package/package.json +1 -1
@@ -230,5 +230,5 @@ class PythonProject extends github_1.GitHubProject {
230
230
  }
231
231
  exports.PythonProject = PythonProject;
232
232
  _a = JSII_RTTI_SYMBOL_1;
233
- PythonProject[_a] = { fqn: "projen.python.PythonProject", version: "0.99.43" };
233
+ PythonProject[_a] = { fqn: "projen.python.PythonProject", version: "0.99.44" };
234
234
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHl0aG9uLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHl0aG9uL3B5dGhvbi1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQTRCO0FBQzVCLHFDQUFrQztBQUVsQyx5Q0FBd0Q7QUFFeEQscUNBQWtDO0FBQ2xDLG1EQUErQztBQU8vQyxtREFBK0M7QUFDL0MsNkNBQTBDO0FBQzFDLDZCQUEwQjtBQUUxQixpQ0FBOEI7QUFFOUIsc0NBQTBDO0FBRTFDLHFEQUFnRTtBQUNoRSx3Q0FBeUM7QUFFekMsOENBQTJDO0FBQzNDLGtDQUF3RDtBQUV4RCxpREFBaUQ7QUFDakQsTUFBTSx5QkFBeUIsR0FBRyxvQkFBb0IsQ0FBQztBQXlMdkQ7Ozs7R0FJRztBQUNILE1BQWEsYUFBYyxTQUFRLHNCQUFhO0lBc0M5QyxZQUFZLE9BQTZCO1FBQ3ZDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxJQUFJLEtBQUssQ0FDYix5RkFBeUYsQ0FDMUYsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUM7UUFFdEQsTUFBTSxpQkFBaUIsR0FBRztZQUN4QixPQUFPLENBQUMsY0FBYztZQUN0QixPQUFPLENBQUMsVUFBVTtZQUNsQixPQUFPLENBQUMsWUFBWTtZQUNwQixPQUFPLENBQUMsVUFBVTtTQUNuQixDQUFDO1FBRUYsSUFBSSxJQUFBLHVCQUFnQixFQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElB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QUFFLEVBQ0YsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sRUFDUCxNQUFNLEVBQ04sVUFBVSxFQUNWLFdBQVcsRUFDWCxFQUFFLEVBQ0YsMkJBQTJCLEVBQzNCLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsRUFBRSxFQUNGLHlCQUF5QixFQUN6QixjQUFjLEVBQ2QsRUFBRSxFQUNGLHdCQUF3QixFQUN4QixPQUFPLEVBQ1AsRUFBRSxFQUNGLFFBQVEsRUFDUixjQUFjLEVBQ2QsYUFBYSxFQUNiLFlBQVksRUFDWixFQUFFLEVBQ0YscUJBQXFCLEVBQ3JCLFFBQVEsRUFDUixFQUFFLEVBQ0YsK0JBQStCLEVBQy9CLFVBQVUsRUFDVixFQUFFLEVBQ0Ysd0JBQXdCLEVBQ3hCLGVBQWUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLElBQVk7UUFDL0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLElBQVk7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxjQUFjO1FBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7O0FBNWFILHNDQTZhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcCB9IGZyb20gXCIuL3BpcFwiO1xuaW1wb3J0IHsgUG9ldHJ5IH0gZnJvbSBcIi4vcG9ldHJ5XCI7XG5pbXBvcnQgdHlwZSB7IFByb2plbnJjT3B0aW9ucyBhcyBQcm9qZW5yY1B5dGhvbk9wdGlvbnMgfSBmcm9tIFwiLi9wcm9qZW5yY1wiO1xuaW1wb3J0IHsgUHJvamVucmMgYXMgUHJvamVucmNQeXRob24gfSBmcm9tIFwiLi9wcm9qZW5yY1wiO1xuaW1wb3J0IHR5cGUgeyBQeXRlc3RPcHRpb25zIH0gZnJvbSBcIi4vcHl0ZXN0XCI7XG5pbXBvcnQgeyBQeXRlc3QgfSBmcm9tIFwiLi9weXRlc3RcIjtcbmltcG9ydCB7IFB5dGVzdFNhbXBsZSB9IGZyb20gXCIuL3B5dGVzdC1zYW1wbGVcIjtcbmltcG9ydCB0eXBlIHsgSVB5dGhvbkRlcHMgfSBmcm9tIFwiLi9weXRob24tZGVwc1wiO1xuaW1wb3J0IHR5cGUgeyBJUHl0aG9uRW52IH0gZnJvbSBcIi4vcHl0aG9uLWVudlwiO1xuaW1wb3J0IHR5cGUge1xuICBJUHl0aG9uUGFja2FnaW5nLFxuICBQeXRob25QYWNrYWdpbmdPcHRpb25zLFxufSBmcm9tIFwiLi9weXRob24tcGFja2FnaW5nXCI7XG5pbXBvcnQgeyBQeXRob25TYW1wbGUgfSBmcm9tIFwiLi9weXRob24tc2FtcGxlXCI7XG5pbXBvcnQgeyBTZXR1cHRvb2xzIH0gZnJvbSBcIi4vc2V0dXB0b29sc1wiO1xuaW1wb3J0IHsgVXYgfSBmcm9tIFwiLi91dlwiO1xuaW1wb3J0IHR5cGUgeyBWZW52T3B0aW9ucyB9IGZyb20gXCIuL3ZlbnZcIjtcbmltcG9ydCB7IFZlbnYgfSBmcm9tIFwiLi92ZW52XCI7XG5pbXBvcnQgdHlwZSB7IEdpdEh1YlByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4uL2dpdGh1YlwiO1xuaW1wb3J0IHsgR2l0SHViUHJvamVjdCB9IGZyb20gXCIuLi9naXRodWJcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVucmNPcHRpb25zIGFzIFByb2plbnJjSnNPcHRpb25zIH0gZnJvbSBcIi4uL2phdmFzY3JpcHQvcHJvamVucmNcIjtcbmltcG9ydCB7IFByb2plbnJjIGFzIFByb2plbnJjSnMgfSBmcm9tIFwiLi4vamF2YXNjcmlwdC9wcm9qZW5yY1wiO1xuaW1wb3J0IHsgUHJvamVjdFR5cGUgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZW5yY1RzT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBQcm9qZW5yY1RzIH0gZnJvbSBcIi4uL3R5cGVzY3JpcHRcIjtcbmltcG9ydCB7IGFueVNlbGVjdGVkLCBtdWx0aXBsZVNlbGVjdGVkIH0gZnJvbSBcIi4uL3V0aWxcIjtcblxuLyoqIEFsbG93ZWQgY2hhcmFjdGVycyBpbiBweXRob24gcHJvamVjdCBuYW1lcyAqL1xuY29uc3QgUFlUSE9OX1BST0pFQ1RfTkFNRV9SRUdFWCA9IC9eW0EtWmEtejAtOS1fXFwuXSskLztcblxuZXhwb3J0IGludGVyZmFjZSBQeXRob25FeGVjdXRhYmxlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBweXRob24gZXhlY3V0YWJsZSB0byB1c2UuXG4gICAqIEBkZWZhdWx0IFwicHl0aG9uXCJcbiAgICovXG4gIHJlYWRvbmx5IHB5dGhvbkV4ZWM/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYFB5dGhvblByb2plY3RgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFB5dGhvblByb2plY3RPcHRpb25zXG4gIGV4dGVuZHNcbiAgICBHaXRIdWJQcm9qZWN0T3B0aW9ucyxcbiAgICBQeXRob25QYWNrYWdpbmdPcHRpb25zLFxuICAgIFB5dGhvbkV4ZWN1dGFibGVPcHRpb25zIHtcbiAgLy8gLS0gcmVxdWlyZWQgb3B0aW9ucyAtLVxuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBweXRob24gcGFja2FnZSBhcyB1c2VkIGluIGltcG9ydHMgYW5kIGZpbGVuYW1lcy5cbiAgICpcbiAgICogTXVzdCBvbmx5IGNvbnNpc3Qgb2YgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIHVuZGVyc2NvcmVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAkUFlUSE9OX01PRFVMRV9OQU1FXG4gICAqL1xuICByZWFkb25seSBtb2R1bGVOYW1lOiBzdHJpbmc7XG5cbiAgLy8gLS0gZGVwZW5kZW5jaWVzIC0tXG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcnVudGltZSBkZXBlbmRlbmNpZXMgZm9yIHRoaXMgcHJvamVjdC5cbiAgICpcbiAgICogRGVwZW5kZW5jaWVzIHVzZSB0aGUgZm9ybWF0OiBgPG1vZHVsZT5APHNlbXZlcj5gXG4gICAqXG4gICAqIEFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzIGNhbiBiZSBhZGRlZCB2aWEgYHByb2plY3QuYWRkRGVwZW5kZW5jeSgpYC5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSBkZXBzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgZGV2IGRlcGVuZGVuY2llcyBmb3IgdGhpcyBwcm9qZWN0LlxuICAgKlxuICAgKiBEZXBlbmRlbmNpZXMgdXNlIHRoZSBmb3JtYXQ6IGA8bW9kdWxlPkA8c2VtdmVyPmBcbiAgICpcbiAgICogQWRkaXRpb25hbCBkZXBlbmRlbmNpZXMgY2FuIGJlIGFkZGVkIHZpYSBgcHJvamVjdC5hZGREZXZEZXBlbmRlbmN5KClgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IGRldkRlcHM/OiBzdHJpbmdbXTtcblxuICAvLyAtLSBjb3JlIGNvbXBvbmVudHMgLS1cblxuICAvKipcbiAgICogVXNlIHBpcCB3aXRoIGEgcmVxdWlyZW1lbnRzLnR4dCBmaWxlIHRvIHRyYWNrIHByb2plY3QgZGVwZW5kZW5jaWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWUsIHVubGVzcyBwb2V0cnkgaXMgdHJ1ZSwgdGhlbiBmYWxzZVxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IHBpcD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFVzZSB2ZW52IHRvIG1hbmFnZSBhIHZpcnR1YWwgZW52aXJvbm1lbnQgZm9yIGluc3RhbGxpbmcgZGVwZW5kZW5jaWVzIGluc2lkZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlLCB1bmxlc3MgcG9ldHJ5IGlzIHRydWUsIHRoZW4gZmFsc2VcbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSB2ZW52PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVmVudiBvcHRpb25zXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdHNcbiAgICovXG4gIHJlYWRvbmx5IHZlbnZPcHRpb25zPzogVmVudk9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFVzZSBzZXR1cHRvb2xzIHdpdGggYSBzZXR1cC5weSBzY3JpcHQgZm9yIHBhY2thZ2luZyBhbmQgcHVibGlzaGluZy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlLCB1bmxlc3MgcG9ldHJ5IGlzIHRydWUsIHRoZW4gZmFsc2VcbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSBzZXR1cHRvb2xzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIHBvZXRyeSB0byBtYW5hZ2UgeW91ciBwcm9qZWN0IGRlcGVuZGVuY2llcywgdmlydHVhbCBlbnZpcm9ubWVudCwgYW5kXG4gICAqIChvcHRpb25hbCkgcGFja2FnaW5nL3B1Ymxpc2hpbmcuXG4gICAqXG4gICAqIFRoaXMgZmVhdHVyZSBpcyBpbmNvbXBhdGlibGUgd2l0aCBwaXAsIHNldHVwdG9vbHMsIG9yIHZlbnYuXG4gICAqIElmIHlvdSBzZXQgdGhpcyBvcHRpb24gdG8gYHRydWVgLCB0aGVuIHBpcCwgc2V0dXB0b29scywgYW5kIHZlbnYgbXVzdCBiZSBzZXQgdG8gYGZhbHNlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGZlYXR1cmVkXG4gICAqL1xuICByZWFkb25seSBwb2V0cnk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgdXYgdG8gbWFuYWdlIHlvdXIgcHJvamVjdCBkZXBlbmRlbmNpZXMsIHZpcnR1YWwgZW52aXJvbm1lbnQsIGFuZFxuICAgKiAob3B0aW9uYWwpIHBhY2thZ2luZy9wdWJsaXNoaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IHV2PzogYm9vbGVhbjtcblxuICAvLyAtLSBvcHRpb25hbCBjb21wb25lbnRzIC0tXG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgcHl0ZXN0IHRlc3RzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBmZWF0dXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgcHl0ZXN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogcHl0ZXN0IG9wdGlvbnNcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0c1xuICAgKi9cbiAgcmVhZG9ubHkgcHl0ZXN0T3B0aW9ucz86IFB5dGVzdE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgc2FtcGxlIGNvZGUgYW5kIHRlc3QgaWYgdGhlIHJlbGV2YW50IGRpcmVjdG9yaWVzIGRvbid0IGV4aXN0LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzYW1wbGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb2NhdGlvbiBvZiBzYW1wbGUgdGVzdHMuXG4gICAqIFR5cGljYWxseSB0aGUgc2FtZSBkaXJlY3Rvcnkgd2hlcmUgcHJvamVjdCB0ZXN0cyB3aWxsIGJlIGxvY2F0ZWQuXG4gICAqIEBkZWZhdWx0IFwidGVzdHNcIlxuICAgKi9cbiAgcmVhZG9ubHkgc2FtcGxlVGVzdGRpcj86IHN0cmluZztcblxuICAvKipcbiAgICogVXNlIHByb2plbnJjIGluIFB5dGhvbi5cbiAgICpcbiAgICogVGhpcyB3aWxsIGluc3RhbGwgYHByb2plbmAgYXMgYSBQeXRob24gZGVwZW5kZW5jeSBhbmQgYWRkIGEgYHN5bnRoYFxuICAgKiB0YXNrIHdoaWNoIHdpbGwgcnVuIGAucHJvamVucmMucHlgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY1B5dGhvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgcmVsYXRlZCB0byBwcm9qZW5yYyBpbiBweXRob24uXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY1B5dGhvbk9wdGlvbnM/OiBQcm9qZW5yY1B5dGhvbk9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFVzZSBwcm9qZW5yYyBpbiBqYXZhc2NyaXB0LlxuICAgKlxuICAgKiBUaGlzIHdpbGwgaW5zdGFsbCBgcHJvamVuYCBhcyBhIEphdmFTY3JpcHQgZGVwZW5kZW5jeSBhbmQgYWRkIGEgYHN5bnRoYFxuICAgKiB0YXNrIHdoaWNoIHdpbGwgcnVuIGAucHJvamVucmMuanNgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgcmVsYXRlZCB0byBwcm9qZW5yYyBpbiBKYXZhU2NyaXB0LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKc09wdGlvbnM/OiBQcm9qZW5yY0pzT3B0aW9ucztcblxuICAvKipcbiAgICogVXNlIHByb2plbnJjIGluIFR5cGVTY3JpcHQuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBjcmVhdGUgYSB0c2NvbmZpZyBmaWxlIChkZWZhdWx0OiBgdHNjb25maWcucHJvamVuLmpzb25gKVxuICAgKiBhbmQgdXNlIGB0cy1ub2RlYCBpbiB0aGUgZGVmYXVsdCB0YXNrIHRvIHBhcnNlIHRoZSBwcm9qZWN0IHNvdXJjZSBmaWxlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjVHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIHJlbGF0ZWQgdG8gcHJvamVucmMgaW4gVHlwZVNjcmlwdC5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjVHNPcHRpb25zPzogUHJvamVucmNUc09wdGlvbnM7XG59XG5cbi8qKlxuICogUHl0aG9uIHByb2plY3QuXG4gKlxuICogQHBqaWQgcHl0aG9uXG4gKi9cbmV4cG9ydCBjbGFzcyBQeXRob25Qcm9qZWN0IGV4dGVuZHMgR2l0SHViUHJvamVjdCB7XG4gIC8qKlxuICAgKiBQeXRob24gbW9kdWxlIG5hbWUgKHRoZSBwcm9qZWN0IG5hbWUsIHdpdGggYW55IGh5cGhlbnMgb3IgcGVyaW9kcyByZXBsYWNlZFxuICAgKiB3aXRoIHVuZGVyc2NvcmVzKS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtb2R1bGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgdGhlIHBhY2thZ2UgZm9yIGRpc3RyaWJ1dGlvbiAoc2hvdWxkIGZvbGxvdyBzZW12ZXIpLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogQVBJIGZvciBtYW5hZ2luZyBkZXBlbmRlbmNpZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVwc01hbmFnZXIhOiBJUHl0aG9uRGVwcztcblxuICAvKipcbiAgICogQVBJIGZvciBtYW5hZ2luZyB0aGUgUHl0aG9uIHJ1bnRpbWUgZW52aXJvbm1lbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW52TWFuYWdlciE6IElQeXRob25FbnY7XG5cbiAgLyoqXG4gICAqIEFQSSBmb3IgbWFuYWdpbmcgcGFja2FnaW5nIHRoZSBwcm9qZWN0IGFzIGEgbGlicmFyeS4gT25seSBhcHBsaWVzIHdoZW4gdGhlIGBwcm9qZWN0VHlwZWAgaXMgTElCLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhY2thZ2luZ01hbmFnZXI/OiBJUHl0aG9uUGFja2FnaW5nO1xuXG4gIC8qKlxuICAgKiBQeXRlc3QgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHB5dGVzdD86IFB5dGVzdDtcblxuICAvKipcbiAgICogRGlyZWN0b3J5IHdoZXJlIHNhbXBsZSB0ZXN0cyBhcmUgbG9jYXRlZC5cbiAgICogQGRlZmF1bHQgXCJ0ZXN0c1wiXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2FtcGxlVGVzdGRpcjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFB5dGhvblByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICBpZiAoIVBZVEhPTl9QUk9KRUNUX05BTUVfUkVHRVgudGVzdChvcHRpb25zLm5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiUHl0aG9uIHByb2plY3RzIG11c3Qgb25seSBjb25zaXN0IG9mIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBoeXBoZW5zLCBhbmQgdW5kZXJzY29yZXMuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMubW9kdWxlTmFtZSA9IG9wdGlvbnMubW9kdWxlTmFtZTtcbiAgICB0aGlzLnZlcnNpb24gPSBvcHRpb25zLnZlcnNpb247XG4gICAgdGhpcy5zYW1wbGVUZXN0ZGlyID0gb3B0aW9ucy5zYW1wbGVUZXN0ZGlyID8/IFwidGVzdHNcIjtcblxuICAgIGNvbnN0IHJjRmlsZVR5cGVPcHRpb25zID0gW1xuICAgICAgb3B0aW9ucy5wcm9qZW5yY1B5dGhvbixcbiAgICAgIG9wdGlvbnMucHJvamVucmNKcyxcbiAgICAgIG9wdGlvbnMucHJvamVucmNKc29uLFxuICAgICAgb3B0aW9ucy5wcm9qZW5yY1RzLFxuICAgIF07XG5cbiAgICBpZiAobXVsdGlwbGVTZWxlY3RlZChyY0ZpbGVUeXBlT3B0aW9ucykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJPbmx5IG9uZSBvZiBwcm9qZW5yY1B5dGhvbiwgcHJvamVucmNKcywgcHJvamVucmNUcywgYW5kIHByb2plbnJjSnNvbiBjYW4gYmUgc2VsZWN0ZWQuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHBvZXRyeSA9IG9wdGlvbnMucG9ldHJ5ID8/IGZhbHNlO1xuICAgIGNvbnN0IHV2ID0gb3B0aW9ucy51diA/PyBmYWxzZTtcbiAgICBjb25zdCBub3RfcG9ldHJ5X29yX3V2ID0gIXBvZXRyeSAmJiAhdXY7XG5cbiAgICAvLyBBc3N1bWUgcGlwIGlmIG5vdCB1c2luZyBwb2V0cnkgb3IgdXZcbiAgICBjb25zdCBwaXAgPSBvcHRpb25zLnBpcCA/PyBub3RfcG9ldHJ5X29yX3V2O1xuXG4gICAgLy8gQXNzdW1lIHZlbnYgaWYgbm90IHVzaW5nIHBvZXRyeSBvciB1dlxuICAgIGNvbnN0IHZlbnYgPSBvcHRpb25zLnZlbnYgPz8gbm90X3BvZXRyeV9vcl91djtcblxuICAgIGNvbnN0IHNldHVwdG9vbHMgPVxuICAgICAgb3B0aW9ucy5zZXR1cHRvb2xzID8/XG4gICAgICAobm90X3BvZXRyeV9vcl91diAmJiB0aGlzLnByb2plY3RUeXBlID09PSBQcm9qZWN0VHlwZS5MSUIpO1xuXG4gICAgY29uc3QgdG9vbHMgPSB7XG4gICAgICBwb2V0cnk6IHBvZXRyeSxcbiAgICAgIHBpcDogcGlwLFxuICAgICAgdmVudjogdmVudixcbiAgICAgIHNldHVwdG9vbHM6IHNldHVwdG9vbHMsXG4gICAgICB1djogdXYsXG4gICAgfTtcblxuICAgIGlmICghdGhpcy5wYXJlbnQpIHtcbiAgICAgIC8vIGRlZmF1bHQgdG8gcHJvamVucmMucHkgaWYgbm8gb3RoZXIgcHJvamVucmMgdHlwZSB3YXMgZWxlY3RlZFxuICAgICAgaWYgKG9wdGlvbnMucHJvamVucmNQeXRob24gPz8gIWFueVNlbGVjdGVkKHJjRmlsZVR5cGVPcHRpb25zKSkge1xuICAgICAgICBuZXcgUHJvamVucmNQeXRob24odGhpcywge1xuICAgICAgICAgIHB5dGhvbkV4ZWM6IG9wdGlvbnMucHl0aG9uRXhlYyxcbiAgICAgICAgICAuLi5vcHRpb25zLnByb2plbnJjUHl0aG9uT3B0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zLnByb2plbnJjSnMgPz8gZmFsc2UpIHtcbiAgICAgICAgbmV3IFByb2plbnJjSnModGhpcywgb3B0aW9ucy5wcm9qZW5yY0pzT3B0aW9ucyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zLnByb2plbnJjVHMgPz8gZmFsc2UpIHtcbiAgICAgICAgbmV3IFByb2plbnJjVHModGhpcywgb3B0aW9ucy5wcm9qZW5yY1RzT3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlbnYpIHtcbiAgICAgIHRoaXMuZW52TWFuYWdlciA9IG5ldyBWZW52KHRoaXMsIHtcbiAgICAgICAgcHl0aG9uRXhlYzogb3B0aW9ucy5weXRob25FeGVjLFxuICAgICAgICAuLi5vcHRpb25zLnZlbnZPcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHBpcCkge1xuICAgICAgdGhpcy5kZXBzTWFuYWdlciA9IG5ldyBQaXAodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKHNldHVwdG9vbHMpIHtcbiAgICAgIHRoaXMucGFja2FnaW5nTWFuYWdlciA9IG5ldyBTZXR1cHRvb2xzKHRoaXMsIHtcbiAgICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uLFxuICAgICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbixcbiAgICAgICAgYXV0aG9yTmFtZTogb3B0aW9ucy5hdXRob3JOYW1lLFxuICAgICAgICBhdXRob3JFbWFpbDogb3B0aW9ucy5hdXRob3JFbWFpbCxcbiAgICAgICAgbGljZW5zZTogb3B0aW9ucy5saWNlbnNlLFxuICAgICAgICBob21lcGFnZTogb3B0aW9ucy5ob21lcGFnZSxcbiAgICAgICAgY2xhc3NpZmllcnM6IG9wdGlvbnMuY2xhc3NpZmllcnMsXG4gICAgICAgIHNldHVwQ29uZmlnOiBvcHRpb25zLnNldHVwQ29uZmlnLFxuICAgICAgICBweXRob25FeGVjOiBvcHRpb25zLnB5dGhvbkV4ZWMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodXYpIHtcbiAgICAgIC8vIHV2IGNhbm5vdCBiZSB1c2VkIHdpdGggb3RoZXIgdG9vbHMuXG4gICAgICB0aGlzLmNoZWNrVG9vbENvbmZsaWN0cyhcInV2XCIsIHRvb2xzKTtcblxuICAgICAgY29uc3QgdXZQcm9qZWN0ID0gbmV3IFV2KHRoaXMsIHtcbiAgICAgICAgcHl0aG9uRXhlYzogb3B0aW9ucy51dk9wdGlvbnM/LnB5dGhvbkV4ZWMsXG5cbiAgICAgICAgcHJvamVjdDoge1xuICAgICAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgICAgICB2ZXJzaW9uOiBvcHRpb25zLnZlcnNpb24sXG4gICAgICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgcmVhZG1lOiBvcHRpb25zLnJlYWRtZT8uZmlsZW5hbWUgPz8gXCJSRUFETUUubWRcIixcbiAgICAgICAgICBsaWNlbnNlOiBvcHRpb25zLmxpY2Vuc2UsXG4gICAgICAgICAgYXV0aG9yczogb3B0aW9ucy5hdXRob3JOYW1lXG4gICAgICAgICAgICA/IFt7IG5hbWU6IG9wdGlvbnMuYXV0aG9yTmFtZSwgZW1haWw6IG9wdGlvbnMuYXV0aG9yRW1haWwgfV1cbiAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgY2xhc3NpZmllcnM6IG9wdGlvbnMuY2xhc3NpZmllcnMsXG4gICAgICAgICAgdXJsczogb3B0aW9ucy5ob21lcGFnZVxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgaG9tZXBhZ2U6IG9wdGlvbnMuaG9tZXBhZ2UsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIC4uLm9wdGlvbnMudXZPcHRpb25zPy5wcm9qZWN0LCAvLyB0YWtlcyBwcmlvcml0eVxuICAgICAgICB9LFxuXG4gICAgICAgIGJ1aWxkU3lzdGVtOiBvcHRpb25zLnV2T3B0aW9ucz8uYnVpbGRTeXN0ZW0sXG4gICAgICAgIHV2OiBvcHRpb25zLnV2T3B0aW9ucz8udXYsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZGVwc01hbmFnZXIgPSB1dlByb2plY3Q7XG4gICAgICB0aGlzLmVudk1hbmFnZXIgPSB1dlByb2plY3Q7XG4gICAgICB0aGlzLnBhY2thZ2luZ01hbmFnZXIgPSB1dlByb2plY3Q7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLnV2T3B0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXZPcHRpb25zIG9ubHkgYXBwbGllcyB3aGVuIHVzaW5nIHV2LlwiKTtcbiAgICB9XG5cbiAgICBpZiAocG9ldHJ5KSB7XG4gICAgICAvLyBwb2V0cnkgY2Fubm90IGJlIHVzZWQgd2l0aCBvdGhlciB0b29scy5cbiAgICAgIHRoaXMuY2hlY2tUb29sQ29uZmxpY3RzKFwicG9ldHJ5XCIsIHRvb2xzKTtcblxuICAgICAgY29uc3QgcG9ldHJ5UHJvamVjdCA9IG5ldyBQb2V0cnkodGhpcywge1xuICAgICAgICB2ZXJzaW9uOiBvcHRpb25zLnZlcnNpb24sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uLFxuICAgICAgICBhdXRob3JOYW1lOiBvcHRpb25zLmF1dGhvck5hbWUsXG4gICAgICAgIGF1dGhvckVtYWlsOiBvcHRpb25zLmF1dGhvckVtYWlsLFxuICAgICAgICBsaWNlbnNlOiBvcHRpb25zLmxpY2Vuc2UsXG4gICAgICAgIGhvbWVwYWdlOiBvcHRpb25zLmhvbWVwYWdlLFxuICAgICAgICBjbGFzc2lmaWVyczogb3B0aW9ucy5jbGFzc2lmaWVycyxcbiAgICAgICAgcHl0aG9uRXhlYzogb3B0aW9ucy5weXRob25FeGVjLFxuICAgICAgICBwb2V0cnlPcHRpb25zOiB7XG4gICAgICAgICAgcmVhZG1lOiBvcHRpb25zLnJlYWRtZT8uZmlsZW5hbWUgPz8gXCJSRUFETUUubWRcIixcbiAgICAgICAgICAuLi5vcHRpb25zLnBvZXRyeU9wdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZGVwc01hbmFnZXIgPSBwb2V0cnlQcm9qZWN0O1xuICAgICAgdGhpcy5lbnZNYW5hZ2VyID0gcG9ldHJ5UHJvamVjdDtcbiAgICAgIHRoaXMucGFja2FnaW5nTWFuYWdlciA9IHBvZXRyeVByb2plY3Q7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmVudk1hbmFnZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJBdCBsZWFzdCBvbmUgdG9vbCBtdXN0IGJlIGNob3NlbiBmb3IgbWFuYWdpbmcgdGhlIGVudmlyb25tZW50ICh2ZW52LCBjb25kYSwgcGlwZW52LCBvciBwb2V0cnkpLlwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZGVwc01hbmFnZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJBdCBsZWFzdCBvbmUgdG9vbCBtdXN0IGJlIGNob3NlbiBmb3IgbWFuYWdpbmcgZGVwZW5kZW5jaWVzIChwaXAsIGNvbmRhLCBwaXBlbnYsIG9yIHBvZXRyeSkuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5wYWNrYWdpbmdNYW5hZ2VyICYmIHRoaXMucHJvamVjdFR5cGUgPT09IFByb2plY3RUeXBlLkxJQikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkF0IGxlYXN0IG9uZSB0b29sIG11c3QgYmUgY2hvc2VuIGZvciBtYW5hZ2luZyBwYWNrYWdpbmcgKHNldHVwdG9vbHMgb3IgcG9ldHJ5KS5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKE51bWJlcih2ZW52KSArIE51bWJlcihwb2V0cnkpID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIk1vcmUgdGhhbiBvbmUgY29tcG9uZW50IGhhcyBiZWVuIGNob3NlbiBmb3IgbWFuYWdpbmcgdGhlIGVudmlyb25tZW50ICh2ZW52LCBjb25kYSwgcGlwZW52LCBvciBwb2V0cnkpXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChOdW1iZXIocGlwKSArIE51bWJlcihwb2V0cnkpID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIk1vcmUgdGhhbiBvbmUgY29tcG9uZW50IGhhcyBiZWVuIGNob3NlbiBmb3IgbWFuYWdpbmcgZGVwZW5kZW5jaWVzIChwaXAsIGNvbmRhLCBwaXBlbnYsIG9yIHBvZXRyeSlcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKE51bWJlcihzZXR1cHRvb2xzKSArIE51bWJlcihwb2V0cnkpID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIk1vcmUgdGhhbiBvbmUgY29tcG9uZW50IGhhcyBiZWVuIGNob3NlbiBmb3IgbWFuYWdpbmcgcGFja2FnaW5nIChzZXR1cHRvb2xzIG9yIHBvZXRyeSlcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucHl0ZXN0ID8/IHRydWUpIHtcbiAgICAgIHRoaXMucHl0ZXN0ID0gbmV3IFB5dGVzdCh0aGlzLCBvcHRpb25zLnB5dGVzdE9wdGlvbnMpO1xuICAgICAgaWYgKG9wdGlvbnMuc2FtcGxlID8/IHRydWUpIHtcbiAgICAgICAgbmV3IFB5dGVzdFNhbXBsZSh0aGlzLCB7XG4gICAgICAgICAgbW9kdWxlTmFtZTogdGhpcy5tb2R1bGVOYW1lLFxuICAgICAgICAgIHRlc3RkaXI6IHRoaXMuc2FtcGxlVGVzdGRpcixcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlID8/IHRydWUpIHtcbiAgICAgIG5ldyBQeXRob25TYW1wbGUodGhpcywge1xuICAgICAgICBkaXI6IHRoaXMubW9kdWxlTmFtZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZGVwIG9mIG9wdGlvbnMuZGVwcyA/PyBbXSkge1xuICAgICAgdGhpcy5hZGREZXBlbmRlbmN5KGRlcCk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBkZXAgb2Ygb3B0aW9ucy5kZXZEZXBzID8/IFtdKSB7XG4gICAgICB0aGlzLmFkZERldkRlcGVuZGVuY3koZGVwKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZERlZmF1bHRHaXRJZ25vcmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tUb29sQ29uZmxpY3RzKFxuICAgIGFjdGl2ZVRvb2xOYW1lOiBzdHJpbmcsXG4gICAgdG9vbHM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+LFxuICApIHtcbiAgICBpZiAodG9vbHNbYWN0aXZlVG9vbE5hbWVdKSB7XG4gICAgICAvLyBDb2xsZWN0IG5hbWVzIG9mIG90aGVyIGVuYWJsZWQgdG9vbHMgZXhjbHVkaW5nIHRoZSBhY3RpdmUgdG9vbCBpdHNlbGZcbiAgICAgIGNvbnN0IGNvbmZsaWN0cyA9IE9iamVjdC5lbnRyaWVzKHRvb2xzKVxuICAgICAgICAuZmlsdGVyKChbbmFtZSwgZW5hYmxlZF0pID0+IG5hbWUgIT09IGFjdGl2ZVRvb2xOYW1lICYmIGVuYWJsZWQpXG4gICAgICAgIC5tYXAoKFtuYW1lXSkgPT4gbmFtZSk7XG5cbiAgICAgIGlmIChjb25mbGljdHMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgJHthY3RpdmVUb29sTmFtZX0gY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBvdGhlciB0b29scywgZm91bmQgdGhlIGZvbGxvd2luZyBpbmNvbXBhdGlibGUgdG9vbHMgZW5hYmxlZDogJHtjb25mbGljdHMuam9pbihcbiAgICAgICAgICAgIFwiLCBcIixcbiAgICAgICAgICApfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgZGVmYXVsdCBnaXRpZ25vcmUgb3B0aW9ucyBmb3IgYSBQeXRob24gcHJvamVjdCBiYXNlZCBvblxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vZ2l0aHViL2dpdGlnbm9yZS9ibG9iL21hc3Rlci9QeXRob24uZ2l0aWdub3JlXG4gICAqL1xuICBwcml2YXRlIGFkZERlZmF1bHRHaXRJZ25vcmUoKSB7XG4gICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShcbiAgICAgIFwiIyBCeXRlLWNvbXBpbGVkIC8gb3B0aW1pemVkIC8gRExMIGZpbGVzXCIsXG4gICAgICBcIl9fcHljYWNoZV9fL1wiLFxuICAgICAgXCIqLnB5W2NvZF1cIixcbiAgICAgIFwiKiRweS5jbGFzc1wiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBDIGV4dGVuc2lvbnNcIixcbiAgICAgIFwiKi5zb1wiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBEaXN0cmlidXRpb24gLyBwYWNrYWdpbmdcIixcbiAgICAgIFwiLlB5dGhvblwiLFxuICAgICAgXCJidWlsZC9cIixcbiAgICAgIFwiZGV2ZWxvcC1lZ2dzL1wiLFxuICAgICAgXCJkaXN0L1wiLFxuICAgICAgXCJkb3dubG9hZHMvXCIsXG4gICAgICBcImVnZ3MvXCIsXG4gICAgICBcIi5lZ2dzL1wiLFxuICAgICAgXCJsaWIvXCIsXG4gICAgICBcImxpYjY0L1wiLFxuICAgICAgXCJwYXJ0cy9cIixcbiAgICAgIFwic2Rpc3QvXCIsXG4gICAgICBcInZhci9cIixcbiAgICAgIFwid2hlZWxzL1wiLFxuICAgICAgXCJzaGFyZS9weXRob24td2hlZWxzL1wiLFxuICAgICAgXCIqLmVnZy1pbmZvL1wiLFxuICAgICAgXCIuaW5zdGFsbGVkLmNmZ1wiLFxuICAgICAgXCIqLmVnZ1wiLFxuICAgICAgXCJNQU5JRkVTVFwiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBQeUluc3RhbGxlclwiLFxuICAgICAgXCIjICBVc3VhbGx5IHRoZXNlIGZpbGVzIGFyZSB3cml0dGVuIGJ5IGEgcHl0aG9uIHNjcmlwdCBmcm9tIGEgdGVtcGxhdGVcIixcbiAgICAgIFwiIyAgYmVmb3JlIFB5SW5zdGFsbGVyIGJ1aWxkcyB0aGUgZXhlLCBzbyBhcyB0byBpbmplY3QgZGF0ZS9vdGhlciBpbmZvcyBpbnRvIGl0LlwiLFxuICAgICAgXCIqLm1hbmlmZXN0XCIsXG4gICAgICBcIiouc3BlY1wiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBJbnN0YWxsZXIgbG9nc1wiLFxuICAgICAgXCJwaXAtbG9nLnR4dFwiLFxuICAgICAgXCJwaXAtZGVsZXRlLXRoaXMtZGlyZWN0b3J5LnR4dFwiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBVbml0IHRlc3QgLyBjb3ZlcmFnZSByZXBvcnRzXCIsXG4gICAgICBcImh0bWxjb3YvXCIsXG4gICAgICBcIi50b3gvXCIsXG4gICAgICBcIi5ub3gvXCIsXG4gICAgICBcIi5jb3ZlcmFnZVwiLFxuICAgICAgXCIuY292ZXJhZ2UuKlwiLFxuICAgICAgXCIuY2FjaGVcIixcbiAgICAgIFwibm9zZXRlc3RzLnhtbFwiLFxuICAgICAgXCJjb3ZlcmFnZS54bWxcIixcbiAgICAgIFwiKi5jb3ZlclwiLFxuICAgICAgXCIqLnB5LGNvdmVyXCIsXG4gICAgICBcIi5oeXBvdGhlc2lzL1wiLFxuICAgICAgXCIucHl0ZXN0X2NhY2hlL1wiLFxuICAgICAgXCJjb3Zlci9cIixcbiAgICAgIFwiXCIsXG4gICAgICBcIiMgVHJhbnNsYXRpb25zXCIsXG4gICAgICBcIioubW9cIixcbiAgICAgIFwiKi5wb3RcIixcbiAgICAgIFwiXCIsXG4gICAgICBcIiMgRGphbmdvIHN0dWZmOlwiLFxuICAgICAgXCIqLmxvZ1wiLFxuICAgICAgXCJsb2NhbF9zZXR0aW5ncy5weVwiLFxuICAgICAgXCJkYi5zcWxpdGUzXCIsXG4gICAgICBcImRiLnNxbGl0ZTMtam91cm5hbFwiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBGbGFzayBzdHVmZjpcIixcbiAgICAgIFwiaW5zdGFuY2UvXCIsXG4gICAgICBcIi53ZWJhc3NldHMtY2FjaGVcIixcbiAgICAgIFwiXCIsXG4gICAgICBcIiMgU2NyYXB5IHN0dWZmOlwiLFxuICAgICAgXCIuc2NyYXB5XCIsXG4gICAgICBcIlwiLFxuICAgICAgXCIjIFNwaGlueCBkb2N1bWVudGF0aW9uXCIsXG4gICAgICBcImRvY3MvX2J1aWxkL1wiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBQeUJ1aWxkZXJcIixcbiAgICAgIFwiLnB5YnVpbGRlci9cIixcbiAgICAgIFwidGFyZ2V0L1wiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBKdXB5dGVyIE5vdGVib29rXCIsXG4gICAgICBcIi5pcHluYl9jaGVja3BvaW50c1wiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBJUHl0aG9uXCIsXG4gICAgICBcInByb2ZpbGVfZGVmYXVsdC9cIixcbiAgICAgIFwiaXB5dGhvbl9jb25maWcucHlcIixcbiAgICAgIFwiXCIsXG4gICAgICBcIiMgUEVQIDU4MjsgdXNlZCBieSBlLmcuIGdpdGh1Yi5jb20vRGF2aWQtT0Nvbm5vci9weWZsb3dcIixcbiAgICAgIFwiX19weXBhY2thZ2VzX18vXCIsXG4gICAgICBcIlwiLFxuICAgICAgXCIjIENlbGVyeSBzdHVmZlwiLFxuICAgICAgXCJjZWxlcnliZWF0LXNjaGVkdWxlXCIsXG4gICAgICBcImNlbGVyeWJlYXQucGlkXCIsXG4gICAgICBcIlwiLFxuICAgICAgXCIjIFNhZ2VNYXRoIHBhcnNlZCBmaWxlc1wiLFxuICAgICAgXCIqLnNhZ2UucHlcIixcbiAgICAgIFwiXCIsXG4gICAgICBcIiMgRW52aXJvbm1lbnRzXCIsXG4gICAgICBcIi5lbnZcIixcbiAgICAgIFwiLnZlbnZcIixcbiAgICAgIFwiZW52L1wiLFxuICAgICAgXCJ2ZW52L1wiLFxuICAgICAgXCJFTlYvXCIsXG4gICAgICBcImVudi5iYWsvXCIsXG4gICAgICBcInZlbnYuYmFrL1wiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBTcHlkZXIgcHJvamVjdCBzZXR0aW5nc1wiLFxuICAgICAgXCIuc3B5ZGVycHJvamVjdFwiLFxuICAgICAgXCIuc3B5cHJvamVjdFwiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBSb3BlIHByb2plY3Qgc2V0dGluZ3NcIixcbiAgICAgIFwiLnJvcGVwcm9qZWN0XCIsXG4gICAgICBcIlwiLFxuICAgICAgXCIjIG1rZG9jcyBkb2N1bWVudGF0aW9uXCIsXG4gICAgICBcIi9zaXRlXCIsXG4gICAgICBcIlwiLFxuICAgICAgXCIjIG15cHlcIixcbiAgICAgIFwiLm15cHlfY2FjaGUvXCIsXG4gICAgICBcIi5kbXlweS5qc29uXCIsXG4gICAgICBcImRteXB5Lmpzb25cIixcbiAgICAgIFwiXCIsXG4gICAgICBcIiMgUHlyZSB0eXBlIGNoZWNrZXJcIixcbiAgICAgIFwiLnB5cmUvXCIsXG4gICAgICBcIlwiLFxuICAgICAgXCIjIHB5dHlwZSBzdGF0aWMgdHlwZSBhbmFseXplclwiLFxuICAgICAgXCIucHl0eXBlL1wiLFxuICAgICAgXCJcIixcbiAgICAgIFwiIyBDeXRob24gZGVidWcgc3ltYm9sc1wiLFxuICAgICAgXCJjeXRob25fZGVidWcvXCIsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcnVudGltZSBkZXBlbmRlbmN5LlxuICAgKlxuICAgKiBAcGFyYW0gc3BlYyBGb3JtYXQgYDxtb2R1bGU+QDxzZW12ZXI+YFxuICAgKi9cbiAgcHVibGljIGFkZERlcGVuZGVuY3koc3BlYzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVwc01hbmFnZXIuYWRkRGVwZW5kZW5jeShzcGVjKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgZGV2IGRlcGVuZGVuY3kuXG4gICAqXG4gICAqIEBwYXJhbSBzcGVjIEZvcm1hdCBgPG1vZHVsZT5APHNlbXZlcj5gXG4gICAqL1xuICBwdWJsaWMgYWRkRGV2RGVwZW5kZW5jeShzcGVjOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5kZXBzTWFuYWdlci5hZGREZXZEZXBlbmRlbmN5KHNwZWMpO1xuICB9XG5cbiAgcHVibGljIHBvc3RTeW50aGVzaXplKCkge1xuICAgIHN1cGVyLnBvc3RTeW50aGVzaXplKCk7XG5cbiAgICB0aGlzLmVudk1hbmFnZXIuc2V0dXBFbnZpcm9ubWVudCgpO1xuICAgIHRoaXMuZGVwc01hbmFnZXIuaW5zdGFsbERlcGVuZGVuY2llcygpO1xuICB9XG59XG4iXX0=
@@ -39,5 +39,5 @@ class PythonSample extends component_1.Component {
39
39
  }
40
40
  exports.PythonSample = PythonSample;
41
41
  _a = JSII_RTTI_SYMBOL_1;
42
- PythonSample[_a] = { fqn: "projen.python.PythonSample", version: "0.99.43" };
42
+ PythonSample[_a] = { fqn: "projen.python.PythonSample", version: "0.99.44" };
43
43
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHl0aG9uLXNhbXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9weXRob24vcHl0aG9uLXNhbXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUF5QztBQUV6QyxnREFBMkM7QUFZM0M7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxxQkFBUztJQUN6QyxZQUFZLE9BQWdCLEVBQUUsT0FBNEI7UUFDeEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSx1QkFBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ2xDLEtBQUssRUFBRTtnQkFDTCxhQUFhLEVBQUUseUJBQXlCO2dCQUN4QyxhQUFhLEVBQUU7b0JBQ2IsNEJBQTRCO29CQUM1QixFQUFFO29CQUNGLDRCQUE0QjtvQkFDNUIseUNBQXlDO29CQUN6Qyx3QkFBd0I7b0JBQ3hCLEVBQUU7aUJBQ0gsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNaLFlBQVksRUFBRTtvQkFDWiw4QkFBOEI7b0JBQzlCLDJCQUEyQjtvQkFDM0IsV0FBVztvQkFDWCxvQ0FBb0M7b0JBQ3BDLGNBQWM7b0JBQ2QsK0JBQStCO29CQUMvQixTQUFTO29CQUNULDZCQUE2QjtvQkFDN0IsRUFBRTtpQkFDSCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBNUJILG9DQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBTYW1wbGVEaXIgfSBmcm9tIFwiLi4vc2FtcGxlLWZpbGVcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBweXRob24gc2FtcGxlIGNvZGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHl0aG9uU2FtcGxlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTYW1wbGUgY29kZSBkaXJlY3RvcnlcbiAgICovXG4gIHJlYWRvbmx5IGRpcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFB5dGhvbiBjb2RlIHNhbXBsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFB5dGhvblNhbXBsZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IFB5dGhvblNhbXBsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIG5ldyBTYW1wbGVEaXIocHJvamVjdCwgb3B0aW9ucy5kaXIsIHtcbiAgICAgIGZpbGVzOiB7XG4gICAgICAgIFwiX19pbml0X18ucHlcIjogJ19fdmVyc2lvbl9fID0gXCIwLjEuMFwiXFxuJyxcbiAgICAgICAgXCJfX21haW5fXy5weVwiOiBbXG4gICAgICAgICAgXCJmcm9tIC5leGFtcGxlIGltcG9ydCBoZWxsb1wiLFxuICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgJ2lmIF9fbmFtZV9fID09IFwiX19tYWluX19cIjonLFxuICAgICAgICAgICcgICAgbmFtZSA9IGlucHV0KFwiV2hhdCBpcyB5b3VyIG5hbWU/IFwiKScsXG4gICAgICAgICAgXCIgICAgcHJpbnQoaGVsbG8obmFtZSkpXCIsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgXS5qb2luKFwiXFxuXCIpLFxuICAgICAgICBcImV4YW1wbGUucHlcIjogW1xuICAgICAgICAgIFwiZGVmIGhlbGxvKG5hbWU6IHN0cikgLT4gc3RyOlwiLFxuICAgICAgICAgICcgICAgXCJcIlwiQSBzaW1wbGUgZ3JlZXRpbmcuJyxcbiAgICAgICAgICBcIiAgICBBcmdzOlwiLFxuICAgICAgICAgIFwiICAgICAgICBuYW1lIChzdHIpOiBOYW1lIHRvIGdyZWV0LlwiLFxuICAgICAgICAgIFwiICAgIFJldHVybnM6XCIsXG4gICAgICAgICAgXCIgICAgICAgIHN0cjogZ3JlZXRpbmcgbWVzc2FnZVwiLFxuICAgICAgICAgICcgICAgXCJcIlwiJyxcbiAgICAgICAgICAnICAgIHJldHVybiBmXCJIZWxsbyB7bmFtZX0hXCInLFxuICAgICAgICAgIFwiXCIsXG4gICAgICAgIF0uam9pbihcIlxcblwiKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -60,5 +60,5 @@ class RequirementsFile extends file_1.FileBase {
60
60
  }
61
61
  exports.RequirementsFile = RequirementsFile;
62
62
  _a = JSII_RTTI_SYMBOL_1;
63
- RequirementsFile[_a] = { fqn: "projen.python.RequirementsFile", version: "0.99.43" };
63
+ RequirementsFile[_a] = { fqn: "projen.python.RequirementsFile", version: "0.99.44" };
64
64
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZW1lbnRzLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHl0aG9uL3JlcXVpcmVtZW50cy1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsa0RBQStDO0FBRS9DLGtDQUFtQztBQUVuQywyQ0FBc0Q7QUFTdEQ7Ozs7R0FJRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsZUFBUTtJQUk1QyxZQUNFLE9BQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLE9BQWdDO1FBRWhDLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFSVixhQUFRLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQVU5QyxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFdBQVcsQ0FBQyxHQUFHLFFBQWtCO1FBQ3RDLEtBQUssSUFBSSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLDJCQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUEsNkJBQW9CLEVBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRSxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUEwQjtRQUNqRCxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQixPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFBLDZCQUFvQixFQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0lBRVMsaUJBQWlCLENBQUMsUUFBbUI7UUFDN0MsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixXQUFXLENBQUMsSUFBSSxDQUNkLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUMzQixDQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxHQUFHLFFBQVE7YUFDZixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDO2FBQ3ZFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3BCLENBQUM7O0FBekRILDRDQTBEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSVBhY2thZ2VQcm92aWRlciB9IGZyb20gXCIuL3B5dGhvbi1kZXBzXCI7XG5pbXBvcnQgdHlwZSB7IERlcGVuZGVuY3lDb29yZGluYXRlcyB9IGZyb20gXCIuLi9kZXBlbmRlbmNpZXNcIjtcbmltcG9ydCB7IERlcGVuZGVuY2llcyB9IGZyb20gXCIuLi9kZXBlbmRlbmNpZXNcIjtcbmltcG9ydCB0eXBlIHsgSVJlc29sdmVyIH0gZnJvbSBcIi4uL2ZpbGVcIjtcbmltcG9ydCB7IEZpbGVCYXNlIH0gZnJvbSBcIi4uL2ZpbGVcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyB0b1B5dGhvblZlcnNpb25SYW5nZSB9IGZyb20gXCIuLi91dGlsL3NlbXZlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVpcmVtZW50c0ZpbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFByb3ZpZGUgYSBsaXN0IG9mIHBhY2thZ2VzIHRoYXQgY2FuIGJlIGR5bmFtaWNhbGx5IHVwZGF0ZWQuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlUHJvdmlkZXI/OiBJUGFja2FnZVByb3ZpZGVyO1xufVxuXG4vKipcbiAqIFNwZWNpZmllcyBhIGxpc3Qgb2YgcGFja2FnZXMgdG8gYmUgaW5zdGFsbGVkIHVzaW5nIHBpcC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vcGlwLnB5cGEuaW8vZW4vc3RhYmxlL3JlZmVyZW5jZS9waXBfaW5zdGFsbC8jcmVxdWlyZW1lbnRzLWZpbGUtZm9ybWF0XG4gKi9cbmV4cG9ydCBjbGFzcyBSZXF1aXJlbWVudHNGaWxlIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHBhY2thZ2VzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYWNrYWdlUHJvdmlkZXI/OiBJUGFja2FnZVByb3ZpZGVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb2plY3Q6IFByb2plY3QsXG4gICAgZmlsZVBhdGg6IHN0cmluZyxcbiAgICBvcHRpb25zOiBSZXF1aXJlbWVudHNGaWxlT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCwgZmlsZVBhdGgpO1xuXG4gICAgdGhpcy5wYWNrYWdlUHJvdmlkZXIgPSBvcHRpb25zLnBhY2thZ2VQcm92aWRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoZSBzcGVjaWZpZWQgcGFja2FnZXMgcHJvdmlkZWQgaW4gc2VtdmVyIGZvcm1hdC5cbiAgICpcbiAgICogQ29tbWVudCBsaW5lcyAoc3RhcnQgd2l0aCBgI2ApIGFyZSBpZ25vcmVkLlxuICAgKlxuICAgKiBAcGFyYW0gcGFja2FnZXMgUGFja2FnZSB2ZXJzaW9uIGluIGZvcm1hdCBgPG1vZHVsZT5APHNlbXZlcj5gXG4gICAqL1xuICBwdWJsaWMgYWRkUGFja2FnZXMoLi4ucGFja2FnZXM6IHN0cmluZ1tdKSB7XG4gICAgZm9yIChsZXQgcGtnIG9mIHBhY2thZ2VzKSB7XG4gICAgICBpZiAocGtnLnN0YXJ0c1dpdGgoXCIjXCIpKSB7XG4gICAgICAgIHRoaXMucGFja2FnZXMucHVzaChwa2cpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgeyBuYW1lLCB2ZXJzaW9uIH0gPSBEZXBlbmRlbmNpZXMucGFyc2VEZXBlbmRlbmN5KHBrZyk7XG4gICAgICAgIGlmICh2ZXJzaW9uKSB7XG4gICAgICAgICAgdGhpcy5wYWNrYWdlcy5wdXNoKGAke25hbWV9JHt0b1B5dGhvblZlcnNpb25SYW5nZSh2ZXJzaW9uKX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnBhY2thZ2VzLnB1c2gobmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdERlcGVuZGVuY3koZGVwOiBEZXBlbmRlbmN5Q29vcmRpbmF0ZXMpIHtcbiAgICBpZiAoZGVwLnZlcnNpb24pIHtcbiAgICAgIHJldHVybiBgJHtkZXAubmFtZX0ke3RvUHl0aG9uVmVyc2lvblJhbmdlKGRlcC52ZXJzaW9uKX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGVwLm5hbWU7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVDb250ZW50KHJlc29sdmVyOiBJUmVzb2x2ZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGFsbFBhY2thZ2VzID0gWy4uLnRoaXMucGFja2FnZXNdO1xuICAgIGlmICh0aGlzLnBhY2thZ2VQcm92aWRlcikge1xuICAgICAgYWxsUGFja2FnZXMucHVzaChcbiAgICAgICAgLi4udGhpcy5wYWNrYWdlUHJvdmlkZXIucGFja2FnZXMubWFwKChkZXApID0+XG4gICAgICAgICAgdGhpcy5mb3JtYXREZXBlbmRlbmN5KGRlcCksXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtyZXNvbHZlclxuICAgICAgLnJlc29sdmUoWy4uLih0aGlzLm1hcmtlciA/IFtgIyAke3RoaXMubWFya2VyfWBdIDogW10pLCAuLi5hbGxQYWNrYWdlc10pXG4gICAgICAuam9pbihcIlxcblwiKX1cXG5gO1xuICB9XG59XG4iXX0=
@@ -69,5 +69,5 @@ class SetupPy extends file_1.FileBase {
69
69
  }
70
70
  exports.SetupPy = SetupPy;
71
71
  _a = JSII_RTTI_SYMBOL_1;
72
- SetupPy[_a] = { fqn: "projen.python.SetupPy", version: "0.99.43" };
72
+ SetupPy[_a] = { fqn: "projen.python.SetupPy", version: "0.99.44" };
73
73
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBweS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9weXRob24vc2V0dXBweS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLGtDQUFtQztBQXVFbkM7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxlQUFRO0lBR25DLFlBQVksT0FBZ0IsRUFBRSxPQUF1QjtRQUNuRCxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixlQUFlLEVBQUUsT0FBTztZQUN4QixXQUFXLEVBQUU7Z0JBQ1gsaUNBQWlDO2dCQUNqQyw2Q0FBNkM7Z0JBQzdDLHVDQUF1QztnQkFDdkMsdUNBQXVDO2dCQUN2Qyx3Q0FBd0M7Z0JBQ3hDLHdDQUF3QztnQkFDeEMsd0NBQXdDO2FBQ3pDO1lBQ0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQy9DLENBQUM7SUFDSixDQUFDO0lBRVMsaUJBQWlCLENBQUMsUUFBbUI7UUFDN0MsTUFBTSxLQUFLLEdBQUc7WUFDWixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDNUMsRUFBRTtZQUNGLGFBQWE7WUFDYiw4QkFBOEI7WUFDOUIsRUFBRTtZQUNGLHNCQUFzQjtZQUN0QixTQUFTO1lBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDekMsS0FBSztZQUNMLEdBQUc7WUFDSCxFQUFFO1lBQ0YsaUJBQWlCO1NBQ2xCLENBQUM7UUFFRixPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBRUQsNkVBQTZFO0lBQ3JFLFlBQVksQ0FBQyxPQUF1QjtRQUMxQyxNQUFNLEdBQUcsR0FBMkIsRUFBRSxDQUFDO1FBQ3ZDLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkQsUUFBUSxHQUFHLEVBQUUsQ0FBQztnQkFDWixLQUFLLFlBQVk7b0JBQ2YsR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7b0JBQ25CLE1BQU07Z0JBQ1IsS0FBSyxhQUFhO29CQUNoQixHQUFHLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztvQkFDekIsTUFBTTtnQkFDUixLQUFLLFVBQVU7b0JBQ2IsR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7b0JBQ2hCLE1BQU07Z0JBQ1IsS0FBSyxtQkFBbUI7b0JBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDN0MsTUFBTTtnQkFDUjtvQkFDRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOztBQWhFSCwwQkFpRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvbHZlciB9IGZyb20gXCIuLi9maWxlXCI7XG5pbXBvcnQgeyBGaWxlQmFzZSB9IGZyb20gXCIuLi9maWxlXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIEZpZWxkcyB0byBwYXNzIGluIHRoZSBzZXR1cCgpIGZ1bmN0aW9uIG9mIHNldHVwLnB5XG4gKlxuICogQHNlZSBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2Rpc3R1dGlscy9zZXR1cHNjcmlwdC5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2V0dXBQeU9wdGlvbnMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgcGFja2FnZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBzdWJtb2R1bGVzIHRvIGJlIHBhY2thZ2VkXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBdXRob3IncyBuYW1lXG4gICAqL1xuICByZWFkb25seSBhdXRob3JOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdXRob3IncyBlLW1haWxcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvckVtYWlsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNYW51YWxseSBzcGVjaWZ5IHBhY2thZ2UgdmVyc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQSBzaG9ydCBwcm9qZWN0IGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByb2plY3QgbGljZW5zZVxuICAgKi9cbiAgcmVhZG9ubHkgbGljZW5zZT86IHN0cmluZztcblxuICAvKipcbiAgICogUGFja2FnZSdzIEhvbWVwYWdlIC8gV2Vic2l0ZVxuICAgKi9cbiAgcmVhZG9ubHkgaG9tZXBhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBQeVBJIHRyb3ZlIGNsYXNzaWZpZXJzIHRoYXQgZGVzY3JpYmUgdGhlIHByb2plY3QuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9weXBpLm9yZy9jbGFzc2lmaWVycy9cbiAgICovXG4gIHJlYWRvbmx5IGNsYXNzaWZpZXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEVzY2FwZSBoYXRjaCB0byBhbGxvdyBhbnkgdmFsdWVcbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxPcHRpb25zPzogeyBbbmFtZTogc3RyaW5nXTogYW55IH07XG5cbiAgLyoqXG4gICAqIEVzY2FwZSBoYXRjaCB0byBhbGxvdyBhbnkgdmFsdWUgKEpTL1RTIG9ubHkpXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFByZWZlciB1c2luZyBgYWRkaXRpb25hbE9wdGlvbnNgIGluc3RlYWQuXG4gICAqXG4gICAqIEBqc2lpIGlnbm9yZVxuICAgKi9cbiAgcmVhZG9ubHkgW25hbWU6IHN0cmluZ106IGFueTtcbn1cblxuLyoqXG4gKiBQeXRob24gcGFja2FnaW5nIHNjcmlwdCB3aGVyZSBwYWNrYWdlIG1ldGFkYXRhIGNhbiBiZSBwbGFjZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXR1cFB5IGV4dGVuZHMgRmlsZUJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHNldHVwQ29uZmlnOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogU2V0dXBQeU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBcInNldHVwLnB5XCIpO1xuXG4gICAgdGhpcy5zZXR1cENvbmZpZyA9IHtcbiAgICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgIHBhY2thZ2VzOiBvcHRpb25zLnBhY2thZ2VzLFxuICAgICAgcHl0aG9uX3JlcXVpcmVzOiBcIj49My44XCIsXG4gICAgICBjbGFzc2lmaWVyczogW1xuICAgICAgICBcIkludGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnNcIixcbiAgICAgICAgXCJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMyA6OiBPbmx5XCIsXG4gICAgICAgIFwiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuOFwiLFxuICAgICAgICBcIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjlcIixcbiAgICAgICAgXCJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMy4xMFwiLFxuICAgICAgICBcIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjExXCIsXG4gICAgICAgIFwiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuMTJcIixcbiAgICAgIF0sXG4gICAgICAuLi4ob3B0aW9ucyA/IHRoaXMucmVuYW1lRmllbGRzKG9wdGlvbnMpIDogW10pLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXI6IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbGluZXMgPSBbXG4gICAgICAuLi4odGhpcy5tYXJrZXIgPyBbYCMgJHt0aGlzLm1hcmtlcn1gXSA6IFtdKSxcbiAgICAgIFwiXCIsXG4gICAgICBcImltcG9ydCBqc29uXCIsXG4gICAgICBcImZyb20gc2V0dXB0b29scyBpbXBvcnQgc2V0dXBcIixcbiAgICAgIFwiXCIsXG4gICAgICBcImt3YXJncyA9IGpzb24ubG9hZHMoXCIsXG4gICAgICAnICAgIFwiXCJcIicsXG4gICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNldHVwQ29uZmlnLCBudWxsLCA0KSxcbiAgICAgICdcIlwiXCInLFxuICAgICAgXCIpXCIsXG4gICAgICBcIlwiLFxuICAgICAgXCJzZXR1cCgqKmt3YXJncylcIixcbiAgICBdO1xuXG4gICAgcmV0dXJuIGAke3Jlc29sdmVyLnJlc29sdmUobGluZXMpLmpvaW4oXCJcXG5cIil9XFxuYDtcbiAgfVxuXG4gIC8vIG1vZGlmeSBzb21lIGtleSBuYW1lcyBzaW5jZSBKU0lJIGludGVyZmFjZXMgcmVxdWlyZSBmaWVsZHMgdG8gYmUgY2FtZWxDYXNlXG4gIHByaXZhdGUgcmVuYW1lRmllbGRzKG9wdGlvbnM6IFNldHVwUHlPcHRpb25zKTogYW55IHtcbiAgICBjb25zdCBvYmo6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhvcHRpb25zKSkge1xuICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgY2FzZSBcImF1dGhvck5hbWVcIjpcbiAgICAgICAgICBvYmouYXV0aG9yID0gdmFsdWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJhdXRob3JFbWFpbFwiOlxuICAgICAgICAgIG9iai5hdXRob3JfZW1haWwgPSB2YWx1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImhvbWVwYWdlXCI6XG4gICAgICAgICAgb2JqLnVybCA9IHZhbHVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiYWRkaXRpb25hbE9wdGlvbnNcIjpcbiAgICAgICAgICBPYmplY3QuYXNzaWduKG9iaiwgdGhpcy5yZW5hbWVGaWVsZHModmFsdWUpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBvYmpba2V5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9XG59XG4iXX0=
@@ -41,5 +41,5 @@ class Setuptools extends component_1.Component {
41
41
  }
42
42
  exports.Setuptools = Setuptools;
43
43
  _a = JSII_RTTI_SYMBOL_1;
44
- Setuptools[_a] = { fqn: "projen.python.Setuptools", version: "0.99.43" };
44
+ Setuptools[_a] = { fqn: "projen.python.Setuptools", version: "0.99.44" };
45
45
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXB0b29scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9weXRob24vc2V0dXB0b29scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUtBLHVDQUFvQztBQUNwQyw0Q0FBeUM7QUFDekMsa0RBQWlEO0FBT2pEOztHQUVHO0FBQ0gsTUFBYSxVQUFXLFNBQVEscUJBQVM7SUFVdkMsWUFBWSxPQUFnQixFQUFFLE9BQTBCO1FBQ3RELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUM7UUFFakQsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLDZCQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEUsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLDZCQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSw2QkFBNkIsQ0FBQyxDQUFDO1FBRTFFLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7WUFDckQsV0FBVyxFQUFFLG1EQUFtRDtZQUNoRSxJQUFJLEVBQUUsb0VBQW9FO1NBQzNFLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDNUMsV0FBVyxFQUFFLG1EQUFtRDtZQUNoRSxJQUFJLEVBQUUscUJBQXFCO1NBQzVCLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFekUsSUFBSSxpQkFBTyxDQUFDLE9BQU8sRUFBRTtZQUNuQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQzlCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztZQUNoQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDMUIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLEdBQUcsT0FBTyxDQUFDLFdBQVc7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUEzQ0gsZ0NBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBJUHl0aG9uUGFja2FnaW5nLFxuICBQeXRob25QYWNrYWdpbmdPcHRpb25zLFxufSBmcm9tIFwiLi9weXRob24tcGFja2FnaW5nXCI7XG5pbXBvcnQgdHlwZSB7IFB5dGhvbkV4ZWN1dGFibGVPcHRpb25zIH0gZnJvbSBcIi4vcHl0aG9uLXByb2plY3RcIjtcbmltcG9ydCB7IFNldHVwUHkgfSBmcm9tIFwiLi9zZXR1cHB5XCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEZXBlbmRlbmN5VHlwZSB9IGZyb20gXCIuLi9kZXBlbmRlbmNpZXNcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgdHlwZSB7IFRhc2sgfSBmcm9tIFwiLi4vdGFza1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNldHVwdG9vbHNPcHRpb25zXG4gIGV4dGVuZHMgUHl0aG9uUGFja2FnaW5nT3B0aW9ucywgUHl0aG9uRXhlY3V0YWJsZU9wdGlvbnMge31cblxuLyoqXG4gKiBNYW5hZ2VzIHBhY2thZ2luZyB0aHJvdWdoIHNldHVwdG9vbHMgd2l0aCBhIHNldHVwLnB5IHNjcmlwdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNldHVwdG9vbHMgZXh0ZW5kcyBDb21wb25lbnQgaW1wbGVtZW50cyBJUHl0aG9uUGFja2FnaW5nIHtcbiAgcHVibGljIHJlYWRvbmx5IHB1Ymxpc2hUYXNrOiBUYXNrO1xuXG4gIC8qKlxuICAgKiBBIHRhc2sgdGhhdCB1cGxvYWRzIHRoZSBwYWNrYWdlIHRvIHRoZSBUZXN0IFB5UEkgcmVwb3NpdG9yeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwdWJsaXNoVGVzdFRhc2s6IFRhc2s7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBweXRob25FeGVjOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogU2V0dXB0b29sc09wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgICB0aGlzLnB5dGhvbkV4ZWMgPSBvcHRpb25zLnB5dGhvbkV4ZWMgPz8gXCJweXRob25cIjtcblxuICAgIHByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KFwid2hlZWxAMC4zNi4yXCIsIERlcGVuZGVuY3lUeXBlLkRFVkVOVik7XG4gICAgcHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koXCJ0d2luZUAzLjMuMFwiLCBEZXBlbmRlbmN5VHlwZS5ERVZFTlYpO1xuXG4gICAgcHJvamVjdC5wYWNrYWdlVGFzay5leGVjKGAke3RoaXMucHl0aG9uRXhlY30gc2V0dXAucHkgc2Rpc3QgYmRpc3Rfd2hlZWxgKTtcblxuICAgIHRoaXMucHVibGlzaFRlc3RUYXNrID0gcHJvamVjdC5hZGRUYXNrKFwicHVibGlzaDp0ZXN0XCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlVwbG9hZHMgdGhlIHBhY2thZ2UgYWdhaW5zdCBhIHRlc3QgUHlQSSBlbmRwb2ludC5cIixcbiAgICAgIGV4ZWM6IFwidHdpbmUgdXBsb2FkIC0tcmVwb3NpdG9yeS11cmwgaHR0cHM6Ly90ZXN0LnB5cGkub3JnL2xlZ2FjeS8gZGlzdC8qXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLnB1Ymxpc2hUYXNrID0gcHJvamVjdC5hZGRUYXNrKFwicHVibGlzaFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJVcGxvYWRzIHRoZSBwYWNrYWdlIGFnYWluc3QgYSB0ZXN0IFB5UEkgZW5kcG9pbnQuXCIsXG4gICAgICBleGVjOiBcInR3aW5lIHVwbG9hZCBkaXN0LypcIixcbiAgICB9KTtcblxuICAgIGNvbnN0IHBhY2thZ2VzID0gb3B0aW9ucy5wYWNrYWdlTmFtZSA/IFtvcHRpb25zLnBhY2thZ2VOYW1lXSA6IHVuZGVmaW5lZDtcblxuICAgIG5ldyBTZXR1cFB5KHByb2plY3QsIHtcbiAgICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgIHBhY2thZ2VzOiBwYWNrYWdlcyxcbiAgICAgIGF1dGhvck5hbWU6IG9wdGlvbnMuYXV0aG9yTmFtZSxcbiAgICAgIGF1dGhvckVtYWlsOiBvcHRpb25zLmF1dGhvckVtYWlsLFxuICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24sXG4gICAgICBsaWNlbnNlOiBvcHRpb25zLmxpY2Vuc2UsXG4gICAgICBob21lcGFnZTogb3B0aW9ucy5ob21lcGFnZSxcbiAgICAgIGNsYXNzaWZpZXJzOiBvcHRpb25zLmNsYXNzaWZpZXJzLFxuICAgICAgLi4ub3B0aW9ucy5zZXR1cENvbmZpZyxcbiAgICB9KTtcbiAgfVxufVxuIl19
package/lib/python/uv.js CHANGED
@@ -134,5 +134,5 @@ class Uv extends component_1.Component {
134
134
  }
135
135
  exports.Uv = Uv;
136
136
  _a = JSII_RTTI_SYMBOL_1;
137
- Uv[_a] = { fqn: "projen.python.Uv", version: "0.99.43" };
137
+ Uv[_a] = { fqn: "projen.python.Uv", version: "0.99.44" };
138
138
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHl0aG9uL3V2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBSUEsNENBQXlDO0FBRXpDLDJDQUFxRDtBQUVyRCxrREFBaUQ7QUFFakQsa0RBQThDO0FBQzlDLGtDQUFnRDtBQUVoRCwrREFBMEQ7QUF5QjFEOztHQUVHO0FBQ0gsTUFBYSxFQUNYLFNBQVEscUJBQVM7SUFjakIsWUFBWSxLQUFpQixFQUFFLE9BQWtCO1FBQy9DLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUViLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsY0FBYyxJQUFJLGFBQWEsQ0FBQztRQUN4RSxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksY0FBYyxDQUFDO1FBRXZELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ2pELFdBQVcsRUFBRSwwQ0FBMEM7WUFDdkQsSUFBSSxFQUFFLG9CQUFvQjtTQUMzQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN0RCxXQUFXLEVBQUUsMkNBQTJDO1lBQ3hELElBQUksRUFBRSxTQUFTO1NBQ2hCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENB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dWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBJUHl0aG9uRGVwcyB9IGZyb20gXCIuL3B5dGhvbi1kZXBzXCI7XG5pbXBvcnQgdHlwZSB7IElQeXRob25FbnYgfSBmcm9tIFwiLi9weXRob24tZW52XCI7XG5pbXBvcnQgdHlwZSB7IElQeXRob25QYWNrYWdpbmcgfSBmcm9tIFwiLi9weXRob24tcGFja2FnaW5nXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IFV2Q29uZmlndXJhdGlvbiB9IGZyb20gXCIuL3V2LWNvbmZpZ1wiO1xuaW1wb3J0IHsgdG9Kc29uX1V2Q29uZmlndXJhdGlvbiB9IGZyb20gXCIuL3V2LWNvbmZpZ1wiO1xuaW1wb3J0IHR5cGUgeyBEZXBlbmRlbmN5IH0gZnJvbSBcIi4uL2RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVR5cGUgfSBmcm9tIFwiLi4vZGVwZW5kZW5jaWVzXCI7XG5pbXBvcnQgdHlwZSB7IFRhc2sgfSBmcm9tIFwiLi4vdGFza1wiO1xuaW1wb3J0IHsgVGFza1J1bnRpbWUgfSBmcm9tIFwiLi4vdGFzay1ydW50aW1lXCI7XG5pbXBvcnQgeyBleGVjLCBleGVjT3JVbmRlZmluZWQgfSBmcm9tIFwiLi4vdXRpbFwiO1xuaW1wb3J0IHR5cGUgeyBCdWlsZFN5c3RlbSwgUHlwcm9qZWN0VG9tbFByb2plY3QgfSBmcm9tIFwiLi9weXByb2plY3QtdG9tbFwiO1xuaW1wb3J0IHsgUHlwcm9qZWN0VG9tbEZpbGUgfSBmcm9tIFwiLi9weXByb2plY3QtdG9tbC1maWxlXCI7XG5pbXBvcnQgdHlwZSB7IFB5dGhvbkV4ZWN1dGFibGVPcHRpb25zIH0gZnJvbSBcIi4vcHl0aG9uLXByb2plY3RcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBVViBwcm9qZWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXZPcHRpb25zIGV4dGVuZHMgUHl0aG9uRXhlY3V0YWJsZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHByb2plY3QncyBiYXNpYyBtZXRhZGF0YSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdD86IFB5cHJvamVjdFRvbWxQcm9qZWN0O1xuXG4gIC8qKlxuICAgKiBEZWNsYXJlcyBhbnkgUHl0aG9uIGxldmVsIGRlcGVuZGVuY2llcyB0aGF0IG11c3QgYmUgaW5zdGFsbGVkIGluIG9yZGVyIHRvIHJ1biB0aGUgcHJvamVjdOKAmXMgYnVpbGQgc3lzdGVtIHN1Y2Nlc3NmdWxseS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBidWlsZCBzeXN0ZW1cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkU3lzdGVtPzogQnVpbGRTeXN0ZW07XG5cbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIGFuZCBtZXRhZGF0YSBmb3IgdXYuXG4gICAqL1xuICByZWFkb25seSB1dj86IFV2Q29uZmlndXJhdGlvbjtcbn1cblxuLyoqXG4gKiBNYW5hZ2UgcHJvamVjdCBkZXBlbmRlbmNpZXMsIHZpcnR1YWwgZW52aXJvbm1lbnRzLCBhbmQgcGFja2FnaW5nIHRocm91Z2ggdXYuXG4gKi9cbmV4cG9ydCBjbGFzcyBVdlxuICBleHRlbmRzIENvbXBvbmVudFxuICBpbXBsZW1lbnRzIElQeXRob25EZXBzLCBJUHl0aG9uRW52LCBJUHl0aG9uUGFja2FnaW5nXG57XG4gIC8qKlxuICAgKiBUaGUgYHB5cHJvamVjdC50b21sYCBmaWxlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZTogUHlwcm9qZWN0VG9tbEZpbGU7XG4gIHB1YmxpYyByZWFkb25seSBpbnN0YWxsVGFzazogVGFzaztcbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbGxDaVRhc2s6IFRhc2s7XG4gIHB1YmxpYyByZWFkb25seSBwdWJsaXNoVGFzazogVGFzaztcbiAgcHVibGljIHJlYWRvbmx5IHB1Ymxpc2hUZXN0VGFzazogVGFzaztcblxuICBwcml2YXRlIHJlYWRvbmx5IHZlbnZQeXRob246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogSUNvbnN0cnVjdCwgb3B0aW9uczogVXZPcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUpO1xuXG4gICAgY29uc3QgcmVxdWlyZXNQeXRob24gPSBvcHRpb25zLnByb2plY3Q/LnJlcXVpcmVzUHl0aG9uID8/IFwiPj0zLjEyLDw0LjBcIjtcbiAgICB0aGlzLnZlbnZQeXRob24gPSBvcHRpb25zLnB5dGhvbkV4ZWMgPz8gcmVxdWlyZXNQeXRob247XG5cbiAgICB0aGlzLmluc3RhbGxUYXNrID0gdGhpcy5wcm9qZWN0LmFkZFRhc2soXCJpbnN0YWxsXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkluc3RhbGwgZGVwZW5kZW5jaWVzIGFuZCB1cGRhdGUgbG9ja2ZpbGVcIixcbiAgICAgIGV4ZWM6IFwidXYgc3luYyAmJiB1diBsb2NrXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLmluc3RhbGxDaVRhc2sgPSB0aGlzLnByb2plY3QuYWRkVGFzayhcImluc3RhbGw6Y2lcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiSW5zdGFsbCBkZXBlbmRlbmNpZXMgd2l0aCBmcm96ZW4gbG9ja2ZpbGVcIixcbiAgICAgIGV4ZWM6IFwidXYgc3luY1wiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wcm9qZWN0LnRhc2tzLmFkZEVudmlyb25tZW50KFwiVklSVFVBTF9FTlZcIiwgXCIudmVudlwiKTtcbiAgICB0aGlzLnByb2plY3QudGFza3MuYWRkRW52aXJvbm1lbnQoXCJQQVRIXCIsIFwiJChlY2hvIC52ZW52L2JpbjokUEFUSClcIik7XG5cbiAgICB0aGlzLnByb2plY3QucGFja2FnZVRhc2suZXhlYyhcInV2IGJ1aWxkXCIpO1xuXG4gICAgdGhpcy5wdWJsaXNoVGVzdFRhc2sgPSB0aGlzLnByb2plY3QuYWRkVGFzayhcInB1Ymxpc2g6dGVzdFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJVcGxvYWRzIHRoZSBwYWNrYWdlIGFnYWluc3QgYSB0ZXN0IFB5UEkgZW5kcG9pbnQuXCIsXG4gICAgICBleGVjOiBcInV2IHB1Ymxpc2ggLS1pbmRleCB0ZXN0cHlwaVwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wdWJsaXNoVGFzayA9IHRoaXMucHJvamVjdC5hZGRUYXNrKFwicHVibGlzaFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJVcGxvYWRzIHRoZSBwYWNrYWdlIHRvIFB5UEkuXCIsXG4gICAgICBleGVjOiBcInV2IHB1Ymxpc2hcIixcbiAgICB9KTtcblxuICAgIHRoaXMuZmlsZSA9IG5ldyBQeXByb2plY3RUb21sRmlsZSh0aGlzLnByb2plY3QsIHtcbiAgICAgIHByb2plY3Q6IHtcbiAgICAgICAgbmFtZTogb3B0aW9ucy5wcm9qZWN0Py5uYW1lID8/IHRoaXMucHJvamVjdC5uYW1lLFxuICAgICAgICByZXF1aXJlc1B5dGhvbixcbiAgICAgICAgLi4ub3B0aW9ucy5wcm9qZWN0LFxuICAgICAgICBkZXBlbmRlbmNpZXM6ICgoKSA9PiBbXG4gICAgICAgICAgLi4uKG9wdGlvbnM/LnByb2plY3Q/LmRlcGVuZGVuY2llcyA/PyBbXSksXG4gICAgICAgICAgLi4udGhpcy5zeW50aERlcGVuZGVuY2llcygpLFxuICAgICAgICBdKSBhcyBhbnksXG4gICAgICB9LFxuICAgICAgZGVwZW5kZW5jeUdyb3VwczogKCgpID0+IHRoaXMuc3ludGhEZXBlbmRlbmN5R3JvdXBzKCkpIGFzIGFueSxcbiAgICAgIGJ1aWxkU3lzdGVtOiBvcHRpb25zLmJ1aWxkU3lzdGVtLFxuICAgICAgdG9vbDoge1xuICAgICAgICB1djogdG9Kc29uX1V2Q29uZmlndXJhdGlvbihvcHRpb25zLnV2KSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKiogRm9ybWF0cyBkZXBlbmRlbmNpZXMgaW4gVVYgc3R5bGUuICovXG4gIHByaXZhdGUgZm9ybWF0RGVwZW5kZW5jeShkZXA6IERlcGVuZGVuY3kpOiBzdHJpbmcge1xuICAgIGNvbnN0IG5hbWUgPSBkZXAubmFtZTtcbiAgICBjb25zdCB2ZXJzaW9uID0gZGVwLnZlcnNpb247XG5cbiAgICBpZiAoIXZlcnNpb24gfHwgdmVyc2lvbiA9PT0gXCIqXCIpIHtcbiAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cblxuICAgIC8vIFRyYW5zbGF0ZSBjYXJldCAoXikgdG8gUHl0aG9uIGNvbXBhdGlibGUgY29uc3RyYWludHNcbiAgICBpZiAodmVyc2lvbi5zdGFydHNXaXRoKFwiXlwiKSkge1xuICAgICAgY29uc3QgY2xlYW5WZXJzaW9uID0gdmVyc2lvbi5zbGljZSgxKTtcbiAgICAgIGNvbnN0IFttYWpvcl0gPSBjbGVhblZlcnNpb24uc3BsaXQoXCIuXCIpO1xuICAgICAgY29uc3QgbmV4dE1ham9yID0gTnVtYmVyKG1ham9yKSArIDE7XG4gICAgICByZXR1cm4gYCR7bmFtZX0+PSR7Y2xlYW5WZXJzaW9ufSw8JHtuZXh0TWFqb3J9LjAuMGA7XG4gICAgfVxuXG4gICAgLy8gVHJhbnNsYXRlIHRpbGRlICh+KSB0byBjb21wYXRpYmxlIHJlbGVhc2UgY2xhdXNlIHBlciBQRVAgNDQwXG4gICAgaWYgKHZlcnNpb24uc3RhcnRzV2l0aChcIn5cIikpIHtcbiAgICAgIGNvbnN0IGNsZWFuVmVyc2lvbiA9IHZlcnNpb24uc2xpY2UoMSk7XG5cbiAgICAgIC8vIE9ubHkga2VlcCBtYWpvci5taW5vciBmb3IgdGlsZGUgaWYgcG9zc2libGVcbiAgICAgIGNvbnN0IFttYWpvciwgbWlub3IgPSBcIjBcIiwgcGF0Y2ggPSBcIjBcIl0gPSBjbGVhblZlcnNpb24uc3BsaXQoXCIuXCIpO1xuICAgICAgY29uc3QgbmV4dE1pbm9yID0gTnVtYmVyKG1pbm9yKSArIDE7XG4gICAgICByZXR1cm4gYCR7bmFtZX0+PSR7bWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9LDwke21ham9yfS4ke25leHRNaW5vcn0uMGA7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlIHRyZWF0IGFzIGFuIGV4YWN0IHZlcnNpb25cbiAgICByZXR1cm4gYCR7bmFtZX09PSR7dmVyc2lvbn1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZXBlbmRlbmNpZXMoZGVwZW5kZW5jeVR5cGVzOiBEZXBlbmRlbmN5VHlwZVtdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnByb2plY3QuZGVwcy5hbGxcbiAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAocGtnKSA9PiBkZXBlbmRlbmN5VHlwZXMuaW5jbHVkZXMocGtnLnR5cGUpICYmIHBrZy5uYW1lICE9PSBcInB5dGhvblwiLFxuICAgICAgICApXG4gICAgICAgIC8vIHJlbW92ZSBkdXBsaWNhdGUgdmVyc2lvbnMgb2YgdGhlIHNhbWUgZGVwZW5kZW5jeVxuICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgIChkZXAsIGluZGV4LCBzZWxmKSA9PlxuICAgICAgICAgICAgaW5kZXggPT09IHNlbGYuZmluZEluZGV4KChkKSA9PiBkLm5hbWUgPT09IGRlcC5uYW1lKSxcbiAgICAgICAgKVxuICAgICAgICAubWFwKChwa2cpID0+IHRoaXMuZm9ybWF0RGVwZW5kZW5jeShwa2cpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN5bnRoRGVwZW5kZW5jaWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5nZXREZXBlbmRlbmNpZXMoW0RlcGVuZGVuY3lUeXBlLlJVTlRJTUVdKTtcbiAgfVxuXG4gIHByaXZhdGUgc3ludGhEZXBlbmRlbmN5R3JvdXBzKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZGV2RGVwcyA9IHRoaXMuZ2V0RGVwZW5kZW5jaWVzKFtcbiAgICAgIERlcGVuZGVuY3lUeXBlLkRFVkVOVixcbiAgICAgIERlcGVuZGVuY3lUeXBlLlRFU1QsXG4gICAgXSk7XG5cbiAgICBpZiAoZGV2RGVwcykge1xuICAgICAgcmV0dXJuIHsgZGV2OiBkZXZEZXBzIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZERlcGVuZGVuY3koc3BlYzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5wcm9qZWN0LmRlcHMuYWRkRGVwZW5kZW5jeShzcGVjLCBEZXBlbmRlbmN5VHlwZS5SVU5USU1FKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGREZXZEZXBlbmRlbmN5KHNwZWM6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koc3BlYywgRGVwZW5kZW5jeVR5cGUuREVWRU5WKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXR1cEVudmlyb25tZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IHJlc3VsdCA9IGV4ZWNPclVuZGVmaW5lZChcIndoaWNoIHV2XCIsIHtcbiAgICAgIGN3ZDogdGhpcy5wcm9qZWN0Lm91dGRpcixcbiAgICB9KTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhpcy5wcm9qZWN0LmxvZ2dlci5pbmZvKFxuICAgICAgICBcIlVuYWJsZSB0byBzZXR1cCBhbiBlbnZpcm9ubWVudCBzaW5jZSB1diBpcyBub3QgaW5zdGFsbGVkLiBQbGVhc2UgaW5zdGFsbCB1diAoaHR0cHM6Ly9naXRodWIuY29tL2FzdHJhbC1zaC91dikgb3IgdXNlIGEgZGlmZmVyZW50IGNvbXBvbmVudCBmb3IgbWFuYWdpbmcgZW52aXJvbm1lbnRzLlwiLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgdmVudiB3aXRoIHRoZSBzcGVjaWZpYyBQeXRob24gdmVyc2lvblxuICAgIC8vIHRoaXMgd2lsbCBpbnN0YWxsIHRoZSByZXF1ZXN0ZWQgcHl0aG9uIHZlcnNpb24gaWYgbmVlZGVkXG4gICAgZXhlYyhgdXYgdmVudiAtLXB5dGhvbiBcIiR7dGhpcy52ZW52UHl0aG9ufVwiIC0tY2xlYXIgLnZlbnZgLCB7XG4gICAgICBjd2Q6IHRoaXMucHJvamVjdC5vdXRkaXIsXG4gICAgfSk7XG4gICAgdGhpcy5wcm9qZWN0LmxvZ2dlci5pbmZvKFxuICAgICAgYEVudmlyb25tZW50IHN1Y2Nlc3NmdWxseSBjcmVhdGVkIGluIC52ZW52IGRpcmVjdG9yeSB3aXRoIFB5dGhvbiAke3RoaXMudmVudlB5dGhvbn0uYCxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGluc3RhbGxEZXBlbmRlbmNpZXMoKTogdm9pZCB7XG4gICAgdGhpcy5wcm9qZWN0LmxvZ2dlci5pbmZvKFwiSW5zdGFsbGluZyBkZXBlbmRlbmNpZXMuLi5cIik7XG4gICAgY29uc3QgcnVudGltZSA9IG5ldyBUYXNrUnVudGltZSh0aGlzLnByb2plY3Qub3V0ZGlyKTtcbiAgICBpZiAodGhpcy5maWxlLmNoYW5nZWQpIHtcbiAgICAgIHJ1bnRpbWUucnVuVGFzayh0aGlzLmluc3RhbGxUYXNrLm5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBydW50aW1lLnJ1blRhc2sodGhpcy5pbnN0YWxsQ2lUYXNrLm5hbWUpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -37,5 +37,5 @@ class Venv extends component_1.Component {
37
37
  }
38
38
  exports.Venv = Venv;
39
39
  _a = JSII_RTTI_SYMBOL_1;
40
- Venv[_a] = { fqn: "projen.python.Venv", version: "0.99.43" };
40
+ Venv[_a] = { fqn: "projen.python.Venv", version: "0.99.44" };
41
41
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVudi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9weXRob24vdmVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFFN0IsNENBQXlDO0FBRXpDLGtDQUErQjtBQW9CL0I7O0dBRUc7QUFDSCxNQUFhLElBQUssU0FBUSxxQkFBUztJQVdqQyxZQUFZLE9BQWdCLEVBQUUsVUFBdUIsRUFBRTtRQUNyRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUM7UUFFakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUU3Qyw4SEFBOEg7UUFDOUgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUMvQixhQUFhLEVBQ2Isc0NBQXNDLElBQUksQ0FBQyxNQUFNLDBCQUEwQixDQUM1RSxDQUFDO1FBRUYsa0pBQWtKO1FBQ2xKLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FDL0IsTUFBTSxFQUNOLHlHQUF5RyxJQUFJLENBQUMsTUFBTSxnRkFBZ0YsQ0FDck0sQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQjtRQUNyQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1lBQ2hFLElBQUEsV0FBSSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsWUFBWSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ2hELEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07YUFDekIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN0QixrREFBa0QsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUNsRSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7O0FBOUNILG9CQStDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBJUHl0aG9uRW52IH0gZnJvbSBcIi4vcHl0aG9uLWVudlwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IGV4ZWMgfSBmcm9tIFwiLi4vdXRpbFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHZlbnYuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmVudk9wdGlvbnMge1xuICAvKipcbiAgICogTmFtZSBvZiBkaXJlY3RvcnkgdG8gc3RvcmUgdGhlIGVudmlyb25tZW50IGluXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiLmVudlwiXG4gICAqL1xuICByZWFkb25seSBlbnZkaXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHB5dGhvbiBleGVjdXRhYmxlIHRvIHVzZS5cbiAgICogQGRlZmF1bHQgXCJweXRob25cIlxuICAgKi9cbiAgcmVhZG9ubHkgcHl0aG9uRXhlYz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBNYW5hZ2VzIGEgdmlydHVhbCBlbnZpcm9ubWVudCB0aHJvdWdoIHRoZSBQeXRob24gdmVudiBtb2R1bGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBWZW52IGV4dGVuZHMgQ29tcG9uZW50IGltcGxlbWVudHMgSVB5dGhvbkVudiB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIGRpcmVjdG9yeSB0byBzdG9yZSB0aGUgZW52aXJvbm1lbnQgaW5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZW52ZGlyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHB5dGhvbiBleGVjdXRhYmxlIHRvIHVzZS5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcHl0aG9uRXhlYzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IFZlbnZPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuZW52ZGlyID0gb3B0aW9ucy5lbnZkaXIgPz8gXCIuZW52XCI7XG4gICAgdGhpcy5weXRob25FeGVjID0gb3B0aW9ucy5weXRob25FeGVjID8/IFwicHl0aG9uXCI7XG5cbiAgICB0aGlzLnByb2plY3QuYWRkR2l0SWdub3JlKGAvJHt0aGlzLmVudmRpcn1gKTtcblxuICAgIC8vIFZJUlRVQUxfRU5WIGlzIHNldCB0byB0aGUgcGF0aCBvZiB0aGUgdmlydHVhbCBlbnZpcm9ubWVudCwgd2hpY2ggaXMgd2hhdCB2ZW52IGRvZXMgd2hlbiBhIHZpcnR1YWwgZW52aXJvbm1lbnQgaXMgYWN0aXZhdGVkLlxuICAgIHRoaXMucHJvamVjdC50YXNrcy5hZGRFbnZpcm9ubWVudChcbiAgICAgIFwiVklSVFVBTF9FTlZcIixcbiAgICAgIGAkKHB5dGhvbiAtYyBcImltcG9ydCBvczsgcHJpbnQoJ3swfS8ke3RoaXMuZW52ZGlyfScuZm9ybWF0KG9zLmdldGN3ZCgpKSlcIilgLFxuICAgICk7XG5cbiAgICAvLyBUaGUgcHl0aG9uIGV4ZWN1dGFibGUgbmVlZHMgdG8gYmUgZmlyc3QgaW4gdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gbWFrZSBjYWxscyB0byB0aGUgbG9jYWwgc2NvcGVkIHB5dGhvbiBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gcHl0aG9uLlxuICAgIHRoaXMucHJvamVjdC50YXNrcy5hZGRFbnZpcm9ubWVudChcbiAgICAgIFwiUEFUSFwiLFxuICAgICAgYCQocHl0aG9uIC1jIFwiaW1wb3J0IG9zLCBzeXM7IHB5dGhvbl9kaXIgPSAnU2NyaXB0cycgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMicgZWxzZSAnYmluJzsgcHJpbnQoJ3swfS8ke3RoaXMuZW52ZGlyfS97MX17Mn17M30nLmZvcm1hdChvcy5nZXRjd2QoKSwgcHl0aG9uX2Rpciwgb3MucGF0aHNlcCwgb3MuZW52aXJvblsnUEFUSCddKSlcIilgLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIHZpcnR1YWwgZW52aXJvbm1lbnQgaWYgaXQgZG9lc24ndCBleGlzdCAoY2FsbGVkIGR1cmluZyBwb3N0LXN5bnRoZXNpcykuXG4gICAqL1xuICBwdWJsaWMgc2V0dXBFbnZpcm9ubWVudCgpIHtcbiAgICBjb25zdCBhYnNvbHV0ZUVudmRpciA9IHBhdGguam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCB0aGlzLmVudmRpcik7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGFic29sdXRlRW52ZGlyKSkge1xuICAgICAgdGhpcy5wcm9qZWN0LmxvZ2dlci5pbmZvKFwiU2V0dGluZyB1cCBhIHZpcnR1YWwgZW52aXJvbm1lbnQuLi5cIik7XG4gICAgICBleGVjKGAke3RoaXMucHl0aG9uRXhlY30gLW0gdmVudiAke3RoaXMuZW52ZGlyfWAsIHtcbiAgICAgICAgY3dkOiB0aGlzLnByb2plY3Qub3V0ZGlyLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnByb2plY3QubG9nZ2VyLmluZm8oXG4gICAgICAgIGBFbnZpcm9ubWVudCBzdWNjZXNzZnVsbHkgY3JlYXRlZCAobG9jYXRlZCBpbiAuLyR7dGhpcy5lbnZkaXJ9KS5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
package/lib/readme.js CHANGED
@@ -19,5 +19,5 @@ class SampleReadme extends sample_file_1.SampleFile {
19
19
  }
20
20
  exports.SampleReadme = SampleReadme;
21
21
  _a = JSII_RTTI_SYMBOL_1;
22
- SampleReadme[_a] = { fqn: "projen.SampleReadme", version: "0.99.43" };
22
+ SampleReadme[_a] = { fqn: "projen.SampleReadme", version: "0.99.44" };
23
23
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JlYWRtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLCtDQUEyQztBQXFCM0M7Ozs7O0dBS0c7QUFDSCxNQUFhLFlBQWEsU0FBUSx3QkFBVTtJQUMxQyxZQUFZLE9BQWdCLEVBQUUsS0FBeUI7UUFDckQsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLFdBQVcsRUFBRTtZQUM3QyxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxnQkFBZ0I7U0FDOUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFMSCxvQ0FNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmltcG9ydCB7IFNhbXBsZUZpbGUgfSBmcm9tIFwiLi9zYW1wbGUtZmlsZVwiO1xuXG4vKipcbiAqIFNhbXBsZVJlYWRtZSBQcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FtcGxlUmVhZG1lUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIFJFQURNRS5tZCBmaWxlXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiUkVBRE1FLm1kXCJcbiAgICogQGV4YW1wbGUgXCJyZWFkbWUubWRcIlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZW5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50c1xuICAgKiBAZGVmYXVsdCBcIiMgcmVwbGFjZSB0aGlzXCJcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRzPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBSRUFETUUubWQgc2FtcGxlIGZpbGUuXG4gKiBZb3UgYXJlIGV4cGVjdGVkIHRvIG1hbmFnZSB0aGlzIGZpbGUgYWZ0ZXIgY3JlYXRpb24uXG4gKlxuICogQHBhcmFtIHRleHQgLSBUaGUgaW5pdGlhbCBjb250ZW50cyBvZiB0aGUgUkVBRE1FLm1kIGZpbGUuIERlZmF1bHRzIHRvICcjIHJlcGxhY2UgdGhpcydcbiAqL1xuZXhwb3J0IGNsYXNzIFNhbXBsZVJlYWRtZSBleHRlbmRzIFNhbXBsZUZpbGUge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcm9wcz86IFNhbXBsZVJlYWRtZVByb3BzKSB7XG4gICAgc3VwZXIocHJvamVjdCwgcHJvcHM/LmZpbGVuYW1lID8/IFwiUkVBRE1FLm1kXCIsIHtcbiAgICAgIGNvbnRlbnRzOiBwcm9wcz8uY29udGVudHMgPz8gXCIjIHJlcGxhY2UgdGhpc1wiLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -597,7 +597,7 @@ class Publisher extends component_1.Component {
597
597
  }
598
598
  exports.Publisher = Publisher;
599
599
  _a = JSII_RTTI_SYMBOL_1;
600
- Publisher[_a] = { fqn: "projen.release.Publisher", version: "0.99.43" };
600
+ Publisher[_a] = { fqn: "projen.release.Publisher", version: "0.99.44" };
601
601
  Publisher.PUBLISH_GIT_TASK_NAME = "publish:git";
602
602
  function secret(secretName) {
603
603
  return `\${{ secrets.${secretName} }}`;
@@ -102,5 +102,5 @@ class ReleaseTrigger {
102
102
  }
103
103
  exports.ReleaseTrigger = ReleaseTrigger;
104
104
  _a = JSII_RTTI_SYMBOL_1;
105
- ReleaseTrigger[_a] = { fqn: "projen.release.ReleaseTrigger", version: "0.99.43" };
105
+ ReleaseTrigger[_a] = { fqn: "projen.release.ReleaseTrigger", version: "0.99.44" };
106
106
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS10cmlnZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlbGVhc2UvcmVsZWFzZS10cmlnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBaUdBOzs7R0FHRztBQUNILE1BQWEsY0FBYztJQUN6Qjs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBZ0MsRUFBRTtRQUNyRCxJQUFJLGFBQWEsQ0FBQztRQUVsQixJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFDOUIsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksY0FBYyxDQUFDO1FBQzFELENBQUM7UUFFRCxPQUFPLElBQUksY0FBYyxDQUFDO1lBQ3hCLGFBQWEsRUFBRSxhQUFhO1lBQzVCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYztTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFnQztRQUN0RCxPQUFPLElBQUksY0FBYyxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtTQUMzQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCO1FBQzVCLG1GQUFtRjtRQUNuRixFQUFFO1FBQ0YsMEVBQTBFO1FBQzFFLHVFQUF1RTtRQUN2RSxpREFBaUQ7UUFDakQsT0FBTyxJQUFJLGNBQWMsQ0FBQztZQUN4QixvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFvQyxFQUFFO1FBQzdELE9BQU8sSUFBSSxjQUFjLENBQUM7WUFDeEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUE2QixFQUFFO1FBQ2xELE9BQU8sSUFBSSxjQUFjLENBQUM7WUFDeEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUF3Q0QsWUFBb0IsVUFBaUMsRUFBRTtRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzNDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUM3QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLENBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2xELENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUMzQixDQUFDO0lBQ0osQ0FBQzs7QUEzSUgsd0NBNElDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTY2hlZHVsZWRSZWxlYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBDcm9uIHNjaGVkdWxlIGZvciByZWxlYXNlcy5cbiAgICpcbiAgICogT25seSBkZWZpbmVkIGlmIHRoaXMgaXMgYSBzY2hlZHVsZWQgcmVsZWFzZS5cbiAgICpcbiAgICogQGV4YW1wbGUgJzAgMTcgKiAqIConIC0gZXZlcnkgZGF5IGF0IDUgcG1cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVkdWxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFudWFsUmVsZWFzZU9wdGlvbnMge1xuICAvKipcbiAgICogTWFpbnRhaW4gYSBwcm9qZWN0LWxldmVsIGNoYW5nZWxvZy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbmdlbG9nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUHJvamVjdC1sZXZlbCBjaGFuZ2Vsb2cgZmlsZSBwYXRoLlxuICAgKlxuICAgKiBJZ25vcmVkIGlmIGBjaGFuZ2Vsb2dgIGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnQ0hBTkdFTE9HLm1kJ1xuICAgKi9cbiAgcmVhZG9ubHkgY2hhbmdlbG9nUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogT3ZlcnJpZGUgZ2l0LXB1c2ggY29tbWFuZC5cbiAgICpcbiAgICogU2V0IHRvIGFuIGVtcHR5IHN0cmluZyB0byBkaXNhYmxlIHB1c2hpbmcuXG4gICAqL1xuICByZWFkb25seSBnaXRQdXNoQ29tbWFuZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250aW51b3VzUmVsZWFzZU9wdGlvbnMge1xuICAvKipcbiAgICogUGF0aHMgZm9yIHdoaWNoIHB1c2hlcyBzaG91bGQgdHJpZ2dlciBhIHJlbGVhc2VcbiAgICovXG4gIHJlYWRvbmx5IHBhdGhzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFnUmVsZWFzZU9wdGlvbnMge1xuICAvKipcbiAgICogVGFnIHBhdHRlcm5zIGZvciB3aGljaCBwdXNoZXMgc2hvdWxkIHRyaWdnZXIgYSByZWxlYXNlXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBSZWxlYXNlVHJpZ2dlck9wdGlvbnMge1xuICAvKipcbiAgICogUHJvamVjdC1sZXZlbCBjaGFuZ2Vsb2cgZmlsZSBwYXRoLlxuICAgKlxuICAgKiBJZ25vcmVkIGlmIGBjaGFuZ2Vsb2dgIGlzIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjaGFuZ2Vsb2dQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb250aW51b3VzIHJlbGVhc2VzLCB3aGljaCB3aWxsIHJlbGVhc2UgZXZlcnkgY29tbWl0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29udGludW91cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBhdGhzIGZvciB3aGljaCBwdXNoZXMgKGNvbnRpbnVvdXMgcmVsZWFzZSkgc2hvdWxkIHRyaWdnZXIgYSByZWxlYXNlXG4gICAqL1xuICByZWFkb25seSBwYXRocz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDcm9uIHNjaGVkdWxlIGZvciByZWxlYXNlLlxuICAgKlxuICAgKiBPbmx5IGRlZmluZWQgaWYgdGhpcyBpcyBhIHNjaGVkdWxlZCByZWxlYXNlLlxuICAgKlxuICAgKiBAZXhhbXBsZSAnMCAxNyAqICogKicgLSBldmVyeSBkYXkgYXQgNSBwbVxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIGdpdC1wdXNoIGNvbW1hbmQuXG4gICAqXG4gICAqIFNldCB0byBhbiBlbXB0eSBzdHJpbmcgdG8gZGlzYWJsZSBwdXNoaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0UHVzaENvbW1hbmQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9ubHkgYSB3b3JrZmxvd0Rpc3BhdGNoIHRyaWdnZXJcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93RGlzcGF0Y2hPbmx5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGFnIHBhdHRlcm5zIGZvciB3aGljaCBwdXNoZXMgc2hvdWxkIHRyaWdnZXIgYSByZWxlYXNlXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogVXNlZCB0byBtYW5hZ2UgcmVsZWFzZSBzdHJhdGVnaWVzLiBUaGlzIGluY2x1ZGVzIHJlbGVhc2VcbiAqIGFuZCByZWxlYXNlIGFydGlmYWN0IGF1dG9tYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFJlbGVhc2VUcmlnZ2VyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBtYW51YWwgcmVsZWFzZSB0cmlnZ2VyLlxuICAgKlxuICAgKiBVc2UgdGhpcyBvcHRpb24gaWYgeW91IHdhbnQgdG90YWxseSBtYW51YWwgcmVsZWFzZXMuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBnaXZlIHlvdSBhIHJlbGVhc2UgdGFzayB0aGF0LCBpbiBhZGRpdGlvbiB0byB0aGUgbm9ybWFsXG4gICAqIHJlbGVhc2UgYWN0aXZpdGllcyB3aWxsIHRyaWdnZXIgYSBgcHVibGlzaDpnaXRgIHRhc2suIFRoaXMgdGFzayB3aWxsXG4gICAqIGhhbmRsZSBwcm9qZWN0LWxldmVsIGNoYW5nZWxvZyBtYW5hZ2VtZW50LCByZWxlYXNlIHRhZ2dpbmcsIGFuZCBwdXNoaW5nXG4gICAqIHRoZXNlIGFydGlmYWN0cyB0byBvcmlnaW4uXG4gICAqXG4gICAqIFRoZSBjb21tYW5kIHVzZWQgZm9yIHB1c2hpbmcgY2FuIGJlIGN1c3RvbWlzZWQgYnkgc3BlY2lmeWluZ1xuICAgKiBgZ2l0UHVzaENvbW1hbmRgLiBTZXQgdG8gYW4gZW1wdHkgc3RyaW5nIHRvIGRpc2FibGUgcHVzaGluZyBlbnRpcmVseS5cbiAgICpcbiAgICogU2ltcGx5IHJ1biBgeWFybiByZWxlYXNlYCB0byB0cmlnZ2VyIGEgbWFudWFsIHJlbGVhc2UuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIHJlbGVhc2Ugb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtYW51YWwob3B0aW9uczogTWFudWFsUmVsZWFzZU9wdGlvbnMgPSB7fSkge1xuICAgIGxldCBjaGFuZ2Vsb2dQYXRoO1xuXG4gICAgaWYgKG9wdGlvbnMuY2hhbmdlbG9nID8/IHRydWUpIHtcbiAgICAgIGNoYW5nZWxvZ1BhdGggPSBvcHRpb25zLmNoYW5nZWxvZ1BhdGggPz8gXCJDSEFOR0VMT0cubWRcIjtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFJlbGVhc2VUcmlnZ2VyKHtcbiAgICAgIGNoYW5nZWxvZ1BhdGg6IGNoYW5nZWxvZ1BhdGgsXG4gICAgICBnaXRQdXNoQ29tbWFuZDogb3B0aW9ucy5naXRQdXNoQ29tbWFuZCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgc2NoZWR1bGVkIHJlbGVhc2UgdHJpZ2dlci5cbiAgICpcbiAgICogQXV0b21hdGVkIHJlbGVhc2VzIHdpbGwgb2NjdXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGNyb24gc2NoZWR1bGUuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIHJlbGVhc2Ugb3B0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2NoZWR1bGVkKG9wdGlvbnM6IFNjaGVkdWxlZFJlbGVhc2VPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBSZWxlYXNlVHJpZ2dlcih7XG4gICAgICBzY2hlZHVsZTogb3B0aW9ucy5zY2hlZHVsZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcmVsZWFzZSBjYW4gb25seSBiZSB0cmlnZ2VyZWQgdXNpbmcgdGhlIEdpdEh1YiBVSS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd29ya2Zsb3dEaXNwYXRjaCgpIHtcbiAgICAvLyBUaGlzIHdvcmtzIGJlY2F1c2UgZXZlcnkgd29ya2Zsb3cgaXMgYWx3YXlzIGF1dG9tYXRpY2FsbHkgYHdvcmtmbG93RGlzcGF0Y2hgYWJsZVxuICAgIC8vXG4gICAgLy8gVGhlIG9ubHkgdGhpbmcgd2UgbmVlZCB0byBlbnN1cmUgaXMgdGhhdCBubyBzY2hlZHVsZSBvciBwdXNoIHRyaWdnZXIgaXNcbiAgICAvLyBhZGRlZCwgYW5kIHRoYXQgd2UgZG9uJ3QgY291bnQgYXMgXCJtYW51YWxcIiBiZWNhdXNlIHRoYXQgbGVhZHMgdG8gdGhlXG4gICAgLy8gY3JlYXRpb24gb2YgYSB3b3JraW5nIGNvcHkgdGFzayB3ZSBkb24ndCBuZWVkLlxuICAgIHJldHVybiBuZXcgUmVsZWFzZVRyaWdnZXIoe1xuICAgICAgd29ya2Zsb3dEaXNwYXRjaE9ubHk6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGNvbnRpbnVvdXMgcmVsZWFzZSB0cmlnZ2VyLlxuICAgKlxuICAgKiBBdXRvbWF0ZWQgcmVsZWFzZXMgd2lsbCBvY2N1ciBvbiBldmVyeSBjb21taXQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNvbnRpbnVvdXMob3B0aW9uczogQ29udGludW91c1JlbGVhc2VPcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gbmV3IFJlbGVhc2VUcmlnZ2VyKHtcbiAgICAgIGNvbnRpbnVvdXM6IHRydWUsXG4gICAgICBwYXRoczogb3B0aW9ucy5wYXRocyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgdGFnLWJhc2VkIHJlbGVhc2UgdHJpZ2dlci5cbiAgICpcbiAgICogQXV0b21hdGVkIHJlbGVhc2VzIHdpbGwgb2NjdXIgb24gZXZlcnkgbmV3IHRhZyBtYXRjaGluZyB0aGUgcHJvdmlkZWQgcGF0dGVybnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRhZ2dlZChvcHRpb25zOiBUYWdSZWxlYXNlT3B0aW9ucyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBSZWxlYXNlVHJpZ2dlcih7XG4gICAgICB0YWdzOiBvcHRpb25zLnRhZ3MsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUHJvamVjdC1sZXZlbCBjaGFuZ2Vsb2cgZmlsZSBwYXRoLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNoYW5nZWxvZ1BhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyb24gc2NoZWR1bGUgZm9yIHJlbGVhc2VzLlxuICAgKlxuICAgKiBPbmx5IGRlZmluZWQgaWYgdGhpcyBpcyBhIHNjaGVkdWxlZCByZWxlYXNlLlxuICAgKlxuICAgKiBAZXhhbXBsZSAnMCAxNyAqICogKicgLSBldmVyeSBkYXkgYXQgNSBwbVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjaGVkdWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGlzIGEgY29udGludW91cyByZWxlYXNlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlzQ29udGludW91czogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGF0aHMgZm9yIHdoaWNoIHB1c2hlcyB3aWxsIHRyaWdnZXIgYSByZWxlYXNlIHdoZW4gYGlzQ29udGludW91c2AgaXMgYHRydWVgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGF0aHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGFnIHBhdHRlcm5zIGZvciB3aGljaCBwdXNoZXMgd2lsbCB0cmlnZ2VyIGEgcmVsZWFzZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRhZ3M/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT3ZlcnJpZGUgZ2l0LXB1c2ggY29tbWFuZCB1c2VkIHdoZW4gcmVsZWFzaW5nIG1hbnVhbGx5LlxuICAgKlxuICAgKiBTZXQgdG8gYW4gZW1wdHkgc3RyaW5nIHRvIGRpc2FibGUgcHVzaGluZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBnaXRQdXNoQ29tbWFuZD86IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHdvcmtmbG93RGlzcGF0Y2hPbmx5PzogYm9vbGVhbjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFJlbGVhc2VUcmlnZ2VyT3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5pc0NvbnRpbnVvdXMgPSBvcHRpb25zLmNvbnRpbnVvdXMgPz8gZmFsc2U7XG4gICAgdGhpcy5wYXRocyA9IG9wdGlvbnMucGF0aHM7XG4gICAgdGhpcy5zY2hlZHVsZSA9IG9wdGlvbnMuc2NoZWR1bGU7XG4gICAgdGhpcy5jaGFuZ2Vsb2dQYXRoID0gb3B0aW9ucy5jaGFuZ2Vsb2dQYXRoO1xuICAgIHRoaXMuZ2l0UHVzaENvbW1hbmQgPSBvcHRpb25zLmdpdFB1c2hDb21tYW5kO1xuICAgIHRoaXMud29ya2Zsb3dEaXNwYXRjaE9ubHkgPSBvcHRpb25zLndvcmtmbG93RGlzcGF0Y2hPbmx5O1xuICAgIHRoaXMudGFncyA9IG9wdGlvbnMudGFncztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGlzIGEgcmVsZWFzZSB0cmlnZ2VyIHdpdGggYSBtYW51YWwgdGFzayBydW4gaW4gYSB3b3JraW5nIGNvcHkuXG4gICAqXG4gICAqIElmIHRoZSBgUmVsZWFzZVRyaWdnZXJgIGlzIGEgR2l0SHViLW9ubHkgbWFudWFsIHRhc2ssIHRoaXMgd2lsbCByZXR1cm4gYGZhbHNlYC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaXNNYW51YWwoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICEodGhpcy5pc0NvbnRpbnVvdXMgfHwgdGhpcy5zY2hlZHVsZSB8fCB0aGlzLnRhZ3MpICYmXG4gICAgICAhdGhpcy53b3JrZmxvd0Rpc3BhdGNoT25seVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -376,6 +376,6 @@ class Release extends component_1.Component {
376
376
  }
377
377
  exports.Release = Release;
378
378
  _a = JSII_RTTI_SYMBOL_1;
379
- Release[_a] = { fqn: "projen.release.Release", version: "0.99.43" };
379
+ Release[_a] = { fqn: "projen.release.Release", version: "0.99.44" };
380
380
  Release.ANTI_TAMPER_CMD = "git diff --ignore-space-at-eol --exit-code";
381
381
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWxlYXNlL3JlbGVhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNkM7QUFFN0MsMkNBQXdDO0FBQ3hDLHVEQUFtRDtBQUNuRCxvREFBc0U7QUFDdEUsNENBQXlDO0FBQ3pDLHNDQUttQjtBQUNuQixtREFHNkI7QUFDN0IsaURBR2dDO0FBRWhDLCtEQUEwRDtBQUcxRCxzREFHMkI7QUFFM0IsdUNBQXNEO0FBRXRELHdDQUFxQztBQUVyQyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUM7QUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztBQUU3QyxNQUFNLG9CQUFvQixHQUFHLGVBQWUsQ0FBQztBQUM3QyxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQztBQUV2Qzs7R0FFRztBQUNILE1BQU0seUJBQXlCLEdBQUcsU0FBUyxXQUFXLFlBQVksaUJBQWlCLHVCQUF1QixXQUFXLFlBQVksb0JBQW9CLGdCQUFnQixDQUFDO0FBK1R0Szs7OztHQUlHO0FBQ0gsTUFBYSxPQUFRLFNBQVEscUJBQVM7SUFJcEM7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFnQjtRQUMvQixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVksRUFBZ0IsRUFBRSxDQUFDLENBQUMsWUFBWSxPQUFPLENBQUM7UUFDdkUsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBOEJEOzs7T0FHRztJQUNILFlBQVksS0FBaUIsRUFBRSxPQUF1QjtRQUNwRCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFoQkUsY0FBUyxHQUFHLElBQUksS0FBSyxFQUFpQixDQUFDO1FBQ3ZDLFNBQUksR0FBd0IsRUFBRSxDQUFDO1FBaUI5QyxJQUFJLEtB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aUJBQ2Q7Z0JBQ0QsYUFBYTtnQkFDYixjQUFjO2dCQUNkLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0I7b0JBQy9DLENBQUMsQ0FBQzt3QkFDRSxHQUFHLEVBQUU7NEJBQ0gsZ0JBQWdCLEVBQUUseUJBQXlCO3lCQUM1QztxQkFDRjtvQkFDSCxDQUFDLENBQUMsU0FBUztnQkFDYixHQUFHLElBQUEsc0NBQXFCLEVBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUM7YUFDeEUsQ0FBQyxDQUFDO1lBRUgsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFdEMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQzs7QUFyZEgsMEJBc2RDOzs7QUFyZHdCLHVCQUFlLEdBQ3BDLDRDQUE0QyxBQURSLENBQ1MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwb3NpeFBhdGggZnJvbSBcIm5vZGU6cGF0aC9wb3NpeFwiO1xuaW1wb3J0IHR5cGUgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFB1Ymxpc2hlciB9IGZyb20gXCIuL3B1Ymxpc2hlclwiO1xuaW1wb3J0IHsgUmVsZWFzZVRyaWdnZXIgfSBmcm9tIFwiLi9yZWxlYXNlLXRyaWdnZXJcIjtcbmltcG9ydCB7IERFRkFVTFRfQVJUSUZBQ1RTX0RJUkVDVE9SWSB9IGZyb20gXCIuLi9idWlsZC9wcml2YXRlL2NvbnN0c1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHtcbiAgR2l0SHViLFxuICBHaXRodWJXb3JrZmxvdyxcbiAgVGFza1dvcmtmbG93Sm9iLFxuICBXb3JrZmxvd1N0ZXBzLFxufSBmcm9tIFwiLi4vZ2l0aHViXCI7XG5pbXBvcnQge1xuICBCVUlMRF9BUlRJRkFDVF9OQU1FLFxuICBQRVJNSVNTSU9OX0JBQ0tVUF9GSUxFLFxufSBmcm9tIFwiLi4vZ2l0aHViL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgZW5zdXJlTm90SGlkZGVuUGF0aCxcbiAgcHJvamVjdFBhdGhSZWxhdGl2ZVRvUmVwb1Jvb3QsXG59IGZyb20gXCIuLi9naXRodWIvcHJpdmF0ZS91dGlsXCI7XG5pbXBvcnQgdHlwZSB7IEpvYiwgSm9iUGVybWlzc2lvbnMsIEpvYlN0ZXAgfSBmcm9tIFwiLi4vZ2l0aHViL3dvcmtmbG93cy1tb2RlbFwiO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiB9IGZyb20gXCIuLi9naXRodWIvd29ya2Zsb3dzLW1vZGVsXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuaW1wb3J0IHR5cGUgeyBHcm91cFJ1bm5lck9wdGlvbnMgfSBmcm9tIFwiLi4vcnVubmVyLW9wdGlvbnNcIjtcbmltcG9ydCB7XG4gIGZpbHRlcmVkUnVuc09uT3B0aW9ucyxcbiAgZmlsdGVyZWRXb3JrZmxvd1J1bnNPbk9wdGlvbnMsXG59IGZyb20gXCIuLi9ydW5uZXItb3B0aW9uc1wiO1xuaW1wb3J0IHR5cGUgeyBUYXNrIH0gZnJvbSBcIi4uL3Rhc2tcIjtcbmltcG9ydCB7IHdvcmtmbG93TmFtZUZvclByb2plY3QgfSBmcm9tIFwiLi4vdXRpbC9uYW1lXCI7XG5pbXBvcnQgdHlwZSB7IFJlbGVhc2FibGVDb21taXRzIH0gZnJvbSBcIi4uL3ZlcnNpb25cIjtcbmltcG9ydCB7IFZlcnNpb24gfSBmcm9tIFwiLi4vdmVyc2lvblwiO1xuXG5jb25zdCBCVUlMRF9KT0JJRCA9IFwicmVsZWFzZVwiO1xuY29uc3QgR0lUX1JFTU9URV9TVEVQSUQgPSBcImdpdF9yZW1vdGVcIjtcbmNvbnN0IFRBR19FWElTVFNfU1RFUElEID0gXCJjaGVja190YWdfZXhpc3RzXCI7XG5cbmNvbnN0IExBVEVTVF9DT01NSVRfT1VUUFVUID0gXCJsYXRlc3RfY29tbWl0XCI7XG5jb25zdCBUQUdfRVhJU1RTX09VVFBVVCA9IFwidGFnX2V4aXN0c1wiO1xuXG4vKipcbiAqIENvbmRpdGlvbmFsIChHaXRodWIgV29ya2Zsb3cgSm9iIGBpZmApIHRvIGNoZWNrIGlmIGEgcmVsZWFzZSBqb2Igc2hvdWxkIGJlIHJ1bi5cbiAqL1xuY29uc3QgREVQRU5ERU5UX0pPQl9DT05ESVRJT05BTCA9IGBuZWVkcy4ke0JVSUxEX0pPQklEfS5vdXRwdXRzLiR7VEFHX0VYSVNUU19PVVRQVVR9ICE9ICd0cnVlJyAmJiBuZWVkcy4ke0JVSUxEX0pPQklEfS5vdXRwdXRzLiR7TEFURVNUX0NPTU1JVF9PVVRQVVR9ID09IGdpdGh1Yi5zaGFgO1xuXG50eXBlIEJyYW5jaEhvb2sgPSAoYnJhbmNoOiBzdHJpbmcpID0+IHZvaWQ7XG5cbi8qKlxuICogUHJvamVjdCBvcHRpb25zIGZvciByZWxlYXNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlbGVhc2VQcm9qZWN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IHJlbGVhc2UgbmV3IHZlcnNpb25zIGV2ZXJ5IGNvbW1pdCB0byBvbmUgb2YgYnJhbmNoZXMgaW4gYHJlbGVhc2VCcmFuY2hlc2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGByZWxlYXNlVHJpZ2dlcjogUmVsZWFzZVRyaWdnZXIuY29udGludW91cygpYCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlRXZlcnlDb21taXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDUk9OIHNjaGVkdWxlIHRvIHRyaWdnZXIgbmV3IHJlbGVhc2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHNjaGVkdWxlZCByZWxlYXNlc1xuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYHJlbGVhc2VUcmlnZ2VyOiBSZWxlYXNlVHJpZ2dlci5zY2hlZHVsZWQoKWAgaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVNjaGVkdWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVsZWFzZSB0cmlnZ2VyIHRvIHVzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBDb250aW51b3VzIHJlbGVhc2VzIChgUmVsZWFzZVRyaWdnZXIuY29udGludW91cygpYClcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUcmlnZ2VyPzogUmVsZWFzZVRyaWdnZXI7XG5cbiAgLyoqXG4gICAqIEEgc2V0IG9mIHdvcmtmbG93IHN0ZXBzIHRvIGV4ZWN1dGUgaW4gb3JkZXIgdG8gc2V0dXAgdGhlIHdvcmtmbG93XG4gICAqIGNvbnRhaW5lci5cbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VXb3JrZmxvd1NldHVwU3RlcHM/OiBKb2JTdGVwW107XG5cbiAgLyoqXG4gICAqIENvbnRhaW5lciBpbWFnZSB0byB1c2UgZm9yIEdpdEh1YiB3b3JrZmxvd3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBpbWFnZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dDb250YWluZXJJbWFnZT86IHN0cmluZztcblxuICAvKipcbiAgICogVmVyc2lvbiByZXF1aXJlbWVudCBvZiBgcHVibGliYCB3aGljaCBpcyB1c2VkIHRvIHB1Ymxpc2ggbW9kdWxlcyB0byBucG0uXG4gICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICovXG4gIHJlYWRvbmx5IGpzaWlSZWxlYXNlVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogU3RlcHMgdG8gZXhlY3V0ZSBhZnRlciBidWlsZCBhcyBwYXJ0IG9mIHRoZSByZWxlYXNlIHdvcmtmbG93LlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgcG9zdEJ1aWxkU3RlcHM/OiBKb2JTdGVwW107XG5cbiAgLyoqXG4gICAqIE1ham9yIHZlcnNpb24gdG8gcmVsZWFzZSBmcm9tIHRoZSBkZWZhdWx0IGJyYW5jaC5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBzcGVjaWZpZWQsIHdlIGJ1bXAgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbWFqb3IgdmVyc2lvbiBsaW5lLlxuICAgKiBJZiBub3Qgc3BlY2lmaWVkLCB3ZSBidW1wIHRoZSBnbG9iYWwgbGF0ZXN0IHZlcnNpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTWFqb3IgdmVyc2lvbiBpcyBub3QgZW5mb3JjZWQuXG4gICAqL1xuICByZWFkb25seSBtYWpvclZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1pbmltYWwgTWFqb3IgdmVyc2lvbiB0byByZWxlYXNlXG4gICAqXG4gICAqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBzZXQgdG8gMSwgYXMgYnJlYWtpbmcgY2hhbmdlcyBiZWZvcmUgdGhlIDEueCBtYWpvclxuICAgKiByZWxlYXNlIGFyZSBub3QgaW5jcmVtZW50aW5nIHRoZSBtYWpvciB2ZXJzaW9uIG51bWJlci5cbiAgICpcbiAgICogQ2FuIG5vdCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgbWFqb3JWZXJzaW9uYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBtaW5pbXVtIHZlcnNpb24gaXMgYmVpbmcgZW5mb3JjZWRcbiAgICovXG4gIHJlYWRvbmx5IG1pbk1ham9yVmVyc2lvbj86IG51bWJlcjtcblxuICAvKipcbiAgICogQnVtcCB2ZXJzaW9ucyBmcm9tIHRoZSBkZWZhdWx0IGJyYW5jaCBhcyBwcmUtcmVsZWFzZXMgKGUuZy4gXCJiZXRhXCIsXG4gICAqIFwiYWxwaGFcIiwgXCJwcmVcIikuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm9ybWFsIHNlbWFudGljIHZlcnNpb25zXG4gICAqL1xuICByZWFkb25seSBwcmVyZWxlYXNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbnBtRGlzdFRhZyB0byB1c2Ugd2hlbiBwdWJsaXNoaW5nIGZyb20gdGhlIGRlZmF1bHQgYnJhbmNoLlxuICAgKlxuICAgKiBUbyBzZXQgdGhlIG5wbSBkaXN0LXRhZyBmb3IgcmVsZWFzZSBicmFuY2hlcywgc2V0IHRoZSBgbnBtRGlzdFRhZ2AgcHJvcGVydHlcbiAgICogZm9yIGVhY2ggYnJhbmNoLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqL1xuICByZWFkb25seSBucG1EaXN0VGFnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZGVmYXVsdCByZWxlYXNlIHdvcmtmbG93LlxuICAgKlxuICAgKiBAZGVmYXVsdCBcInJlbGVhc2VcIlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEdpdEh1YiBBY3Rpb25zIGVudmlyb25tZW50IHVzZWQgZm9yIHRoZSByZWxlYXNlLlxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGFkZCBhbiBleHBsaWNpdCBhcHByb3ZhbCBzdGVwIHRvIHRoZSByZWxlYXNlXG4gICAqIG9yIGxpbWl0IHdobyBjYW4gaW5pdGlhdGUgYSByZWxlYXNlIHRocm91Z2ggZW52aXJvbm1lbnQgcHJvdGVjdGlvbiBydWxlcy5cbiAgICpcbiAgICogV2hlbiBtdWx0aXBsZSBhcnRpZmFjdHMgYXJlIHJlbGVhc2VkLCB0aGUgZW52aXJvbm1lbnQgY2FuIGJlIG92ZXJ3cml0dGVuXG4gICAqIG9uIGEgcGVyIGFydGlmYWN0IGJhc2lzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGVudmlyb25tZW50IHVzZWQsIHVubGVzcyBzZXQgYXQgdGhlIGFydGlmYWN0IGxldmVsXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlRW52aXJvbm1lbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgYWRkaXRpb25hbCByZWxlYXNlIGJyYW5jaGVzLiBBIHdvcmtmbG93IHdpbGwgYmUgY3JlYXRlZCBmb3IgZWFjaFxuICAgKiByZWxlYXNlIGJyYW5jaCB3aGljaCB3aWxsIHB1Ymxpc2ggcmVsZWFzZXMgZnJvbSBjb21taXRzIGluIHRoaXMgYnJhbmNoLlxuICAgKiBFYWNoIHJlbGVhc2UgYnJhbmNoIF9tdXN0XyBiZSBhc3NpZ25lZCBhIG1ham9yIHZlcnNpb24gbnVtYmVyIHdoaWNoIGlzIHVzZWRcbiAgICogdG8gZW5mb3JjZSB0aGF0IHZlcnNpb25zIHB1Ymxpc2hlZCBmcm9tIHRoYXQgYnJhbmNoIGFsd2F5cyB1c2UgdGhhdCBtYWpvclxuICAgKiB2ZXJzaW9uLiBJZiBtdWx0aXBsZSBicmFuY2hlcyBhcmUgdXNlZCwgdGhlIGBtYWpvclZlcnNpb25gIGZpZWxkIG11c3QgYWxzb1xuICAgKiBiZSBwcm92aWRlZCBmb3IgdGhlIGRlZmF1bHQgYnJhbmNoLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgYnJhbmNoZXMgYXJlIHVzZWQgZm9yIHJlbGVhc2UuIHlvdSBjYW4gdXNlXG4gICAqIGBhZGRCcmFuY2goKWAgdG8gYWRkIGFkZGl0aW9uYWwgYnJhbmNoZXMuXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlQnJhbmNoZXM/OiB7IFtuYW1lOiBzdHJpbmddOiBCcmFuY2hPcHRpb25zIH07XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGdpdGh1YiBpc3N1ZSBvbiBldmVyeSBmYWlsZWQgcHVibGlzaGluZyB0YXNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZUZhaWx1cmVJc3N1ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBsYWJlbCB0byBhcHBseSB0byBpc3N1ZXMgaW5kaWNhdGluZyBwdWJsaXNoIGZhaWx1cmVzLlxuICAgKiBPbmx5IGFwcGxpZXMgaWYgYHJlbGVhc2VGYWlsdXJlSXNzdWVgIGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiZmFpbGVkLXJlbGVhc2VcIlxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZUZhaWx1cmVJc3N1ZUxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCB0aGUgZ2l2ZW4gcHJlZml4IHRvIHJlbGVhc2UgdGFncy5cbiAgICogVXNlZnVsIGlmIHlvdSBhcmUgcmVsZWFzaW5nIG9uIG11bHRpcGxlIGJyYW5jaGVzIHdpdGggb3ZlcmxhcHBpbmdcbiAgICogdmVyc2lvbiBudW1iZXJzLlxuICAgKlxuICAgKiBOb3RlOiB0aGlzIHByZWZpeCBpcyB1c2VkIHRvIGRldGVjdCB0aGUgbGF0ZXN0IHRhZ2dlZCB2ZXJzaW9uXG4gICAqIHdoZW4gYnVtcGluZywgc28gaWYgeW91IGNoYW5nZSB0aGlzIG9uIGEgcHJvamVjdCB3aXRoIGFuIGV4aXN0aW5nIHZlcnNpb25cbiAgICogaGlzdG9yeSwgeW91IG1heSBuZWVkIHRvIG1hbnVhbGx5IHRhZyB5b3VyIGxhdGVzdCByZWxlYXNlXG4gICAqIHdpdGggdGhlIG5ldyBwcmVmaXguXG4gICAqXG4gICAqIEBkZWZhdWx0IFwidlwiXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVGFnUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gY29uZmlndXJhdGlvbiB1c2VkIHdoZW4gY3JlYXRpbmcgY2hhbmdlbG9nIHdpdGggY29tbWl0LWFuZC10YWctdmVyc2lvbiBwYWNrYWdlLlxuICAgKiBHaXZlbiB2YWx1ZXMgZWl0aGVyIGFwcGVuZCB0byBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gb3Igb3ZlcndyaXRlIHZhbHVlcyBpbiBpdC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBzdGFuZGFyZCBjb25maWd1cmF0aW9uIGFwcGxpY2FibGUgZm9yIEdpdEh1YiByZXBvc2l0b3JpZXNcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25yY09wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIHNlbGVjdGlvbiBsYWJlbHNcbiAgICogQGRlZmF1bHQgW1widWJ1bnR1LWxhdGVzdFwiXVxuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyBhIHRhcmdldCBSdW5uZXIgYnkgbGFiZWxzXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBib3RoIGBydW5zT25gIGFuZCBgcnVuc09uR3JvdXBgIGFyZSBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93UnVuc09uPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEdpdGh1YiBSdW5uZXIgR3JvdXAgc2VsZWN0aW9uIG9wdGlvbnNcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgYSB0YXJnZXQgUnVubmVyIEdyb3VwIGJ5IG5hbWUgYW5kL29yIGxhYmVsc1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgYm90aCBgcnVuc09uYCBhbmQgYHJ1bnNPbkdyb3VwYCBhcmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1J1bnNPbkdyb3VwPzogR3JvdXBSdW5uZXJPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgcHVibGlzaGluZyB0YXNrcyB0aGF0IGNhbiBiZSBleGVjdXRlZCBtYW51YWxseSBhcyB3ZWxsIGFzIHdvcmtmbG93cy5cbiAgICpcbiAgICogTm9ybWFsbHksIHB1Ymxpc2hpbmcgb25seSBoYXBwZW5zIHdpdGhpbiBhdXRvbWF0ZWQgd29ya2Zsb3dzLiBFbmFibGUgdGhpc1xuICAgKiBpbiBvcmRlciB0byBjcmVhdGUgYSBwdWJsaXNoaW5nIHRhc2sgZm9yIGVhY2ggcHVibGlzaGluZyBhY3Rpdml0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUYXNrcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluc3RlYWQgb2YgYWN0dWFsbHkgcHVibGlzaGluZyB0byBwYWNrYWdlIG1hbmFnZXJzLCBqdXN0IHByaW50IHRoZSBwdWJsaXNoaW5nIGNvbW1hbmQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoRHJ5UnVuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmluZCBjb21taXRzIHRoYXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgcmVsZWFzYWJsZVxuICAgKiBVc2VkIHRvIGRlY2lkZSBpZiBhIHJlbGVhc2UgaXMgcmVxdWlyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFJlbGVhc2FibGVDb21taXRzLmV2ZXJ5Q29tbWl0KClcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2FibGVDb21taXRzPzogUmVsZWFzYWJsZUNvbW1pdHM7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgcmVsZWFzZSB3b3JrZmxvd3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dFbnY/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgYGNvbW1pdC1hbmQtdGFnLXZlcnNpb25gIGNvbXBhdGlibGUgcGFja2FnZSB1c2VkIHRvIGJ1bXAgdGhlIHBhY2thZ2UgdmVyc2lvbiwgYXMgYSBkZXBlbmRlbmN5IHN0cmluZy5cbiAgICpcbiAgICogVGhpcyBjYW4gYmUgYW55IGNvbXBhdGlibGUgcGFja2FnZSB2ZXJzaW9uLCBpbmNsdWRpbmcgdGhlIGRlcHJlY2F0ZWQgYHN0YW5kYXJkLXZlcnNpb25AOWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQSByZWNlbnQgdmVyc2lvbiBvZiBcImNvbW1pdC1hbmQtdGFnLXZlcnNpb25cIlxuICAgKi9cbiAgcmVhZG9ubHkgYnVtcFBhY2thZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgc2hlbGwgY29tbWFuZCB0byBjb250cm9sIHRoZSBuZXh0IHZlcnNpb24gdG8gcmVsZWFzZS5cbiAgICpcbiAgICogSWYgcHJlc2VudCwgdGhpcyBzaGVsbCBjb21tYW5kIHdpbGwgYmUgcnVuIGJlZm9yZSB0aGUgYnVtcCBpcyBleGVjdXRlZCwgYW5kXG4gICAqIGl0IGRldGVybWluZXMgd2hhdCB2ZXJzaW9uIHRvIHJlbGVhc2UuIEl0IHdpbGwgYmUgZXhlY3V0ZWQgaW4gdGhlIGZvbGxvd2luZ1xuICAgKiBlbnZpcm9ubWVudDpcbiAgICpcbiAgICogLSBXb3JraW5nIGRpcmVjdG9yeTogdGhlIHByb2plY3QgZGlyZWN0b3J5LlxuICAgKiAtIGAkVkVSU0lPTmA6IHRoZSBjdXJyZW50IHZlcnNpb24uIExvb2tzIGxpa2UgYDEuMi4zYC5cbiAgICogLSBgJExBVEVTVF9UQUdgOiB0aGUgbW9zdCByZWNlbnQgdGFnLiBMb29rcyBsaWtlIGBwcmVmaXgtdjEuMi4zYCwgb3IgbWF5IGJlIHVuc2V0LlxuICAgKiAtIGAkU1VHR0VTVEVEX0JVTVBgOiB0aGUgc3VnZ2VzdGVkIGJ1bXAgYWN0aW9uIGJhc2VkIG9uIGNvbW1pdHMuIE9uZSBvZiBgbWFqb3J8bWlub3J8cGF0Y2h8bm9uZWAuXG4gICAqXG4gICAqIFRoZSBjb21tYW5kIHNob3VsZCBwcmludCBvbmUgb2YgdGhlIGZvbGxvd2luZyB0byBgc3Rkb3V0YDpcbiAgICpcbiAgICogLSBOb3RoaW5nOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIGRldGVybWluZWQgYmFzZWQgb24gY29tbWl0IGhpc3RvcnkuXG4gICAqIC0gYHgueS56YDogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSBgeC55LnpgLlxuICAgKiAtIGBtYWpvcnxtaW5vcnxwYXRjaGA6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgdGhlIGN1cnJlbnQgdmVyc2lvbiBudW1iZXJcbiAgICogICB3aXRoIHRoZSBpbmRpY2F0ZWQgY29tcG9uZW50IGJ1bXBlZC5cbiAgICpcbiAgICogVGhpcyBzZXR0aW5nIGNhbm5vdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBgbWluTWFqb3JWZXJzaW9uYDsgdGhlIGludm9rZWRcbiAgICogc2NyaXB0IGNhbiBiZSB1c2VkIHRvIGFjaGlldmUgdGhlIGVmZmVjdHMgb2YgYG1pbk1ham9yVmVyc2lvbmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIG5leHQgdmVyc2lvbiB3aWxsIGJlIGRldGVybWluZWQgYmFzZWQgb24gdGhlIGNvbW1pdCBoaXN0b3J5IGFuZCBwcm9qZWN0IHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV4dFZlcnNpb25Db21tYW5kPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBSZWxlYXNlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWxlYXNlT3B0aW9ucyBleHRlbmRzIFJlbGVhc2VQcm9qZWN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdGFzayB0byBleGVjdXRlIGluIG9yZGVyIHRvIGNyZWF0ZSB0aGUgcmVsZWFzZSBhcnRpZmFjdHMuIEFydGlmYWN0cyBhcmVcbiAgICogZXhwZWN0ZWQgdG8gcmVzaWRlIHVuZGVyIGBhcnRpZmFjdHNEaXJlY3RvcnlgIChkZWZhdWx0cyB0byBgZGlzdC9gKSBvbmNlXG4gICAqIGJ1aWxkIGlzIGNvbXBsZXRlLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYHRhc2tzYCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSB0YXNrPzogVGFzaztcblxuICAvKipcbiAgICogVGhlIHRhc2tzIHRvIGV4ZWN1dGUgaW4gb3JkZXIgdG8gY3JlYXRlIHRoZSByZWxlYXNlIGFydGlmYWN0cy4gQXJ0aWZhY3RzIGFyZVxuICAgKiBleHBlY3RlZCB0byByZXNpZGUgdW5kZXIgYGFydGlmYWN0c0RpcmVjdG9yeWAgKGRlZmF1bHRzIHRvIGBkaXN0L2ApIG9uY2VcbiAgICogYnVpbGQgaXMgY29tcGxldGUuXG4gICAqL1xuICByZWFkb25seSB0YXNrcz86IFRhc2tbXTtcblxuICAvKipcbiAgICogQSBuYW1lIG9mIGEgLmpzb24gZmlsZSB0byBzZXQgdGhlIGB2ZXJzaW9uYCBmaWVsZCBpbiBhZnRlciBhIGJ1bXAuXG4gICAqXG4gICAqIEBleGFtcGxlIFwicGFja2FnZS5qc29uXCJcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25GaWxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGJyYW5jaCBuYW1lIHRvIHJlbGVhc2UgZnJvbS5cbiAgICpcbiAgICogVXNlIGBtYWpvclZlcnNpb25gIHRvIHJlc3RyaWN0IHRoaXMgYnJhbmNoIHRvIG9ubHkgcHVibGlzaCByZWxlYXNlcyB3aXRoIGFcbiAgICogc3BlY2lmaWMgbWFqb3IgdmVyc2lvbi5cbiAgICpcbiAgICogWW91IGNhbiBhZGQgYWRkaXRpb25hbCBicmFuY2hlcyB1c2luZyBgYWRkQnJhbmNoKClgLlxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIEdpdEh1YiByZWxlYXNlIGZvciBlYWNoIHJlbGVhc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGdpdGh1YlJlbGVhc2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGRpcmVjdG9yeSB3aGljaCB3aWxsIGNvbnRhaW4gYnVpbGQgYXJ0aWZhY3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImRpc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3RzRGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5vZGUgdmVyc2lvbiB0byBzZXR1cCBpbiBHaXRIdWIgd29ya2Zsb3dzIGlmIGFueSBub2RlLWJhc2VkIENMSSB1dGlsaXRpZXNcbiAgICogYXJlIG5lZWRlZC4gRm9yIGV4YW1wbGUgYHB1YmxpYmAsIHRoZSBDTEkgcHJvamVuIHVzZXMgdG8gcHVibGlzaCByZWxlYXNlcyxcbiAgICogaXMgYW4gbnBtIGxpYnJhcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwibHRzLypcIlwiXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd05vZGVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQZXJtaXNzaW9ucyBncmFudGVkIHRvIHRoZSByZWxlYXNlIHdvcmtmbG93IGpvYlxuICAgKiBAZGVmYXVsdCBgeyBjb250ZW50czogSm9iUGVybWlzc2lvbi5XUklURSB9YFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dQZXJtaXNzaW9ucz86IEpvYlBlcm1pc3Npb25zO1xufVxuXG4vKipcbiAqIE1hbmFnZXMgcmVsZWFzZXMgKGN1cnJlbnRseSB0aHJvdWdoIEdpdEh1YiB3b3JrZmxvd3MpLlxuICpcbiAqIEJ5IGRlZmF1bHQsIG5vIGJyYW5jaGVzIGFyZSByZWxlYXNlZC4gVG8gYWRkIGJyYW5jaGVzLCBjYWxsIGBhZGRCcmFuY2goKWAuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWxlYXNlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBTlRJX1RBTVBFUl9DTUQgPVxuICAgIFwiZ2l0IGRpZmYgLS1pZ25vcmUtc3BhY2UtYXQtZW9sIC0tZXhpdC1jb2RlXCI7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGBSZWxlYXNlYCBjb21wb25lbnQgb2YgYSBwcm9qZWN0IG9yIGB1bmRlZmluZWRgIGlmIHRoZSBwcm9qZWN0XG4gICAqIGRvZXMgbm90IGhhdmUgYSBSZWxlYXNlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb2YocHJvamVjdDogUHJvamVjdCk6IFJlbGVhc2UgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlzUmVsZWFzZSA9IChjOiBDb21wb25lbnQpOiBjIGlzIFJlbGVhc2UgPT4gYyBpbnN0YW5jZW9mIFJlbGVhc2U7XG4gICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzUmVsZWFzZSk7XG4gIH1cblxuICAvKipcbiAgICogUGFja2FnZSBwdWJsaXNoZXIuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHVibGlzaGVyOiBQdWJsaXNoZXI7XG5cbiAgLyoqXG4gICAqIExvY2F0aW9uIG9mIGJ1aWxkIGFydGlmYWN0cy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhcnRpZmFjdHNEaXJlY3Rvcnk6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkVGFza3M6IFRhc2tbXTtcbiAgcHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uOiBWZXJzaW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IHBvc3RCdWlsZFN0ZXBzOiBKb2JTdGVwW107XG4gIHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbkZpbGU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSByZWxlYXNlVHJpZ2dlcjogUmVsZWFzZVRyaWdnZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJlQnVpbGRTdGVwczogSm9iU3RlcFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lckltYWdlPzogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9icmFuY2hlcyA9IG5ldyBBcnJheTxSZWxlYXNlQnJhbmNoPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGpvYnM6IFJlY29yZDxzdHJpbmcsIEpvYj4gPSB7fTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QnJhbmNoOiBSZWxlYXNlQnJhbmNoO1xuICBwcml2YXRlIHJlYWRvbmx5IGdpdGh1Yj86IEdpdEh1YjtcbiAgcHJpdmF0ZSByZWFkb25seSB3b3JrZmxvd1J1bnNPbj86IHN0cmluZ1tdO1xuICBwcml2YXRlIHJlYWRvbmx5IHdvcmtmbG93UnVuc09uR3JvdXA/OiBHcm91cFJ1bm5lck9wdGlvbnM7XG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya2Zsb3dQZXJtaXNzaW9uczogSm9iUGVybWlzc2lvbnM7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93RW52PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcHJpdmF0ZSByZWFkb25seSByZWxlYXNlVGFnRmlsZVBhdGg6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJhbmNoSG9va3M6IEJyYW5jaEhvb2tbXTtcblxuICAvKipcbiAgICogQHBhcmFtIHNjb3BlIHNob3VsZCBiZSBwYXJ0IG9mIHRoZSBwcm9qZWN0IHRoZSBSZWxlYXNlIGJlbG9uZ3MgdG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIG9wdGlvbnMgdG8gY29uZmlndXJlIHRoZSBSZWxlYXNlIENvbXBvbmVudC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBJQ29uc3RydWN0LCBvcHRpb25zOiBSZWxlYXNlT3B0aW9ucykge1xuICAgIHN1cGVyKHNjb3BlKTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMucmVsZWFzZUJyYW5jaGVzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnXCJyZWxlYXNlQnJhbmNoZXNcIiBpcyBubyBsb25nZXIgYW4gYXJyYXkuIFNlZSB0eXBlIGFubm90YXRpb25zJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5naXRodWIgPSBHaXRIdWIub2YodGhpcy5wcm9qZWN0LnJvb3QpO1xuXG4gICAgLy8gSGFuZGxlIGJvdGggZGVwcmVjYXRlZCB0YXNrIGFuZCBuZXcgdGFza3Mgb3B0aW9uc1xuICAgIGlmIChvcHRpb25zLnRhc2tzKSB7XG4gICAgICB0aGlzLmJ1aWxkVGFza3MgPSBvcHRpb25zLnRhc2tzO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucy50YXNrKSB7XG4gICAgICB0aGlzLmJ1aWxkVGFza3MgPSBbb3B0aW9ucy50YXNrXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkVpdGhlciAndGFza3MnIG9yICd0YXNrJyBtdXN0IGJlIHByb3ZpZGVkLCBidXQgbm90IGJvdGguXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucHJlQnVpbGRTdGVwcyA9IG9wdGlvbnMucmVsZWFzZVdvcmtmbG93U2V0dXBTdGVwcyA/PyBbXTtcbiAgICB0aGlzLnBvc3RCdWlsZFN0ZXBzID0gb3B0aW9ucy5wb3N0QnVpbGRTdGVwcyA/PyBbXTtcbiAgICB0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSA9XG4gICAgICBvcHRpb25zLmFydGlmYWN0c0RpcmVjdG9yeSA/PyBERUZBVUxUX0FSVElGQUNUU19ESVJFQ1RPUlk7XG4gICAgZW5zdXJlTm90SGlkZGVuUGF0aCh0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSwgXCJhcnRpZmFjdHNEaXJlY3RvcnlcIik7XG4gICAgdGhpcy52ZXJzaW9uRmlsZSA9IG9wdGlvbnMudmVyc2lvbkZpbGU7XG4gICAgdGhpcy5yZWxlYXNlVHJpZ2dlciA9IG9wdGlvbnMucmVsZWFzZVRyaWdnZXIgPz8gUmVsZWFzZVRyaWdnZXIuY29udGludW91cygpO1xuICAgIHRoaXMuY29udGFpbmVySW1hZ2UgPSBvcHRpb25zLndvcmtmbG93Q29udGFpbmVySW1hZ2U7XG4gICAgdGhpcy53b3JrZmxvd1J1bnNPbiA9IG9wdGlvbnMud29ya2Zsb3dSdW5zT247XG4gICAgdGhpcy53b3JrZmxvd1J1bnNPbkdyb3VwID0gb3B0aW9ucy53b3JrZmxvd1J1bnNPbkdyb3VwO1xuICAgIHRoaXMud29ya2Zsb3dQZXJtaXNzaW9ucyA9IHtcbiAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgLi4ub3B0aW9ucy53b3JrZmxvd1Blcm1pc3Npb25zLFxuICAgIH07XG4gICAgdGhpcy5yZWxlYXNlV29ya2Zsb3dFbnYgPSBvcHRpb25zLnJlbGVhc2VXb3JrZmxvd0VudjtcbiAgICB0aGlzLl9icmFuY2hIb29rcyA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogVXNlIG1hbnVhbCByZWxlYXNlcyB3aXRoIG5vIGNoYW5nZWxvZyBpZiByZWxlYXNlRXZlcnlDb21taXQgaXMgZXhwbGljaXRseVxuICAgICAqIGRpc2FibGVkIGFuZCBubyBvdGhlciB0cmlnZ2VyIGlzIHNldC5cbiAgICAgKlxuICAgICAqIFRPRE86IFJlbW92ZSB0aGlzIHdoZW4gcmVsZWFzZUV2ZXJ5Q29tbWl0IGFuZCByZWxlYXNlU2NoZWR1bGUgYXJlIHJlbW92ZWRcbiAgICAgKi9cbiAgICBpZiAoXG4gICAgICAhKFxuICAgICAgICAob3B0aW9ucy5yZWxlYXNlRXZlcnlDb21taXQgPz8gdHJ1ZSkgfHxcbiAgICAgICAgb3B0aW9ucy5yZWxlYXNlU2NoZWR1bGUgfHxcbiAgICAgICAgb3B0aW9ucy5yZWxlYXNlVHJpZ2dlclxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5yZWxlYXNlVHJpZ2dlciA9IFJlbGVhc2VUcmlnZ2VyLm1hbnVhbCh7IGNoYW5nZWxvZzogZmFsc2UgfSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucmVsZWFzZVNjaGVkdWxlKSB7XG4gICAgICB0aGlzLnJlbGVhc2VUcmlnZ2VyID0gUmVsZWFzZVRyaWdnZXIuc2NoZWR1bGVkKHtcbiAgICAgICAgc2NoZWR1bGU6IG9wdGlvbnMucmVsZWFzZVNjaGVkdWxlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy52ZXJzaW9uID0gbmV3IFZlcnNpb24odGhpcy5wcm9qZWN0LCB7XG4gICAgICB2ZXJzaW9uSW5wdXRGaWxlOiB0aGlzLnZlcnNpb25GaWxlLFxuICAgICAgYXJ0aWZhY3RzRGlyZWN0b3J5OiB0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSxcbiAgICAgIHZlcnNpb25yY09wdGlvbnM6IG9wdGlvbnMudmVyc2lvbnJjT3B0aW9ucyxcbiAgICAgIHRhZ1ByZWZpeDogb3B0aW9ucy5yZWxlYXNlVGFnUHJlZml4LFxuICAgICAgcmVsZWFzYWJsZUNvbW1pdHM6IG9wdGlvbnMucmVsZWFzYWJsZUNvbW1pdHMsXG4gICAgICBidW1wUGFja2FnZTogb3B0aW9ucy5idW1wUGFja2FnZSxcbiAgICAgIG5leHRWZXJzaW9uQ29tbWFuZDogb3B0aW9ucy5uZXh0VmVyc2lvbkNvbW1hbmQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlbGVhc2VUYWdGaWxlUGF0aCA9IHBvc2l4UGF0aC5ub3JtYWxpemUoXG4gICAgICBwb3NpeFBhdGguam9pbih0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSwgdGhpcy52ZXJzaW9uLnJlbGVhc2VUYWdGaWxlTmFtZSksXG4gICAgKTtcblxuICAgIHRoaXMucHVibGlzaGVyID0gbmV3IFB1Ymxpc2hlcih0aGlzLnByb2plY3QsIHtcbiAgICAgIGFydGlmYWN0TmFtZTogdGhpcy5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICBjb25kaXRpb246IERFUEVOREVOVF9KT0JfQ09ORElUSU9OQUwsXG4gICAgICBidWlsZEpvYklkOiBCVUlMRF9KT0JJRCxcbiAgICAgIGpzaWlSZWxlYXNlVmVyc2lvbjogb3B0aW9ucy5qc2lpUmVsZWFzZVZlcnNpb24sXG4gICAgICBmYWlsdXJlSXNzdWU6IG9wdGlvbnMucmVsZWFzZUZhaWx1cmVJc3N1ZSxcbiAgICAgIGZhaWx1cmVJc3N1ZUxhYmVsOiBvcHRpb25zLnJlbGVhc2VGYWlsdXJlSXNzdWVMYWJlbCxcbiAgICAgIC4uLmZpbHRlcmVkV29ya2Zsb3dSdW5zT25PcHRpb25zKFxuICAgICAgICBvcHRpb25zLndvcmtmbG93UnVuc09uLFxuICAgICAgICBvcHRpb25zLndvcmtmbG93UnVuc09uR3JvdXAsXG4gICAgICApLFxuICAgICAgcHVibGlzaFRhc2tzOiBvcHRpb25zLnB1Ymxpc2hUYXNrcyxcbiAgICAgIGRyeVJ1bjogb3B0aW9ucy5wdWJsaXNoRHJ5UnVuLFxuICAgICAgd29ya2Zsb3dOb2RlVmVyc2lvbjogb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uLFxuICAgICAgd29ya2Zsb3dDb250YWluZXJJbWFnZTogb3B0aW9ucy53b3JrZmxvd0NvbnRhaW5lckltYWdlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZ2l0aHViUmVsZWFzZSA9IG9wdGlvbnMuZ2l0aHViUmVsZWFzZSA/PyB0cnVlO1xuICAgIGlmIChnaXRodWJSZWxlYXNlKSB7XG4gICAgICB0aGlzLnB1Ymxpc2hlci5wdWJsaXNoVG9HaXRIdWJSZWxlYXNlcyh7XG4gICAgICAgIGNoYW5nZWxvZ0ZpbGU6IHBvc2l4UGF0aC5qb2luKFxuICAgICAgICAgIHRoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5LFxuICAgICAgICAgIHRoaXMudmVyc2lvbi5jaGFuZ2Vsb2dGaWxlTmFtZSxcbiAgICAgICAgKSxcbiAgICAgICAgdmVyc2lvbkZpbGU6IHBvc2l4UGF0aC5qb2luKFxuICAgICAgICAgIHRoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5LFxuICAgICAgICAgIHRoaXMudmVyc2lvbi52ZXJzaW9uRmlsZU5hbWUsXG4gICAgICAgICksXG4gICAgICAgIHJlbGVhc2VUYWdGaWxlOiBwb3NpeFBhdGguam9pbihcbiAgICAgICAgICB0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSxcbiAgICAgICAgICB0aGlzLnZlcnNpb24ucmVsZWFzZVRhZ0ZpbGVOYW1lLFxuICAgICAgICApLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gYWRkIHRoZSBkZWZhdWx0IGJyYW5jaCAod2UgbmVlZCB0aGUgaW50ZXJuYWwgbWV0aG9kIHdoaWNoIGRvZXMgbm90IHJlcXVpcmUgbWFqb3JWZXJzaW9uKVxuICAgIHRoaXMuZGVmYXVsdEJyYW5jaCA9IHRoaXMuX2FkZEJyYW5jaChvcHRpb25zLmJyYW5jaCwge1xuICAgICAgcHJlcmVsZWFzZTogb3B0aW9ucy5wcmVyZWxlYXNlLFxuICAgICAgbWFqb3JWZXJzaW9uOiBvcHRpb25zLm1ham9yVmVyc2lvbixcbiAgICAgIG1pbk1ham9yVmVyc2lvbjogb3B0aW9ucy5taW5NYWpvclZlcnNpb24sXG4gICAgICB3b3JrZmxvd05hbWU6XG4gICAgICAgIG9wdGlvbnMucmVsZWFzZVdvcmtmbG93TmFtZSA/P1xuICAgICAgICB3b3JrZmxvd05hbWVGb3JQcm9qZWN0KFwicmVsZWFzZVwiLCB0aGlzLnByb2plY3QpLFxuICAgICAgZW52aXJvbm1lbnQ6IG9wdGlvbnMucmVsZWFzZUVudmlyb25tZW50LFxuICAgICAgdGFnUHJlZml4OiBvcHRpb25zLnJlbGVhc2VUYWdQcmVmaXgsXG4gICAgICBucG1EaXN0VGFnOiBvcHRpb25zLm5wbURpc3RUYWcsXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IFtuYW1lLCBvcHRzXSBvZiBPYmplY3QuZW50cmllcyhvcHRpb25zLnJlbGVhc2VCcmFuY2hlcyA/PyB7fSkpIHtcbiAgICAgIHRoaXMuYWRkQnJhbmNoKG5hbWUsIHtcbiAgICAgICAgZW52aXJvbm1lbnQ6IG9wdGlvbnMucmVsZWFzZUVudmlyb25tZW50LFxuICAgICAgICAuLi5vcHRzLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGhvb2sgdGhhdCBzaG91bGQgYmUgcnVuIGZvciBldmVyeSBicmFuY2ggKGluY2x1ZGluZyB0aG9zZSB0aGF0IHdpbGxcbiAgICogYmUgYWRkZWQgYnkgZnV0dXJlIGBhZGRCcmFuY2hgIGNhbGxzKS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX2ZvckVhY2hCcmFuY2goaG9vazogQnJhbmNoSG9vaykge1xuICAgIGZvciAoY29uc3QgYnJhbmNoIG9mIHRoaXMuX2JyYW5jaGVzKSB7XG4gICAgICBob29rKGJyYW5jaC5uYW1lKTtcbiAgICB9XG4gICAgdGhpcy5fYnJhbmNoSG9va3MucHVzaChob29rKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVsZWFzZSBicmFuY2guXG4gICAqXG4gICAqIEl0IGlzIGEgZ2l0IGJyYW5jaCBmcm9tIHdoaWNoIHJlbGVhc2VzIGFyZSBwdWJsaXNoZWQuIElmIGEgcHJvamVjdCBoYXMgbW9yZSB0aGFuIG9uZSByZWxlYXNlXG4gICAqIGJyYW5jaCwgd2UgcmVxdWlyZSB0aGF0IGBtYWpvclZlcnNpb25gIGlzIGFsc28gc3BlY2lmaWVkIGZvciB0aGUgcHJpbWFyeSBicmFuY2ggaW4gb3JkZXIgdG9cbiAgICogZW5zdXJlIGJyYW5jaGVzIGFsd2F5cyByZWxlYXNlIHRoZSBjb3JyZWN0IHZlcnNpb24uXG4gICAqXG4gICAqIEBwYXJhbSBicmFuY2ggVGhlIGJyYW5jaCB0byBtb25pdG9yIChlLmcuIGBtYWluYCwgYHYyLnhgKVxuICAgKiBAcGFyYW0gb3B0aW9ucyBCcmFuY2ggZGVmaW5pdGlvblxuICAgKi9cbiAgcHVibGljIGFkZEJyYW5jaChicmFuY2g6IHN0cmluZywgb3B0aW9uczogQnJhbmNoT3B0aW9ucykge1xuICAgIHRoaXMuX2FkZEJyYW5jaChicmFuY2gsIG9wdGlvbnMpO1xuXG4gICAgLy8gcnVuIGFsbCBicmFuY2ggaG9va3NcbiAgICBmb3IgKGNvbnN0IGhvb2sgb2YgdGhpcy5fYnJhbmNoSG9va3MpIHtcbiAgICAgIGhvb2soYnJhbmNoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlbGVhc2UgYnJhbmNoLlxuICAgKlxuICAgKiBJdCBpcyBhIGdpdCBicmFuY2ggZnJvbSB3aGljaCByZWxlYXNlcyBhcmUgcHVibGlzaGVkLiBJZiBhIHByb2plY3QgaGFzIG1vcmUgdGhhbiBvbmUgcmVsZWFzZVxuICAgKiBicmFuY2gsIHdlIHJlcXVpcmUgdGhhdCBgbWFqb3JWZXJzaW9uYCBpcyBhbHNvIHNwZWNpZmllZCBmb3IgdGhlIHByaW1hcnkgYnJhbmNoIGluIG9yZGVyIHRvXG4gICAqIGVuc3VyZSBicmFuY2hlcyBhbHdheXMgcmVsZWFzZSB0aGUgY29ycmVjdCB2ZXJzaW9uLlxuICAgKlxuICAgKiBAcGFyYW0gYnJhbmNoIFRoZSBicmFuY2ggdG8gbW9uaXRvciAoZS5nLiBgbWFpbmAsIGB2Mi54YClcbiAgICogQHBhcmFtIG9wdGlvbnMgQnJhbmNoIGRlZmluaXRpb25cbiAgICovXG4gIHByaXZhdGUgX2FkZEJyYW5jaChcbiAgICBicmFuY2g6IHN0cmluZyxcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEJyYW5jaE9wdGlvbnM+LFxuICApOiBSZWxlYXNlQnJhbmNoIHtcbiAgICBpZiAodGhpcy5fYnJhbmNoZXMuZmluZCgoYikgPT4gYi5uYW1lID09PSBicmFuY2gpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSByZWxlYXNlIGJyYW5jaCAke2JyYW5jaH0gaXMgYWxyZWFkeSBkZWZpbmVkYCk7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYWRkIGEgYnJhbmNoLCB3ZSByZXF1aXJlIHRoYXQgdGhlIGRlZmF1bHQgYnJhbmNoIHdpbGwgYWxzbyBkZWZpbmUgYVxuICAgIC8vIG1ham9yIHZlcnNpb24uXG4gICAgaWYgKFxuICAgICAgdGhpcy5kZWZhdWx0QnJhbmNoICYmXG4gICAgICBvcHRpb25zLm1ham9yVmVyc2lvbiAmJlxuICAgICAgdGhpcy5kZWZhdWx0QnJhbmNoLm1ham9yVmVyc2lvbiA9PT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICd5b3UgbXVzdCBzcGVjaWZ5IFwibWFqb3JWZXJzaW9uXCIgZm9yIHRoZSBkZWZhdWx0IGJyYW5jaCB3aGVuIGFkZGluZyBtdWx0aXBsZSByZWxlYXNlIGJyYW5jaGVzJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZWFzZUJyYW5jaDogUmVsZWFzZUJyYW5jaCA9IHtcbiAgICAgIG5hbWU6IGJyYW5jaCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvdzogdGhpcy5jcmVhdGVXb3JrZmxvdyhicmFuY2gsIG9wdGlvbnMpLFxuICAgIH07XG5cbiAgICB0aGlzLl9icmFuY2hlcy5wdXNoKHJlbGVhc2VCcmFuY2gpO1xuXG4gICAgcmV0dXJuIHJlbGVhc2VCcmFuY2g7XG4gIH1cblxuICBwdWJsaWMgcHJlU3ludGhlc2l6ZSgpIHtcbiAgICBmb3IgKGNvbnN0IGJyYW5jaCBvZiB0aGlzLl9icmFuY2hlcykge1xuICAgICAgaWYgKCFicmFuY2gud29ya2Zsb3cpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGJyYW5jaC53b3JrZmxvdy5hZGRKb2JzKFxuICAgICAgICB0aGlzLnB1Ymxpc2hlci5fcmVuZGVySm9ic0ZvckJyYW5jaChicmFuY2gubmFtZSwgYnJhbmNoKSxcbiAgICAgICk7XG4gICAgICBicmFuY2gud29ya2Zsb3cuYWRkSm9icyh0aGlzLmpvYnMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGpvYnMgdG8gYWxsIHJlbGVhc2Ugd29ya2Zsb3dzLlxuICAgKiBAcGFyYW0gam9icyBUaGUgam9icyB0byBhZGQgKG5hbWUgPT4gam9iKVxuICAgKi9cbiAgcHVibGljIGFkZEpvYnMoam9iczogUmVjb3JkPHN0cmluZywgSm9iPikge1xuICAgIGZvciAoY29uc3QgW25hbWUsIGpvYl0gb2YgT2JqZWN0LmVudHJpZXMoam9icykpIHtcbiAgICAgIHRoaXMuam9ic1tuYW1lXSA9IGpvYjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgYWxsIHJlbGVhc2UgYnJhbmNoIG5hbWVzXG4gICAqL1xuICBwdWJsaWMgZ2V0IGJyYW5jaGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fYnJhbmNoZXMubWFwKChiKSA9PiBiLm5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGEgd29ya2Zsb3cgb3IgYHVuZGVmaW5lZGAgaWYgZ2l0aHViIGludGVncmF0aW9uIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVXb3JrZmxvdyhcbiAgICBicmFuY2hOYW1lOiBzdHJpbmcsXG4gICAgYnJhbmNoOiBQYXJ0aWFsPEJyYW5jaE9wdGlvbnM+LFxuICApOiBHaXRodWJXb3JrZmxvdyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgd29ya2Zsb3dOYW1lID1cbiAgICAgIGJyYW5jaC53b3JrZmxvd05hbWUgPz9cbiAgICAgIHdvcmtmbG93TmFtZUZvclByb2plY3QoYHJlbGVhc2UtJHticmFuY2hOYW1lfWAsIHRoaXMucHJvamVjdCk7XG5cbiAgICAvLyB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMgYmV0d2VlbiB0d28gY29tbWl0cyB0cnlpbmcgdG8gcmVsZWFzZSB0aGUgc2FtZVxuICAgIC8vIHZlcnNpb24sIHdlIGNoZWNrIGlmIHRoZSBoZWFkIHNoYSBpcyBpZGVudGljYWwgdG8gdGhlIHJlbW90ZSBzaGEuIGlmXG4gICAgLy8gbm90LCB3ZSB3aWxsIHNraXAgdGhlIHJlbGVhc2UgYW5kIGp1c3QgZmluaXNoIHRoZSBidWlsZC5cbiAgICBjb25zdCBub05ld0NvbW1pdHMgPSBgXFwke3sgc3RlcHMuJHtHSVRfUkVNT1RFX1NURVBJRH0ub3V0cHV0cy4ke0xBVEVTVF9DT01NSVRfT1VUUFVUfSA9PSBnaXRodWIuc2hhIH19YDtcblxuICAgIC8vIFRoZSBhcnJheXMgYXJlIGJlaW5nIGNsb25lZCB0byBhdm9pZCBhY2N1bXVsYXRpbmcgdmFsdWVzIGZyb20gcHJldmlvdXMgYnJhbmNoZXNcbiAgICBjb25zdCBwcmVCdWlsZFN0ZXBzID0gWy4uLnRoaXMucHJlQnVpbGRTdGVwc107XG5cbiAgICBjb25zdCBlbnY6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBSRUxFQVNFOiBcInRydWVcIixcbiAgICAgIC4uLnRoaXMudmVyc2lvbi5lbnZGb3JCcmFuY2goe1xuICAgICAgICBtYWpvclZlcnNpb246IGJyYW5jaC5tYWpvclZlcnNpb24sXG4gICAgICAgIG1pbm9yVmVyc2lvbjogYnJhbmNoLm1pbm9yVmVyc2lvbixcbiAgICAgICAgbWluTWFqb3JWZXJzaW9uOiBicmFuY2gubWluTWFqb3JWZXJzaW9uLFxuICAgICAgICBwcmVyZWxlYXNlOiBicmFuY2gucHJlcmVsZWFzZSxcbiAgICAgICAgdGFnUHJlZml4OiBicmFuY2gudGFnUHJlZml4LFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIC8vIHRoZSBcInJlbGVhc2VcIiB0YXNrIHByZXBhcmVzIGEgcmVsZWFzZSBidXQgZG9lcyBub3QgcHVibGlzaCBhbnl0aGluZy4gdGhlXG4gICAgLy8gb3V0cHV0IG9mIHRoZSByZWxlYXNlIHRhc2sgaXM6IGBkaXN0YCwgYC52ZXJzaW9uLnR4dGAsIGFuZFxuICAgIC8vIGAuY2hhbmdlbG9nLm1kYC4gdGhpcyBpcyB3aGF0IHB1Ymxpc2ggdGFza3MgZXhwZWN0LlxuXG4gICAgLy8gaWYgdGhpcyBpcyB0aGUgcmVsZWFzZSBmb3IgXCJtYWluXCIgb3IgXCJtYXN0ZXJcIiwganVzdCBjYWxsIGl0IFwicmVsZWFzZVwiLlxuICAgIC8vIG90aGVyd2lzZSwgXCJyZWxlYXNlOkJSQU5DSFwiXG4gICAgY29uc3QgcmVsZWFzZVRhc2tOYW1lID1cbiAgICAgIGJyYW5jaE5hbWUgPT09IFwibWFpblwiIHx8IGJyYW5jaE5hbWUgPT09IFwibWFzdGVyXCJcbiAgICAgICAgPyBcInJlbGVhc2VcIlxuICAgICAgICA6IGByZWxlYXNlOiR7YnJhbmNoTmFtZX1gO1xuICAgIGNvbnN0IHJlbGVhc2VUYXNrID0gdGhpcy5wcm9qZWN0LmFkZFRhc2socmVsZWFzZVRhc2tOYW1lLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYFByZXBhcmUgYSByZWxlYXNlIGZyb20gXCIke2JyYW5jaE5hbWV9XCIgYnJhbmNoYCxcbiAgICAgIGVudixcbiAgICB9KTtcblxuICAgIHJlbGVhc2VUYXNrLmV4ZWMoYHJtIC1mciAke3RoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5fWApO1xuICAgIHJlbGVhc2VUYXNrLnNwYXduKHRoaXMudmVyc2lvbi5idW1wVGFzayk7XG5cbiAgICAvLyBTcGF3biBhbGwgYnVpbGQgdGFza3NcbiAgICBmb3IgKGNvbnN0IGJ1aWxkVGFzayBvZiB0aGlzLmJ1aWxkVGFza3MpIHtcbiAgICAgIHJlbGVhc2VUYXNrLnNwYXduKGJ1aWxkVGFzayk7XG4gICAgfVxuXG4gICAgcmVsZWFzZVRhc2suc3Bhd24odGhpcy52ZXJzaW9uLnVuYnVtcFRhc2spO1xuXG4gICAgLy8gYW50aS10YW1wZXIgY2hlY2sgKGZhaWxzIGlmIHRoZXJlIHdlcmUgY2hhbmdlcyB0byBjb21taXR0ZWQgZmlsZXMpXG4gICAgLy8gdGhpcyB3aWxsIGlkZW50aWZ5IGFueSBub24tY29tbWl0dGVkIGZpbGVzIGdlbmVyYXRlZCBkdXJpbmcgYnVpbGQgKGUuZy4gdGVzdCBzbmFwc2hvdHMpXG4gICAgcmVsZWFzZVRhc2suZXhlYyhSZWxlYXNlLkFOVElfVEFNUEVSX0NNRCk7XG5cbiAgICBpZiAodGhpcy5yZWxlYXNlVHJpZ2dlci5pc01hbnVhbCkge1xuICAgICAgY29uc3QgcHVibGlzaFRhc2sgPSB0aGlzLnB1Ymxpc2hlci5wdWJsaXNoVG9HaXQoe1xuICAgICAgICBjaGFuZ2Vsb2dGaWxlOiBwb3NpeFBhdGguam9pbihcbiAgICAgICAgICB0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSxcbiAgICAgICAgICB0aGlzLnZlcnNpb24uY2hhbmdlbG9nRmlsZU5hbWUsXG4gICAgICAgICksXG4gICAgICAgIHZlcnNpb25GaWxlOiBwb3NpeFBhdGguam9pbihcbiAgICAgICAgICB0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSxcbiAgICAgICAgICB0aGlzLnZlcnNpb24udmVyc2lvbkZpbGVOYW1lLFxuICAgICAgICApLFxuICAgICAgICByZWxlYXNlVGFnRmlsZTogcG9zaXhQYXRoLmpvaW4oXG4gICAgICAgICAgdGhpcy5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgICAgdGhpcy52ZXJzaW9uLnJlbGVhc2VUYWdGaWxlTmFtZSxcbiAgICAgICAgKSxcbiAgICAgICAgcHJvamVjdENoYW5nZWxvZ0ZpbGU6IHRoaXMucmVsZWFzZVRyaWdnZXIuY2hhbmdlbG9nUGF0aCxcbiAgICAgICAgZ2l0QnJhbmNoOiBicmFuY2hOYW1lLFxuICAgICAgICBnaXRQdXNoQ29tbWFuZDogdGhpcy5yZWxlYXNlVHJpZ2dlci5naXRQdXNoQ29tbWFuZCxcbiAgICAgIH0pO1xuXG4gICAgICByZWxlYXNlVGFzay5zcGF3bihwdWJsaXNoVGFzayk7XG4gICAgfVxuXG4gICAgY29uc3QgcG9zdEJ1aWxkU3RlcHMgPSBbLi4udGhpcy5wb3N0QnVpbGRTdGVwc107XG5cbiAgICAvLyBSZWFkIHRoZSByZWxlYXNldGFnLCB0aGVuIGNoZWNrIGlmIGl0IGFscmVhZHkgZXhpc3RzLlxuICAgIC8vIElmIGl0IGRvZXMsIHdlIHdpbGwgY2FuY2VsIHRoaXMgcmVsZWFzZVxuICAgIHBvc3RCdWlsZFN0ZXBzLnB1c2goXG4gICAgICBXb3JrZmxvd1N0ZXBzLnRhZ0V4aXN0cyhgJChjYXQgJHt0aGlzLnJlbGVhc2VUYWdGaWxlUGF0aH0pYCwge1xuICAgICAgICBuYW1lOiBcIkNoZWNrIGlmIHZlcnNpb24gaGFzIGFscmVhZHkgYmVlbiB0YWdnZWRcIixcbiAgICAgICAgaWQ6IFRBR19FWElTVFNfU1RFUElELFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIC8vIGNoZWNrIGlmIG5ldyBjb21taXRzIHdlcmUgcHVzaGVkIHRvIHRoZSByZXBvIHdoaWxlIHdlIHdlcmUgYnVpbGRpbmcuXG4gICAgLy8gaWYgbmV3IGNvbW1pdHMgaGF2ZSBiZWVuIHB1c2hlZCwgd2Ugd2lsbCBjYW5jZWwgdGhpcyByZWxlYXNlXG4gICAgcG9zdEJ1aWxkU3RlcHMucHVzaCh7XG4gICAgICBuYW1lOiBcIkNoZWNrIGZvciBuZXcgY29tbWl0c1wiLFxuICAgICAgaWQ6IEdJVF9SRU1PVEVfU1RFUElELFxuICAgICAgc2hlbGw6IFwiYmFzaFwiLFxuICAgICAgcnVuOiBbXG4gICAgICAgIGBlY2hvIFwiJHtMQVRFU1RfQ09NTUlUX09VVFBVVH09JChnaXQgbHMtcmVtb3RlIG9yaWdpbiAtaCBcXCR7eyBnaXRodWIucmVmIH19IHwgY3V0IC1mMSlcIiA+PiAkR0lUSFVCX09VVFBVVGAsXG4gICAgICAgIFwiY2F0ICRHSVRIVUJfT1VUUFVUXCIsXG4gICAgICBdLmpvaW4oXCJcXG5cIiksXG4gICAgfSk7XG5cbiAgICBjb25zdCBwcm9qZWN0UGF0aFJlbGF0aXZlVG9Sb290ID0gcHJvamVjdFBhdGhSZWxhdGl2ZVRvUmVwb1Jvb3QoXG4gICAgICB0aGlzLnByb2plY3QsXG4gICAgKTtcblxuICAgIHBvc3RCdWlsZFN0ZXBzLnB1c2goXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiQmFja3VwIGFydGlmYWN0IHBlcm1pc3Npb25zXCIsXG4gICAgICAgIGlmOiBub05ld0NvbW1pdHMsXG4gICAgICAgIGNvbnRpbnVlT25FcnJvcjogdHJ1ZSxcbiAgICAgICAgcnVuOiBgY2QgJHt0aGlzLmFydGlmYWN0c0RpcmVjdG9yeX0gJiYgZ2V0ZmFjbCAtUiAuID4gJHtQRVJNSVNTSU9OX0JBQ0tVUF9GSUxFfWAsXG4gICAgICB9LFxuICAgICAgV29ya2Zsb3dTdGVwcy51cGxvYWRBcnRpZmFjdCh7XG4gICAgICAgIGlmOiBub05ld0NvbW1pdHMsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICBuYW1lOiBCVUlMRF9BUlRJRkFDVF9OQU1FLFxuICAgICAgICAgIHBhdGg6IHRoaXMucHJvamVjdC5wYXJlbnQgLy8gaXMgc3VicHJvamVjdFxuICAgICAgICAgICAgPyBwb3NpeFBhdGguam9pbihwcm9qZWN0UGF0aFJlbGF0aXZlVG9Sb290LCB0aGlzLmFydGlmYWN0c0RpcmVjdG9yeSlcbiAgICAgICAgICAgIDogdGhpcy5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuZ2l0aHViICYmICF0aGlzLnJlbGVhc2VUcmlnZ2VyLmlzTWFudWFsKSB7XG4gICAgICAvLyBVc2UgdGFyZ2V0IChwb3NzaWJsZSBwYXJlbnQpIEdpdEh1YiB0byBjcmVhdGUgdGhlIHdvcmtmbG93XG4gICAgICBjb25zdCB3b3JrZmxvdyA9IG5ldyBHaXRodWJXb3JrZmxvdyh0aGlzLmdpdGh1Yiwgd29ya2Zsb3dOYW1lLCB7XG4gICAgICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJvamVuL3Byb2plbi9pc3N1ZXMvMzc2MVxuICAgICAgICBsaW1pdENvbmN1cnJlbmN5OiB0cnVlLFxuICAgICAgfSk7XG4gICAgICB3b3JrZmxvdy5vbih7XG4gICAgICAgIHNjaGVkdWxlOiB0aGlzLnJlbGVhc2VUcmlnZ2VyLnNjaGVkdWxlXG4gICAgICAgICAgPyBbeyBjcm9uOiB0aGlzLnJlbGVhc2VUcmlnZ2VyLnNjaGVkdWxlIH1dXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHB1c2g6XG4gICAgICAgICAgdGhpcy5yZWxlYXNlVHJpZ2dlci5pc0NvbnRpbnVvdXMgfHwgdGhpcy5yZWxlYXNlVHJpZ2dlci50YWdzXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBicmFuY2hlczogW2JyYW5jaE5hbWVdLFxuICAgICAgICAgICAgICAgIHRhZ3M6IHRoaXMucmVsZWFzZVRyaWdnZXIudGFncyxcbiAgICAgICAgICAgICAgICBwYXRoczogdGhpcy5yZWxlYXNlVHJpZ2dlci5wYXRocyxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIHdvcmtmbG93RGlzcGF0Y2g6IHt9LCAvLyBhbGxvdyBtYW51YWwgdHJpZ2dlcmluZ1xuICAgICAgfSk7XG5cbiAgICAgIC8vIENyZWF0ZSBqb2IgYmFzZWQgb24gY2hpbGQgKG9ubHk/KSBwcm9qZWN0IEdpdEh1YlxuICAgICAgY29uc3QgdGFza2pvYiA9IG5ldyBUYXNrV29ya2Zsb3dKb2IodGhpcywgcmVsZWFzZVRhc2ssIHtcbiAgICAgICAgb3V0cHV0czoge1xuICAgICAgICAgIFtMQVRFU1RfQ09NTUlUX09VVFBVVF06IHtcbiAgICAgICAgICAgIHN0ZXBJZDogR0lUX1JFTU9URV9TVEVQSUQsXG4gICAgICAgICAgICBvdXRwdXROYW1lOiBMQVRFU1RfQ09NTUlUX09VVFBVVCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIFtUQUdfRVhJU1RTX09VVFBVVF06IHtcbiAgICAgICAgICAgIHN0ZXBJZDogVEFHX0VYSVNUU19TVEVQSUQsXG4gICAgICAgICAgICBvdXRwdXROYW1lOiBcImV4aXN0c1wiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRhaW5lcjogdGhpcy5jb250YWluZXJJbWFnZVxuICAgICAgICAgID8geyBpbWFnZTogdGhpcy5jb250YWluZXJJbWFnZSB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIENJOiBcInRydWVcIixcbiAgICAgICAgICAuLi50aGlzLnJlbGVhc2VXb3JrZmxvd0VudixcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbnM6IHRoaXMud29ya2Zsb3dQZXJtaXNzaW9ucyxcbiAgICAgICAgY2hlY2tvdXRXaXRoOiB7XG4gICAgICAgICAgLy8gZmV0Y2gtZGVwdGg9IGluZGljYXRlcyBhbGwgaGlzdG9yeSBmb3IgYWxsIGJyYW5jaGVzIGFuZCB0YWdzXG4gICAgICAgICAgLy8gd2UgbXVzdCB1c2UgdGhpcyBpbiBvcmRlciB0byBmZXRjaCBhbGwgdGFnc1xuICAgICAgICAgIC8vIGFuZCB0byBpbnNwZWN0IHRoZSBoaXN0b3J5IHRvIGRlY2lkZSBpZiB3ZSBzaG91bGQgcmVsZWFzZVxuICAgICAgICAgIGZldGNoRGVwdGg6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIHByZUJ1aWxkU3RlcHMsXG4gICAgICAgIHBvc3RCdWlsZFN0ZXBzLFxuICAgICAgICBqb2JEZWZhdWx0czogdGhpcy5wcm9qZWN0LnBhcmVudCAvLyBpcyBzdWJwcm9qZWN0XG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHJ1bjoge1xuICAgICAgICAgICAgICAgIHdvcmtpbmdEaXJlY3Rvcnk6IHByb2plY3RQYXRoUmVsYXRpdmVUb1Jvb3QsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIC4uLmZpbHRlcmVkUnVuc09uT3B0aW9ucyh0aGlzLndvcmtmbG93UnVuc09uLCB0aGlzLndvcmtmbG93UnVuc09uR3JvdXApLFxuICAgICAgfSk7XG5cbiAgICAgIHdvcmtmbG93LmFkZEpvYihCVUlMRF9KT0JJRCwgdGFza2pvYik7XG5cbiAgICAgIHJldHVybiB3b3JrZmxvdztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBhIHJlbGVhc2UgYnJhbmNoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyYW5jaE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlbGVhc2Ugd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IFwicmVsZWFzZS1CUkFOQ0hcIlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIEFjdGlvbnMgZW52aXJvbm1lbnQgdXNlZCBmb3IgdGhlIHJlbGVhc2UuXG4gICAqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gYWRkIGFuIGV4cGxpY2l0IGFwcHJvdmFsIHN0ZXAgdG8gdGhlIHJlbGVhc2VcbiAgICogb3IgbGltaXQgd2hvIGNhbiBpbml0aWF0ZSBhIHJlbGVhc2UgdGhyb3VnaCBlbnZpcm9ubWVudCBwcm90ZWN0aW9uIHJ1bGVzLlxuICAgKlxuICAgKiBXaGVuIG11bHRpcGxlIGFydGlmYWN0cyBhcmUgcmVsZWFzZWQsIHRoZSBlbnZpcm9ubWVudCBjYW4gYmUgb3ZlcndyaXR0ZW5cbiAgICogb24gYSBwZXIgYXJ0aWZhY3QgYmFzaXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZW52aXJvbm1lbnQgdXNlZCwgdW5sZXNzIHNldCBhdCB0aGUgYXJ0aWZhY3QgbGV2ZWxcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbWFqb3IgdmVyc2lvbnMgcmVsZWFzZWQgZnJvbSB0aGlzIGJyYW5jaC5cbiAgICovXG4gIHJlYWRvbmx5IG1ham9yVmVyc2lvbjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBtYWpvciB2ZXJzaW9uIHRvIHJlbGVhc2UuXG4gICAqL1xuICByZWFkb25seSBtaW5NYWpvclZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5vciB2ZXJzaW9ucyByZWxlYXNlZCBmcm9tIHRoaXMgYnJhbmNoLlxuICAgKi9cbiAgcmVhZG9ubHkgbWlub3JWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBCdW1wIHRoZSB2ZXJzaW9uIGFzIGEgcHJlLXJlbGVhc2UgdGFnLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vcm1hbCByZWxlYXNlc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJlcmVsZWFzZT86IHN0cmluZztcblxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGQgdGhlIGdpdmVuIHByZWZpeCB0byByZWxlYXNlIHRhZ3MuXG4gICAqIFVzZWZ1bCBpZiB5b3UgYXJlIHJlbGVhc2luZyBvbiBtdWx0aXBsZSBicmFuY2hlcyB3aXRoIG92ZXJsYXBwaW5nXG4gICAqIHZlcnNpb24gbnVtYmVycy5cbiAgICpcbiAgICogTm90ZTogdGhpcyBwcmVmaXggaXMgdXNlZCB0byBkZXRlY3QgdGhlIGxhdGVzdCB0YWdnZWQgdmVyc2lvblxuICAgKiB3aGVuIGJ1bXBpbmcsIHNvIGlmIHlvdSBjaGFuZ2UgdGhpcyBvbiBhIHByb2plY3Qgd2l0aCBhbiBleGlzdGluZyB2ZXJzaW9uXG4gICAqIGhpc3RvcnksIHlvdSBtYXkgbmVlZCB0byBtYW51YWxseSB0YWcgeW91ciBsYXRlc3QgcmVsZWFzZVxuICAgKiB3aXRoIHRoZSBuZXcgcHJlZml4LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHByZWZpeFxuICAgKi9cbiAgcmVhZG9ubHkgdGFnUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbnBtIGRpc3RyaWJ1dGlvbiB0YWcgdG8gdXNlIGZvciB0aGlzIGJyYW5jaC5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgbnBtRGlzdFRhZz86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFJlbGVhc2VCcmFuY2ggZXh0ZW5kcyBQYXJ0aWFsPEJyYW5jaE9wdGlvbnM+IHtcbiAgcmVhZG9ubHkgd29ya2Zsb3c/OiBHaXRodWJXb3JrZmxvdztcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuIl19
@@ -116,5 +116,5 @@ class Renovatebot extends component_1.Component {
116
116
  }
117
117
  exports.Renovatebot = Renovatebot;
118
118
  _a = JSII_RTTI_SYMBOL_1;
119
- Renovatebot[_a] = { fqn: "projen.Renovatebot", version: "0.99.43" };
119
+ Renovatebot[_a] = { fqn: "projen.Renovatebot", version: "0.99.44" };
120
120
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVub3ZhdGVib3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVub3ZhdGVib3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBd0M7QUFDeEMsaURBQWdEO0FBR2hELGlDQUFrQztBQWtEbEM7Ozs7O0dBS0c7QUFDSCxJQUFZLDJCQXdDWDtBQXhDRCxXQUFZLDJCQUEyQjtJQUNyQzs7T0FFRztJQUNILHVEQUF3QixDQUFBO0lBRXhCOztPQUVHO0lBQ0gscUVBQXNDLENBQUE7SUFFdEM7O09BRUc7SUFDSCxtREFBb0IsQ0FBQTtJQUVwQjs7T0FFRztJQUNILDhEQUFzQixDQUFBO0lBRXRCOztPQUVHO0lBQ0gsbUZBQW9ELENBQUE7SUFFcEQ7O09BRUc7SUFDSCx5RkFBMEQsQ0FBQTtJQUUxRDs7T0FFRztJQUNILHlEQUEwQixDQUFBO0lBRTFCOztPQUVHO0lBQ0gseURBQTBCLENBQUE7QUFDNUIsQ0FBQyxFQXhDVywyQkFBMkIsMkNBQTNCLDJCQUEyQixRQXdDdEM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxXQUFZLFNBQVEscUJBQVM7SUFrQnhDLFlBQVksT0FBZ0IsRUFBRSxVQUE4QixFQUFFO1FBQzVELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLElBQUk7WUFDbEQsMkJBQTJCLENBQUMsUUFBUTtTQUNyQyxDQUFDO1FBQ0YsQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQztRQUVyQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7WUFDeEQsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUM3QyxTQUFTLEVBQUUsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLE1BQU0sY0FBYyxHQUFHO1lBQ3JCLEdBQUcsSUFBSSxHQUFHLENBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRztpQkFDbkIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssNkJBQWMsQ0FBQyxRQUFRLENBQUM7aUJBQ3BFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztpQkFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDaEM7U0FDRixDQUFDO1FBRUYsNERBQTREO1FBQzVELE1BQU0sTUFBTSxHQUFZLElBQUksQ0FBQyxRQUFnQixDQUFDLE1BQU0sQ0FBQztRQUNyRCxJQUFJLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1lBQzdCLE1BQU0sT0FBTyxHQUFhLE1BQU0sQ0FBQyxTQUFTO2lCQUN2QyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNuRCxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFFLEdBQVcsQ0FBQyxLQUFLLENBQUM7aUJBQ3BDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3hDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBYSxDQUFDO1lBRXBELE1BQU0saUJBQWlCLEdBQWEsTUFBTSxDQUFDLFNBQVM7aUJBQ2pELE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ25ELE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUUsR0FBa0MsQ0FBQyxJQUFJLENBQUM7aUJBQzFELEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU5RCxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN6QyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQy9CLE9BQU8sRUFBRTtnQkFDUCx1QkFBdUI7Z0JBQ3ZCLG9CQUFvQjtnQkFDcEIsbUJBQW1CO2dCQUNuQixtQkFBbUI7Z0JBQ25CLGlCQUFpQjthQUNsQjtZQUNELFlBQVksRUFBRTtnQkFDWjtvQkFDRSxhQUFhLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDbEMsZ0JBQWdCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO29CQUNwQyxTQUFTLEVBQUUsNkJBQTZCO2lCQUN6QzthQUNGO1lBQ0QsVUFBVSxFQUFFLGNBQWM7WUFDMUIsR0FBRyxJQUFJLENBQUMsY0FBYztTQUN2QixDQUFDO0lBQ0osQ0FBQzs7QUF0Rkgsa0NBdUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEZXBlbmRlbmN5VHlwZSB9IGZyb20gXCIuL2RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IHR5cGUgeyBHaXRIdWIgfSBmcm9tIFwiLi9naXRodWJcIjtcbmltcG9ydCB0eXBlIHsgSm9iLCBKb2JDYWxsaW5nUmV1c2FibGVXb3JrZmxvdyB9IGZyb20gXCIuL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IEpzb25GaWxlIH0gZnJvbSBcIi4vanNvblwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIFJlbm92YXRlYm90XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVub3ZhdGVib3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIEhvdyBvZnRlbiB0byBjaGVjayBmb3IgbmV3IHZlcnNpb25zIGFuZCByYWlzZSBwdWxsIHJlcXVlc3RzLlxuICAgKlxuICAgKiBDYW4gYmUgZ2l2ZW4gaW4gQ1JPTiBvciBMQVRFUiBmb3JtYXQsIGFuZCB1c2UgbXVsdGlwbGUgc2NoZWR1bGVzXG4gICAqIChlLmcuIGRpZmZlcmVudCBmb3Igd2Vla2RheXMgYW5kIHdlZWtlbmRzKS4gTXVsdGlwbGUgcnVsZXMgYXJlXG4gICAqIGhhbmRsZXMgYXMgT1IuXG4gICAqXG4gICAqIFNvbWUgbm9ybWFsIHNjaGVkdWxpbmcgdmFsdWVzIGRlZmluZWQgaW4gZW51bSBgUmVub3ZhdGVib3RTY2hlZHVsZUludGVydmFsYC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MucmVub3ZhdGVib3QuY29tL2NvbmZpZ3VyYXRpb24tb3B0aW9ucy8jc2NoZWR1bGVcbiAgICogQGRlZmF1bHQgW1wiYXQgYW55IHRpbWVcIl1cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVkdWxlSW50ZXJ2YWw/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogWW91IGNhbiB1c2UgdGhlIGBpZ25vcmVgIG9wdGlvbiB0byBjdXN0b21pemUgd2hpY2ggZGVwZW5kZW5jaWVzIGFyZSB1cGRhdGVkLlxuICAgKiBUaGUgaWdub3JlIG9wdGlvbiBzdXBwb3J0cyBqdXN0IHBhY2thZ2UgbmFtZS5cbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJZ25vcmVzIHVwZGF0ZXMgdG8gYHByb2plbmAuXG4gICAqXG4gICAqIFRoaXMgaXMgcmVxdWlyZWQgc2luY2UgcHJvamVuIHVwZGF0ZXMgbWF5IGNhdXNlIGNoYW5nZXMgaW4gY29tbWl0dGVkIGZpbGVzXG4gICAqIGFuZCBhbnRpLXRhbXBlciBjaGVja3Mgd2lsbCBmYWlsLlxuICAgKlxuICAgKiBQcm9qZW4gdXBncmFkZXMgYXJlIGNvdmVyZWQgdGhyb3VnaCB0aGUgYFByb2plblVwZ3JhZGVgIGNsYXNzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVQcm9qZW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGxhYmVscyB0byBhcHBseSB0byB0aGUgY3JlYXRlZCBQUidzLlxuICAgKi9cbiAgcmVhZG9ubHkgbGFiZWxzPzogc3RyaW5nW107XG5cbiAgcmVhZG9ubHkgb3ZlcnJpZGVDb25maWc/OiBhbnk7XG5cbiAgcmVhZG9ubHkgbWFya2VyPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBIb3cgb2Z0ZW4gdG8gY2hlY2sgZm9yIG5ldyB2ZXJzaW9ucyBhbmQgcmFpc2UgcHVsbCByZXF1ZXN0cyBmb3IgdmVyc2lvblxuICogdXBkYXRlcy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5yZW5vdmF0ZWJvdC5jb20vcHJlc2V0cy1zY2hlZHVsZS9cbiAqL1xuZXhwb3J0IGVudW0gUmVub3ZhdGVib3RTY2hlZHVsZUludGVydmFsIHtcbiAgLyoqXG4gICAqIFJ1biBhdCBhbnkgdGltZVxuICAgKi9cbiAgQU5ZX1RJTUUgPSBcImF0IGFueSB0aW1lXCIsXG5cbiAgLyoqXG4gICAqIFdlZWtseSBzY2hlZHVsZSBvbiBlYXJseSBtb25kYXkgbW9ybmluZ3NcbiAgICovXG4gIEVBUkxZX01PTkRBWVMgPSBcImJlZm9yZSAzYW0gb24gTW9uZGF5XCIsXG5cbiAgLyoqXG4gICAqIFNjaGVkdWxlIGRhaWx5XG4gICAqL1xuICBEQUlMWSA9IFwiYmVmb3JlIDJhbVwiLFxuXG4gIC8qKlxuICAgKiBTY2hlZHVsZSB3ZWVrbHlcbiAgICovXG4gIFdFRUtMWSA9IEVBUkxZX01PTkRBWVMsXG5cbiAgLyoqXG4gICAqIFNjaGVkdWxlIG1vbnRobHlcbiAgICovXG4gIE1PTlRITFkgPSBcImJlZm9yZSAzYW0gb24gdGhlIGZpcnN0IGRheSBvZiB0aGUgbW9udGhcIixcblxuICAvKipcbiAgICogU2NoZWR1bGUgcXVhcnRlcmx5XG4gICAqL1xuICBRVUFSVEVSTFkgPSBcImV2ZXJ5IDMgbW9udGhzIG9uIHRoZSBmaXJzdCBkYXkgb2YgdGhlIG1vbnRoXCIsXG5cbiAgLyoqXG4gICAqIFNjaGVkdWxlIGZvciB3ZWVrZW5kc1xuICAgKi9cbiAgV0VFS0VORFMgPSBcImV2ZXJ5IHdlZWtlbmRcIixcblxuICAvKipcbiAgICogU2NoZWR1bGUgZm9yIHdlZWtkYXlzXG4gICAqL1xuICBXRUVLREFZUyA9IFwiZXZlcnkgd2Vla2RheVwiLFxufVxuXG4vKipcbiAqIERlZmluZXMgcmVub3ZhdGVib3QgY29uZmlndXJhdGlvbiBmb3IgcHJvamVuIHByb2plY3QuXG4gKlxuICogSWdub3JlcyB0aGUgdmVyc2lvbnMgY29udHJvbGxlZCBieSBQcm9qZW4uXG4gKi9cbmV4cG9ydCBjbGFzcyBSZW5vdmF0ZWJvdCBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSBob2xkaW5nIHRoZSByZW5vdmF0ZWJvdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZTogSnNvbkZpbGU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcHJvamVjdDogUHJvamVjdDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGV4cGxpY2l0SWdub3Jlczogc3RyaW5nW107XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzY2hlZHVsZUludGVydmFsOiBzdHJpbmdbXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGxhYmVscz86IHN0cmluZ1tdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFya2VyPzogYm9vbGVhbjtcblxuICBwcml2YXRlIHJlYWRvbmx5IG92ZXJyaWRlQ29uZmlnPzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IFJlbm92YXRlYm90T3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICB0aGlzLl9wcm9qZWN0ID0gcHJvamVjdDtcbiAgICB0aGlzLmV4cGxpY2l0SWdub3JlcyA9IG9wdGlvbnMuaWdub3JlID8/IFtdO1xuICAgIHRoaXMubGFiZWxzID0gb3B0aW9ucy5sYWJlbHM7XG4gICAgdGhpcy5zY2hlZHVsZUludGVydmFsID0gb3B0aW9ucy5zY2hlZHVsZUludGVydmFsID8/IFtcbiAgICAgIFJlbm92YXRlYm90U2NoZWR1bGVJbnRlcnZhbC5BTllfVElNRSxcbiAgICBdO1xuICAgIChvcHRpb25zLmlnbm9yZVByb2plbiA/PyB0cnVlKSAmJiB0aGlzLmV4cGxpY2l0SWdub3Jlcy5wdXNoKFwicHJvamVuXCIpO1xuICAgIHRoaXMub3ZlcnJpZGVDb25maWcgPSBvcHRpb25zLm92ZXJyaWRlQ29uZmlnID8/IHt9O1xuICAgIHRoaXMubWFya2VyID0gb3B0aW9ucy5tYXJrZXIgPz8gdHJ1ZTtcblxuICAgIHRoaXMuZmlsZSA9IG5ldyBKc29uRmlsZSh0aGlzLl9wcm9qZWN0LCBcInJlbm92YXRlLmpzb241XCIsIHtcbiAgICAgIG9iajogKCkgPT4gdGhpcy5jcmVhdGVSZW5vdmF0ZUNvbmZpZ3VyYXRpb24oKSxcbiAgICAgIGNvbW1pdHRlZDogdHJ1ZSxcbiAgICAgIG1hcmtlcjogdGhpcy5tYXJrZXIsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlbm92YXRlQ29uZmlndXJhdGlvbigpIHtcbiAgICBjb25zdCByZW5vdmF0ZUlnbm9yZSA9IFtcbiAgICAgIC4uLm5ldyBTZXQoXG4gICAgICAgIHRoaXMuX3Byb2plY3QuZGVwcy5hbGxcbiAgICAgICAgICAuZmlsdGVyKChkZXApID0+IGRlcC52ZXJzaW9uIHx8IGRlcC50eXBlID09PSBEZXBlbmRlbmN5VHlwZS5PVkVSUklERSlcbiAgICAgICAgICAubWFwKChkZXApID0+IGRlcC5uYW1lKVxuICAgICAgICAgIC5jb25jYXQodGhpcy5leHBsaWNpdElnbm9yZXMpLFxuICAgICAgKSxcbiAgICBdO1xuXG4gICAgLy8gSWdub3JlIEdpdEh1YiBBY3Rpb24gdXBkYXRlcyBpbiBQcm9qZW4gY3JlYXRlZCB3b3Jrc3BhY2VzXG4gICAgY29uc3QgZ2l0aHViOiBHaXRIdWIgPSAodGhpcy5fcHJvamVjdCBhcyBhbnkpLmdpdGh1YjtcbiAgICBpZiAoZ2l0aHViPy53b3JrZmxvd3NFbmFibGVkKSB7XG4gICAgICBjb25zdCBhY3Rpb25zOiBzdHJpbmdbXSA9IGdpdGh1Yi53b3JrZmxvd3NcbiAgICAgICAgLmZsYXRNYXAoKHdvcmtmbG93KSA9PiBPYmplY3QudmFsdWVzKHdvcmtmbG93LmpvYnMpKVxuICAgICAgICAuZmxhdE1hcCgoam9iKSA9PiAoam9iIGFzIEpvYikuc3RlcHMpXG4gICAgICAgIC5tYXAoKHN0ZXApID0+IHN0ZXA/LnVzZXM/LnNwbGl0KFwiQFwiKVswXSlcbiAgICAgICAgLmZpbHRlcigoYWN0aW9uTmFtZSkgPT4gISFhY3Rpb25OYW1lKSBhcyBzdHJpbmdbXTtcblxuICAgICAgY29uc3QgcmV1c2FibGVXb3JrZmxvd3M6IHN0cmluZ1tdID0gZ2l0aHViLndvcmtmbG93c1xuICAgICAgICAuZmxhdE1hcCgod29ya2Zsb3cpID0+IE9iamVjdC52YWx1ZXMod29ya2Zsb3cuam9icykpXG4gICAgICAgIC5mbGF0TWFwKChqb2IpID0+IChqb2IgYXMgSm9iQ2FsbGluZ1JldXNhYmxlV29ya2Zsb3cpLnVzZXMpXG4gICAgICAgIC5tYXAoKHJldXNhYmxlV29ya2Zsb3cpID0+IHJldXNhYmxlV29ya2Zsb3c/LnNwbGl0KFwiQFwiKVswXSk7XG5cbiAgICAgIHJlbm92YXRlSWdub3JlLnB1c2goLi4ubmV3IFNldChhY3Rpb25zKSk7XG4gICAgICByZW5vdmF0ZUlnbm9yZS5wdXNoKC4uLm5ldyBTZXQocmV1c2FibGVXb3JrZmxvd3MpKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWxzOiB0aGlzLmxhYmVscyxcbiAgICAgIHNjaGVkdWxlOiB0aGlzLnNjaGVkdWxlSW50ZXJ2YWwsXG4gICAgICBleHRlbmRzOiBbXG4gICAgICAgIFwiOnByZXNlcnZlU2VtdmVyUmFuZ2VzXCIsXG4gICAgICAgIFwiY29uZmlnOnJlY29tbWVuZGVkXCIsXG4gICAgICAgIFwiZ3JvdXA6YWxsTm9uTWFqb3JcIixcbiAgICAgICAgXCJncm91cDpyZWNvbW1lbmRlZFwiLFxuICAgICAgICBcImdyb3VwOm1vbm9yZXBvc1wiLFxuICAgICAgXSxcbiAgICAgIHBhY2thZ2VSdWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbWF0Y2hEZXBUeXBlczogW1wiZGV2RGVwZW5kZW5jaWVzXCJdLFxuICAgICAgICAgIG1hdGNoVXBkYXRlVHlwZXM6IFtcInBhdGNoXCIsIFwibWlub3JcIl0sXG4gICAgICAgICAgZ3JvdXBOYW1lOiBcImRldkRlcGVuZGVuY2llcyAobm9uLW1ham9yKVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGlnbm9yZURlcHM6IHJlbm92YXRlSWdub3JlLFxuICAgICAgLi4udGhpcy5vdmVycmlkZUNvbmZpZyxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -58,7 +58,7 @@ class SampleFile extends component_1.Component {
58
58
  }
59
59
  exports.SampleFile = SampleFile;
60
60
  _a = JSII_RTTI_SYMBOL_1;
61
- SampleFile[_a] = { fqn: "projen.SampleFile", version: "0.99.43" };
61
+ SampleFile[_a] = { fqn: "projen.SampleFile", version: "0.99.44" };
62
62
  /**
63
63
  * Renders the given files into the directory if the directory does not exist. Use this to create sample code files
64
64
  */
@@ -107,5 +107,5 @@ class SampleDir extends component_1.Component {
107
107
  }
108
108
  exports.SampleDir = SampleDir;
109
109
  _b = JSII_RTTI_SYMBOL_1;
110
- SampleDir[_b] = { fqn: "projen.SampleDir", version: "0.99.43" };
110
+ SampleDir[_b] = { fqn: "projen.SampleDir", version: "0.99.44" };
111
111
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtcGxlLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2FtcGxlLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLGtDQUFrQztBQUNsQywyQ0FBd0M7QUFFeEMsaUNBQXVEO0FBeUJ2RDs7O0dBR0c7QUFDSCxNQUFhLFVBQVcsU0FBUSxxQkFBUztJQUl2Qzs7Ozs7T0FLRztJQUNILFlBQVksT0FBZ0IsRUFBRSxRQUFnQixFQUFFLE9BQTBCO1FBQ3hFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxRQUFRLENBQUM7UUFDYixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUIsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ25DLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbkMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUN4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QUUsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQzs7QUF0REgsOEJBdURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBnbG9iIGZyb20gXCJmYXN0LWdsb2JcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuaW1wb3J0IHsgZ2V0RmlsZVBlcm1pc3Npb25zLCB3cml0ZUZpbGUgfSBmcm9tIFwiLi91dGlsXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIFNhbXBsZUZpbGUgb2JqZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbXBsZUZpbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50cyBvZiB0aGUgZmlsZSB0byB3cml0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBYnNvbHV0ZSBwYXRoIHRvIGEgZmlsZSB0byBjb3B5IHRoZSBjb250ZW50cyBmcm9tIChkb2VzIG5vdCBuZWVkIHRvIGJlXG4gICAqIGEgdGV4dCBmaWxlKS5cbiAgICpcbiAgICogSWYgeW91ciBwcm9qZWN0IGlzIFR5cGVzY3JpcHQtYmFzZWQgYW5kIGhhcyBjb25maWd1cmVkIGB0ZXN0ZGlyYCB0byBiZSBhXG4gICAqIHN1YmRpcmVjdG9yeSBvZiBgc3JjYCwgc2FtcGxlIGZpbGVzIHNob3VsZCBvdXRzaWRlIG9mIHRoZSBgc3JjYCBkaXJlY3RvcnksXG4gICAqIG90aGVyd2lzZSB0aGV5IG1heSBub3QgYmUgY29waWVkLiBGb3IgZXhhbXBsZTpcbiAgICogYGBgXG4gICAqIG5ldyBTYW1wbGVGaWxlKHRoaXMsICdhc3NldHMvaWNvbi5wbmcnLCB7IHNvdXJjZVBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICdzYW1wbGUtYXNzZXRzJywgJ2ljb24ucG5nJykgfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlUGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9kdWNlcyBhIGZpbGUgd2l0aCB0aGUgZ2l2ZW4gY29udGVudHMgYnV0IG9ubHkgb25jZSwgaWYgdGhlIGZpbGUgZG9lc24ndCBhbHJlYWR5IGV4aXN0LlxuICogVXNlIHRoaXMgZm9yIGNyZWF0aW5nIGV4YW1wbGUgY29kZSBmaWxlcyBvciBvdGhlciByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYW1wbGVGaWxlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWxlUGF0aDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFNhbXBsZUZpbGVPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFNhbXBsZUZpbGUgb2JqZWN0XG4gICAqIEBwYXJhbSBwcm9qZWN0IC0gdGhlIHByb2plY3QgdG8gdGllIHRoaXMgZmlsZSB0by5cbiAgICogQHBhcmFtIGZpbGVQYXRoIC0gdGhlIHJlbGF0aXZlIHBhdGggaW4gdGhlIHByb2plY3QgdG8gcHV0IHRoZSBmaWxlXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gdGhlIG9wdGlvbnMgZm9yIHRoZSBmaWxlLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgZmlsZVBhdGg6IHN0cmluZywgb3B0aW9uczogU2FtcGxlRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIGlmIChvcHRpb25zLmNvbnRlbnRzICYmIG9wdGlvbnMuc291cmNlUGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IHNwZWNpZnkgYm90aCAnY29udGVudHMnIGFuZCAnc291cmNlJyBmaWVsZHMuXCIpO1xuICAgIH1cbiAgICBpZiAoIW9wdGlvbnMuY29udGVudHMgJiYgIW9wdGlvbnMuc291cmNlUGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTXVzdCBzcGVjaWZ5IGF0IGxlYXN0IG9uZSBvZiAnY29udGVudHMnIG9yICdzb3VyY2UnLlwiKTtcbiAgICB9XG4gICAgdGhpcy5maWxlUGF0aCA9IGZpbGVQYXRoO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgc3ludGhlc2l6ZSgpIHtcbiAgICBsZXQgY29udGVudHM7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5jb250ZW50cykge1xuICAgICAgY29udGVudHMgPSB0aGlzLm9wdGlvbnMuY29udGVudHM7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMuc291cmNlUGF0aCkge1xuICAgICAgY29udGVudHMgPSBmcy5yZWFkRmlsZVN5bmModGhpcy5vcHRpb25zLnNvdXJjZVBhdGgpO1xuICAgIH1cbiAgICB0aGlzLndyaXRlT25jZUZpbGVDb250ZW50cyhcbiAgICAgIHRoaXMucHJvamVjdC5vdXRkaXIsXG4gICAgICB0aGlzLmZpbGVQYXRoLFxuICAgICAgY29udGVudHMgPz8gXCJcIixcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgaGVscGVyIGZ1bmN0aW9uIHRoYXQgd2lsbCB3cml0ZSB0aGUgZmlsZSBvbmNlIGFuZCByZXR1cm4gaWYgaXQgd2FzIHdyaXR0ZW4gb3Igbm90LlxuICAgKiBAcGFyYW0gZGlyIC0gdGhlIGRpcmVjdG9yeSBmb3IgdGhlIG5ldyBmaWxlXG4gICAqIEBwYXJhbSBmaWxlbmFtZSAtIHRoZSBmaWxlbmFtZSBmb3IgdGhlIG5ldyBmaWxlXG4gICAqIEBwYXJhbSBjb250ZW50cyAtIHRoZSBjb250ZW50cyBvZiB0aGUgZmlsZSB0byB3cml0ZVxuICAgKiBAcmV0dXJuIGJvb2xlYW4gLSB3aGV0aGVyIGEgbmV3IGZpbGUgd2FzIHdyaXR0ZW4gb3Igbm90LlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSB3cml0ZU9uY2VGaWxlQ29udGVudHMoZGlyOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcsIGNvbnRlbnRzOiBhbnkpIHtcbiAgICBjb25zdCBmdWxsRmlsZW5hbWUgPSBwYXRoLmpvaW4oZGlyLCBmaWxlbmFtZSk7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoZnVsbEZpbGVuYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB3cml0ZUZpbGUoZnVsbEZpbGVuYW1lLCBjb250ZW50cywgeyByZWFkb25seTogZmFsc2UgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBTYW1wbGVEaXIgb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbXBsZURpck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGZpbGVzIHRvIHJlbmRlciBpbnRvIHRoZSBkaXJlY3RvcnkuIFRoZXNlIGZpbGVzIGdldCBhZGRlZCBhZnRlclxuICAgKiBhbnkgZmlsZXMgZnJvbSBgc291cmNlYCBpZiB0aGF0IG9wdGlvbiBpcyBzcGVjaWZpZWQgKHJlcGxhY2luZyBpZiBuYW1lc1xuICAgKiBvdmVybGFwKS5cbiAgICovXG4gIHJlYWRvbmx5IGZpbGVzPzogeyBbZmlsZU5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBBYnNvbHV0ZSBwYXRoIHRvIGEgZGlyZWN0b3J5IHRvIGNvcHkgZmlsZXMgZnJvbSAoZG9lcyBub3QgbmVlZCB0byBiZSB0ZXh0XG4gICAqIGZpbGVzKS5cbiAgICpcbiAgICogSWYgeW91ciBwcm9qZWN0IGlzIHR5cGVzY3JpcHQtYmFzZWQgYW5kIGhhcyBjb25maWd1cmVkIGB0ZXN0ZGlyYCB0byBiZSBhXG4gICAqIHN1YmRpcmVjdG9yeSBvZiBgc3JjYCwgc2FtcGxlIGZpbGVzIHNob3VsZCBvdXRzaWRlIG9mIHRoZSBgc3JjYCBkaXJlY3RvcnlcbiAgICogb3RoZXJ3aXNlIHRoZXkgbWF5IG5vdCBiZSBjb3BpZWQuIEZvciBleGFtcGxlOlxuICAgKiBgYGBcbiAgICogbmV3IFNhbXBsZURpcih0aGlzLCAncHVibGljJywgeyBzb3VyY2U6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICdzYW1wbGUtYXNzZXRzJykgfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlRGlyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgdGhlIGdpdmVuIGZpbGVzIGludG8gdGhlIGRpcmVjdG9yeSBpZiB0aGUgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LiBVc2UgdGhpcyB0byBjcmVhdGUgc2FtcGxlIGNvZGUgZmlsZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFNhbXBsZURpciBleHRlbmRzIENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGlyOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogU2FtcGxlRGlyT3B0aW9ucztcblxuICAvKipcbiAgICogQ3JlYXRlIHNhbXBsZSBmaWxlcyBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5IGlmIHRoZSBnaXZlbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3RcbiAgICogQHBhcmFtIHByb2plY3QgUGFyZW50IHByb2plY3QgdG8gYWRkIGZpbGVzIHRvLlxuICAgKiBAcGFyYW0gZGlyIGRpcmVjdG9yeSB0byBhZGQgZmlsZXMgdG8uIElmIGRpcmVjdG9yeSBhbHJlYWR5IGV4aXN0cywgbm90aGluZyBpcyBhZGRlZC5cbiAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucyBmb3Igd2hpY2ggZmlsZXMgdG8gY3JlYXRlLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgZGlyOiBzdHJpbmcsIG9wdGlvbnM6IFNhbXBsZURpck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgICBpZiAoIW9wdGlvbnMuZmlsZXMgJiYgIW9wdGlvbnMuc291cmNlRGlyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNdXN0IHNwZWNpZnkgYXQgbGVhc3Qgb25lIG9mICdmaWxlcycgb3IgJ3NvdXJjZScuXCIpO1xuICAgIH1cblxuICAgIHRoaXMuZGlyID0gZGlyO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgc3ludGhlc2l6ZSgpIHtcbiAgICBjb25zdCBmdWxsT3V0ZGlyID0gcGF0aC5qb2luKHRoaXMucHJvamVjdC5vdXRkaXIsIHRoaXMuZGlyKTtcbiAgICBpZiAoZnMuZXhpc3RzU3luYyhmdWxsT3V0ZGlyKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHByZXZpb3VzbHkgY3JlYXRpbmcgdGhlIGRpcmVjdG9yeSB0byBhbGxvdyBlbXB0eSBkaXJzIHRvIGJlIGNyZWF0ZWRcbiAgICBmcy5ta2RpclN5bmMoZnVsbE91dGRpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnNvdXJjZURpcikge1xuICAgICAgY29uc3QgYmFzZWRpciA9IHRoaXMub3B0aW9ucy5zb3VyY2VEaXI7XG4gICAgICBjb25zdCBmaWxlcyA9IGdsb2Iuc3luYyhcIioqXCIsIHtcbiAgICAgICAgY3dkOiBiYXNlZGlyLFxuICAgICAgICBvbmx5RmlsZXM6IHRydWUsXG4gICAgICAgIGZvbGxvd1N5bWJvbGljTGlua3M6IGZhbHNlLFxuICAgICAgICBkb3Q6IHRydWUsXG4gICAgICB9KTsgLy8gcmV0dXJucyByZWxhdGl2ZSBmaWxlIHBhdGhzIHdpdGggUE9TSVggc2VwYXJhdG9yc1xuXG4gICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgY29uc3Qgc291cmNlUGF0aCA9IHBhdGguam9pbihiYXNlZGlyLCBmaWxlKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0UGF0aCA9IHBhdGguam9pbihmdWxsT3V0ZGlyLCBmaWxlKTtcblxuICAgICAgICBmcy5ta2RpclN5bmMocGF0aC5kaXJuYW1lKHRhcmdldFBhdGgpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgZnMuY29weUZpbGVTeW5jKHNvdXJjZVBhdGgsIHRhcmdldFBhdGgpO1xuICAgICAgICBmcy5jaG1vZFN5bmMoXG4gICAgICAgICAgdGFyZ2V0UGF0aCxcbiAgICAgICAgICBnZXRGaWxlUGVybWlzc2lvbnMoeyByZWFkb25seTogZmFsc2UsIGV4ZWN1dGFibGU6IGZhbHNlIH0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgZmlsZW5hbWUgaW4gdGhpcy5vcHRpb25zLmZpbGVzKSB7XG4gICAgICB3cml0ZUZpbGUocGF0aC5qb2luKGZ1bGxPdXRkaXIsIGZpbGVuYW1lKSwgdGhpcy5vcHRpb25zLmZpbGVzW2ZpbGVuYW1lXSk7XG4gICAgfVxuICB9XG59XG4iXX0=
package/lib/semver.js CHANGED
@@ -52,5 +52,5 @@ class Semver {
52
52
  }
53
53
  exports.Semver = Semver;
54
54
  _a = JSII_RTTI_SYMBOL_1;
55
- Semver[_a] = { fqn: "projen.Semver", version: "0.99.43" };
55
+ Semver[_a] = { fqn: "projen.Semver", version: "0.99.44" };
56
56
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlbXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUVqQzs7OztHQUlHO0FBQ0gsTUFBYSxNQUFNO0lBQ1YsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFZO1FBQzNCLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU07UUFDbEIsT0FBTyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQWU7UUFDbEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQWU7UUFDakMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFlO1FBQ2pDLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFJRCxZQUFvQyxJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtJQUFHLENBQUM7SUFFcEQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQy9DLENBQUM7O0FBN0NILHdCQThDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhpcyBjbGFzcyB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgcmVsZWFzZXMuIGlmIHlvdSB3aXNoIHRvXG4gKiBzcGVjaWZ5IHNlbXZlciByZXF1aXJlbWVudHMgaW4gYGRlcHNgLCBgZGV2RGVwc2AsIGV0Yywgc3BlY2lmeSB0aGVtIGxpa2Ugc29cbiAqIGBleHByZXNzQF4yLjFgLlxuICovXG5leHBvcnQgY2xhc3MgU2VtdmVyIHtcbiAgcHVibGljIHN0YXRpYyBvZihzcGVjOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IFNlbXZlcihzcGVjKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMYXRlc3QgdmVyc2lvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbGF0ZXN0KCkge1xuICAgIHJldHVybiBuZXcgU2VtdmVyKFwiKlwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY2NlcHQgb25seSBhbiBleGFjdCB2ZXJzaW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBpbm5lZCh2ZXJzaW9uOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IFNlbXZlcih2ZXJzaW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY2NlcHQgYW55IG1pbm9yIHZlcnNpb24uXG4gICAqXG4gICAqID49IHZlcnNpb25cbiAgICogPCBuZXh0IG1ham9yIHZlcnNpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2FyZXQodmVyc2lvbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBTZW12ZXIoYF4ke3ZlcnNpb259YCk7XG4gIH1cblxuICAvKipcbiAgICogQWNjZXB0IHBhdGNoZXMuXG4gICAqXG4gICAqID49IHZlcnNpb25cbiAgICogPCBuZXh0IG1pbm9yIHZlcnNpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdGlsZGUodmVyc2lvbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBTZW12ZXIoYH4ke3ZlcnNpb259YCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgbW9kZT86IHN0cmluZztcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBzcGVjOiBzdHJpbmcpIHt9XG5cbiAgcHVibGljIGdldCB2ZXJzaW9uKCkge1xuICAgIHJldHVybiBzZW12ZXIubWluVmVyc2lvbih0aGlzLnNwZWMpPy52ZXJzaW9uO1xuICB9XG59XG4iXX0=
@@ -59,5 +59,5 @@ class SourceCode extends component_1.Component {
59
59
  }
60
60
  exports.SourceCode = SourceCode;
61
61
  _a = JSII_RTTI_SYMBOL_1;
62
- SourceCode[_a] = { fqn: "projen.SourceCode", version: "0.99.43" };
62
+ SourceCode[_a] = { fqn: "projen.SourceCode", version: "0.99.44" };
63
63
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc291cmNlLWNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBd0M7QUFFeEMseUNBQXNDO0FBMkJ0Qzs7R0FFRztBQUNILE1BQWEsVUFBVyxTQUFRLHFCQUFTO0lBS3ZDLFlBQ0UsT0FBZ0IsRUFDQSxRQUFnQixFQUNoQyxVQUE2QixFQUFFO1FBRS9CLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUhDLGFBQVEsR0FBUixRQUFRLENBQVE7UUFMMUIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFTdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksbUJBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFO1lBQzFDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUk7WUFDbEMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxJQUFJLENBQUMsSUFBYTtRQUN2QixNQUFNLE1BQU0sR0FBVyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxJQUFJLENBQUMsSUFBYTtRQUN2QixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLElBQWE7UUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRW5CLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDOztBQTNESCxnQ0E0REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmltcG9ydCB7IFRleHRGaWxlIH0gZnJvbSBcIi4vdGV4dGZpbGVcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgU291cmNlQ29kZUZpbGVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNvdXJjZUNvZGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEluZGVudGF0aW9uIHNpemUuXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIHJlYWRvbmx5IGluZGVudD86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZ2VuZXJhdGVkIGZpbGUgc2hvdWxkIGJlIHJlYWRvbmx5LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSByZWFkb25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGdlbmVyYXRlZCBmaWxlIHNob3VsZCBiZSBtYXJrZWQgYXMgZXhlY3V0YWJsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGV4ZWN1dGFibGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzb3VyY2UgZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvdXJjZUNvZGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbGU6IFRleHRGaWxlO1xuICBwcml2YXRlIGluZGVudExldmVsID0gMDtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmRlbnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIHB1YmxpYyByZWFkb25seSBmaWxlUGF0aDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFNvdXJjZUNvZGVPcHRpb25zID0ge30sXG4gICkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuICAgIHRoaXMuaW5kZW50ID0gb3B0aW9ucy5pbmRlbnQgPz8gMjtcbiAgICB0aGlzLmZpbGUgPSBuZXcgVGV4dEZpbGUocHJvamVjdCwgZmlsZVBhdGgsIHtcbiAgICAgIHJlYWRvbmx5OiBvcHRpb25zLnJlYWRvbmx5ID8/IHRydWUsXG4gICAgICBleGVjdXRhYmxlOiBvcHRpb25zLmV4ZWN1dGFibGUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1hcmtlcigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZpbGUubWFya2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgYSBsaW5lIG9mIGNvZGUuXG4gICAqIEBwYXJhbSBjb2RlIFRoZSBjb250ZW50cywgaWYgbm90IHNwZWNpZmllZCwganVzdCBhZGRzIGEgbmV3bGluZVxuICAgKi9cbiAgcHVibGljIGxpbmUoY29kZT86IHN0cmluZykge1xuICAgIGNvbnN0IHNwYWNlczogbnVtYmVyID0gdGhpcy5pbmRlbnQgKiB0aGlzLmluZGVudExldmVsO1xuICAgIGNvbnN0IHByZWZpeCA9IFwiIFwiLnJlcGVhdChzcGFjZXMpO1xuICAgIHRoaXMuZmlsZS5hZGRMaW5lKChwcmVmaXggKyAoY29kZSA/PyBcIlwiKSkudHJpbUVuZCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIGNvZGUgYmxvY2sgYW5kIGluY3JlYXNlcyB0aGUgaW5kZW50YXRpb24gbGV2ZWwuXG4gICAqXG4gICAqIEBwYXJhbSBjb2RlIFRoZSBjb2RlIGJlZm9yZSB0aGUgYmxvY2sgc3RhcnRzIChlLmcuIGBleHBvcnQgY2xhc3Mge2ApLlxuICAgKi9cbiAgcHVibGljIG9wZW4oY29kZT86IHN0cmluZykge1xuICAgIGlmIChjb2RlKSB7XG4gICAgICB0aGlzLmxpbmUoY29kZSk7XG4gICAgfVxuXG4gICAgdGhpcy5pbmRlbnRMZXZlbCsrO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY3JlYXNlcyB0aGUgaW5kZW50YXRpb24gbGV2ZWwgYW5kIGNsb3NlcyBhIGNvZGUgYmxvY2suXG4gICAqXG4gICAqIEBwYXJhbSBjb2RlIFRoZSBjb2RlIGFmdGVyIHRoZSBibG9jayBpcyBjbG9zZWQgKGUuZy4gYH1gKS5cbiAgICovXG4gIHB1YmxpYyBjbG9zZShjb2RlPzogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaW5kZW50TGV2ZWwgPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZWNyZWFzZSBpbmRlbnQgbGV2ZWwgYmVsb3cgemVyb1wiKTtcbiAgICB9XG4gICAgdGhpcy5pbmRlbnRMZXZlbC0tO1xuXG4gICAgaWYgKGNvZGUpIHtcbiAgICAgIHRoaXMubGluZShjb2RlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -58,7 +58,7 @@ class TaskRuntime {
58
58
  }
59
59
  exports.TaskRuntime = TaskRuntime;
60
60
  _a = JSII_RTTI_SYMBOL_1;
61
- TaskRuntime[_a] = { fqn: "projen.TaskRuntime", version: "0.99.43" };
61
+ TaskRuntime[_a] = { fqn: "projen.TaskRuntime", version: "0.99.44" };
62
62
  /**
63
63
  * The project-relative path of the tasks manifest file.
64
64
  */
package/lib/task.js CHANGED
@@ -330,5 +330,5 @@ class Task {
330
330
  }
331
331
  exports.Task = Task;
332
332
  _a = JSII_RTTI_SYMBOL_1;
333
- Task[_a] = { fqn: "projen.Task", version: "0.99.43" };
333
+ Task[_a] = { fqn: "projen.Task", version: "0.99.44" };
334
334
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUNBQWlDO0FBcUNqQzs7O0dBR0c7QUFDSCxNQUFhLElBQUk7SUFlZixZQUFZLElBQVksRUFBRSxRQUFxQixFQUFFO1FBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFFNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFFckMsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJO1FBQ1QsSUFBSSxDQUFDLE9BQU8s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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd2FybiB9IGZyb20gXCIuL2xvZ2dpbmdcIjtcbmltcG9ydCB0eXBlIHtcbiAgVGFza0NvbW1vbk9wdGlvbnMsXG4gIFRhc2tTcGVjLFxuICBUYXNrU3RlcCxcbiAgVGFza1N0ZXBPcHRpb25zLFxufSBmcm9tIFwiLi90YXNrLW1vZGVsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFza09wdGlvbnMgZXh0ZW5kcyBUYXNrQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTaGVsbCBjb21tYW5kIHRvIGV4ZWN1dGUgYXMgdGhlIGZpcnN0IGNvbW1hbmQgb2YgdGhlIHRhc2suXG4gICAqIEBkZWZhdWx0IC0gYWRkIHN0ZXBzIHVzaW5nIGB0YXNrLmV4ZWMoY29tbWFuZClgIG9yIGB0YXNrLnNwYXduKHN1YnRhc2spYFxuICAgKi9cbiAgcmVhZG9ubHkgZXhlYz86IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiB0YXNrIHN0ZXBzIHRvIHJ1bi5cbiAgICovXG4gIHJlYWRvbmx5IHN0ZXBzPzogVGFza1N0ZXBbXTtcblxuICAvKipcbiAgICogU2hvdWxkIHRoZSBwcm92aWRlZCBgZXhlY2Agc2hlbGwgY29tbWFuZCByZWNlaXZlIGFyZ3MgcGFzc2VkIHRvIHRoZSB0YXNrLlxuICAgKiBAc2VlIHtAbGluayBUYXNrU3RlcE9wdGlvbnMucmVjZWl2ZUFyZ3N9XG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByZWNlaXZlQXJncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNob3VsZCB0aGUgcHJvdmlkZWQgYGV4ZWNgIHNoZWxsIGNvbW1hbmQgcmVjZWl2ZSBmaXhlZCBhcmdzLlxuICAgKiBAc2VlIHtAbGluayBUYXNrU3RlcE9wdGlvbnMuYXJnc31cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgc3RlcFxuICAgKi9cbiAgcmVhZG9ubHkgYXJncz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEEgdGFzayB0aGF0IGNhbiBiZSBwZXJmb3JtZWQgb24gdGhlIHByb2plY3QuIE1vZGVsZWQgYXMgYSBzZXJpZXMgb2Ygc2hlbGxcbiAqIGNvbW1hbmRzIGFuZCBzdWJ0YXNrcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFRhc2sge1xuICAvKipcbiAgICogVGFzayBuYW1lLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25kaXRpb25zOiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RlcHM6IFRhc2tTdGVwW107XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VudjogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHByaXZhdGUgX2N3ZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlcXVpcmVkRW52Pzogc3RyaW5nW107XG4gIHByaXZhdGUgX2xvY2tlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBwcm9wczogVGFza09wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5fZGVzY3JpcHRpb24gPSBwcm9wcy5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLl9jb25kaXRpb25zID0gcHJvcHMuY29uZGl0aW9uID8gW3Byb3BzLmNvbmRpdGlvbl0gOiBbXTtcbiAgICB0aGlzLl9jd2QgPSBwcm9wcy5jd2Q7XG4gICAgdGhpcy5fbG9ja2VkID0gZmFsc2U7XG4gICAgdGhpcy5fZW52ID0gcHJvcHMuZW52ID8/IHt9O1xuXG4gICAgdGhpcy5fc3RlcHMgPSBwcm9wcy5zdGVwcyA/PyBbXTtcbiAgICB0aGlzLnJlcXVpcmVkRW52ID0gcHJvcHMucmVxdWlyZWRFbnY7XG5cbiAgICBpZiAocHJvcHMuZXhlYyAmJiBwcm9wcy5zdGVwcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiY2Fubm90IHNwZWNpZnkgYm90aCBleGVjIGFuZCBzdGVwc1wiKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZXhlYykge1xuICAgICAgdGhpcy5leGVjKHByb3BzLmV4ZWMsIHsgcmVjZWl2ZUFyZ3M6IHByb3BzLnJlY2VpdmVBcmdzIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JiaWQgYWRkaXRpb25hbCBjaGFuZ2VzIHRvIHRoaXMgdGFzay5cbiAgICovXG4gIHB1YmxpYyBsb2NrKCkge1xuICAgIHRoaXMuX2xvY2tlZCA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgd29ya2luZyBkaXJlY3RvcnkgZm9yIHRoaXMgdGFzay5cbiAgICovXG4gIHB1YmxpYyBnZXQgY3dkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2N3ZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBmb3IgdGhpcyB0YXNrLlxuICAgKi9cbiAgcHVibGljIHNldCBjd2QoY3dkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9jd2QgPSBjd2Q7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGVzY3JpcHRpb24gb2YgdGhpcyB0YXNrLlxuICAgKi9cbiAgcHVibGljIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9kZXNjcmlwdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIHRhc2suXG4gICAqL1xuICBwdWJsaWMgc2V0IGRlc2NyaXB0aW9uKGRlc2M6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gZGVzYztcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGNvbW1hbmQgdG8gZXhlY3V0ZSB3aGljaCBkZXRlcm1pbmVzIGlmIHRoZSB0YXNrIHNob3VsZCBiZSBza2lwcGVkLiBJZiBpdFxuICAgKiByZXR1cm5zIGEgemVybyBleGl0IGNvZGUsIHRoZSB0YXNrIHdpbGwgbm90IGJlIGV4ZWN1dGVkLlxuICAgKi9cbiAgcHVibGljIGdldCBjb25kaXRpb24oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5fY29uZGl0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZGl0aW9ucy5qb2luKFwiICYmIFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBjb21tYW5kIHRvIGV4ZWN1dGUgd2hpY2ggZGV0ZXJtaW5lcyBpZiB0aGUgdGFzayBzaG91bGQgYmUgc2tpcHBlZC5cbiAgICpcbiAgICogSWYgYSBjb25kaXRpb24gYWxyZWFkeSBleGlzdHMsIHRoZSBuZXcgY29uZGl0aW9uIHdpbGwgYmUgYXBwZW5kZWQgd2l0aCBgICYmIGAgZGVsaW1pdGVyLlxuICAgKiBAcGFyYW0gY29uZGl0aW9uIFRoZSBjb21tYW5kIHRvIGV4ZWN1dGUuXG4gICAqIEBzZWUge0BsaW5rIFRhc2suY29uZGl0aW9ufVxuICAgKi9cbiAgcHVibGljIGFkZENvbmRpdGlvbiguLi5jb25kaXRpb246IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5fY29uZGl0aW9ucy5wdXNoKC4uLmNvbmRpdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgdGhlIHRhc2sgc28gaXQgbm8gbG9uZ2VyIGhhcyBhbnkgY29tbWFuZHMuXG4gICAqIEBwYXJhbSBjb21tYW5kIHRoZSBmaXJzdCBjb21tYW5kIHRvIGFkZCB0byB0aGUgdGFzayBhZnRlciBpdCB3YXMgY2xlYXJlZC5cbiAgICovXG4gIHB1YmxpYyByZXNldChjb21tYW5kPzogc3RyaW5nLCBvcHRpb25zOiBUYXNrU3RlcE9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuYXNzZXJ0VW5sb2NrZWQoKTtcblxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLl9zdGVwcykpIHtcbiAgICAgIHRoaXMud2FybkZvckxhenlWYWx1ZShcInJlc2V0XCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdoaWxlICh0aGlzLl9zdGVwcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX3N0ZXBzLnNoaWZ0KCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbW1hbmQpIHtcbiAgICAgIHRoaXMuZXhlYyhjb21tYW5kLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBzdGVwcyB0byB0aGlzIHRhc2suIFRoaXMgaXMgYSBnZW5lcmljIG1ldGhvZCB0aGF0IGFjY2VwdHMgYW55XG4gICAqIHRhc2sgc3RlcCAoZXhlYywgc3Bhd24sIHNheSwgYnVpbHRpbikuXG4gICAqXG4gICAqIEBwYXJhbSBzdGVwcyBUaGUgc3RlcHMgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFkZFN0ZXBzKC4uLnN0ZXBzOiBUYXNrU3RlcFtdKSB7XG4gICAgdGhpcy5fcHVzaFN0ZXBzKFwiYWRkU3RlcHNcIiwgc3RlcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgc2hlbGwgY29tbWFuZFxuICAgKiBAcGFyYW0gY29tbWFuZCBTaGVsbCBjb21tYW5kXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBleGVjKGNvbW1hbmQ6IHN0cmluZywgb3B0aW9uczogVGFza1N0ZXBPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLl9wdXNoU3RlcHMoXCJleGVjXCIsIFt7IGV4ZWM6IGNvbW1hbmQsIC4uLm9wdGlvbnMgfV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYSBidWlsdGluIHRhc2suXG4gICAqXG4gICAqIEJ1aWx0aW4gdGFza3MgYXJlIHByb2dyYW1zIGJ1bmRsZWQgYXMgcGFydCBvZiBwcm9qZW4gaXRzZWxmIGFuZCB1c2VkIGFzXG4gICAqIGhlbHBlcnMgZm9yIHZhcmlvdXMgY29tcG9uZW50cy5cbiAgICpcbiAgICogSW4gdGhlIGZ1dHVyZSB3ZSBzaG91bGQgc3VwcG9ydCBidWlsdC1pbiB0YXNrcyBmcm9tIGV4dGVybmFsIG1vZHVsZXMuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBidWlsdGluIHRhc2sgdG8gZXhlY3V0ZSAoZS5nLlxuICAgKiBgcmVsZWFzZS9yZXNvbHZlLXZlcnNpb25gKS5cbiAgICovXG4gIHB1YmxpYyBidWlsdGluKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuX3B1c2hTdGVwcyhcImJ1aWx0aW5cIiwgW3sgYnVpbHRpbjogbmFtZSB9XSk7XG4gIH1cblxuICAvKipcbiAgICogU2F5IHNvbWV0aGluZy5cbiAgICogQHBhcmFtIG1lc3NhZ2UgWW91ciBtZXNzYWdlXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzYXkobWVzc2FnZTogc3RyaW5nLCBvcHRpb25zOiBUYXNrU3RlcE9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuX3B1c2hTdGVwcyhcInNheVwiLCBbeyBzYXk6IG1lc3NhZ2UsIC4uLm9wdGlvbnMgfV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjb21tYW5kIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRhc2suXG4gICAqIEBwYXJhbSBzaGVsbCBUaGUgY29tbWFuZCB0byBhZGQuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgcHJlcGVuZEV4ZWMoKWBcbiAgICovXG4gIHB1YmxpYyBwcmVwZW5kKHNoZWxsOiBzdHJpbmcsIG9wdGlvbnM6IFRhc2tTdGVwT3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5wcmVwZW5kRXhlYyhzaGVsbCwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogU3Bhd25zIGEgc3ViLXRhc2suXG4gICAqIEBwYXJhbSBzdWJ0YXNrIFRoZSBzdWJ0YXNrIHRvIGV4ZWN1dGUuXG4gICAqL1xuICBwdWJsaWMgc3Bhd24oc3VidGFzazogVGFzaywgb3B0aW9uczogVGFza1N0ZXBPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLl9wdXNoU3RlcHMoXCJzcGF3blwiLCBbeyBzcGF3bjogc3VidGFzay5uYW1lLCAuLi5vcHRpb25zIH1dKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHN0ZXBzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhpcyB0YXNrLlxuICAgKlxuICAgKiBAcGFyYW0gc3RlcHMgVGhlIHN0ZXBzIHRvIGFkZC5cbiAgICovXG4gIHB1YmxpYyBwcmVwZW5kU3RlcHMoLi4uc3RlcHM6IFRhc2tTdGVwW10pIHtcbiAgICB0aGlzLl91bnNoaWZ0U3RlcHMoXCJwcmVwZW5kU3RlcHNcIiwgc3RlcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjb21tYW5kIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRhc2suXG4gICAqIEBwYXJhbSBzaGVsbCBUaGUgY29tbWFuZCB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgcHJlcGVuZEV4ZWMoc2hlbGw6IHN0cmluZywgb3B0aW9uczogVGFza1N0ZXBPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLl91bnNoaWZ0U3RlcHMoXCJwcmVwZW5kRXhlY1wiLCBbeyBleGVjOiBzaGVsbCwgLi4ub3B0aW9ucyB9XSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHNwYXduIGluc3RydWN0aW9uIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRhc2suXG4gICAqIEBwYXJhbSBzdWJ0YXNrIFRoZSBzdWJ0YXNrIHRvIGV4ZWN1dGUuXG4gICAqL1xuICBwdWJsaWMgcHJlcGVuZFNwYXduKHN1YnRhc2s6IFRhc2ssIG9wdGlvbnM6IFRhc2tTdGVwT3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5fdW5zaGlmdFN0ZXBzKFwicHJlcGVuZFNwYXduXCIsIFt7IHNwYXduOiBzdWJ0YXNrLm5hbWUsIC4uLm9wdGlvbnMgfV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNheXMgc29tZXRoaW5nIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRhc2suXG4gICAqIEBwYXJhbSBtZXNzYWdlIFlvdXIgbWVzc2FnZVxuICAgKi9cbiAgcHVibGljIHByZXBlbmRTYXkobWVzc2FnZTogc3RyaW5nLCBvcHRpb25zOiBUYXNrU3RlcE9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuX3Vuc2hpZnRTdGVwcyhcInByZXBlbmRTYXlcIiwgW3sgc2F5OiBtZXNzYWdlLCAuLi5vcHRpb25zIH1dKTtcbiAgfVxuXG4gIHByaXZhdGUgX3B1c2hTdGVwcyhtZXRob2Q6IHN0cmluZywgc3RlcHM6IFRhc2tTdGVwW10pIHtcbiAgICB0aGlzLmFzc2VydFVubG9ja2VkKCk7XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5fc3RlcHMpKSB7XG4gICAgICB0aGlzLndhcm5Gb3JMYXp5VmFsdWUoYCR7bWV0aG9kfSB0b2ApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0ZXBzLnB1c2goLi4uc3RlcHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5zaGlmdFN0ZXBzKG1ldGhvZDogc3RyaW5nLCBzdGVwczogVGFza1N0ZXBbXSkge1xuICAgIHRoaXMuYXNzZXJ0VW5sb2NrZWQoKTtcblxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLl9zdGVwcykpIHtcbiAgICAgIHRoaXMud2FybkZvckxhenlWYWx1ZShgJHttZXRob2R9IHRvYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RlcHMudW5zaGlmdCguLi5zdGVwcyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB0aGlzIHRhc2suXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZVxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlLiBJZiB0aGUgdmFsdWUgaXMgc3Vycm91bmRlZCBieSBgJCgpYCwgd2Ugd2lsbFxuICAgKiBldmFsdWF0ZSBpdCB3aXRoaW4gYSBzdWJzaGVsbCBhbmQgdXNlIHRoZSByZXN1bHQgYXMgdGhlIHZhbHVlIG9mIHRoZVxuICAgKiBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIHB1YmxpYyBlbnYobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5hc3NlcnRVbmxvY2tlZCgpO1xuICAgIHRoaXMuX2VudltuYW1lXSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiB0aGUgdGFzayBsZXZlbFxuICAgKi9cbiAgcHVibGljIGdldCBlbnZWYXJzKCk6IFJlYWRvbmx5PHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9PiB7XG4gICAgcmV0dXJuIHRoaXMuX2VudjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGltbXV0YWJsZSBjb3B5IG9mIGFsbCB0aGUgc3RlcCBzcGVjaWZpY2F0aW9ucyBvZiB0aGUgdGFzay5cbiAgICovXG4gIHB1YmxpYyBnZXQgc3RlcHMoKTogVGFza1N0ZXBbXSB7XG4gICAgLy8gSWYgdGhlIGxpc3Qgb2Ygc3RlcHMgaXMgYSBMYXp5IHZhbHVlLCB3ZSBjYW4ndCBrbm93IHdoYXQgdGhlIHN0ZXBzXG4gICAgLy8gYXJlIHVudGlsIHN5bnRoZXNpcyBvY2N1cnMsIHNvIGp1c3QgcmV0dXJuIGFuIGVtcHR5IGFycmF5LlxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLl9zdGVwcykpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIFsuLi50aGlzLl9zdGVwc107XG4gIH1cblxuICAvKipcbiAgICogSW5zZXJ0IG9uZSBvciBtb3JlIHN0ZXBzIGF0IGEgZ2l2ZW4gaW5kZXhcbiAgICpcbiAgICogQHBhcmFtIGluZGV4IFN0ZXBzIHdpbGwgYmUgaW5zZXJ0ZWQgYmVmb3JlIHRoaXMgaW5kZXguIE1heSBiZSBuZWdhdGl2ZSB0b1xuICAgKiBjb3VudCBiYWNrd2FyZHMgZnJvbSB0aGUgZW5kLCBvciBtYXkgYmUgYD09IHN0ZXBzKCkubGVuZ3RoYCB0byBpbnNlcnQgYXQgdGhlIGVuZC5cbiAgICogQHBhcmFtIHN0ZXBzIFRoZSBzdGVwcyB0byBpbnNlcnRcbiAgICovXG4gIHB1YmxpYyBpbnNlcnRTdGVwKGluZGV4OiBudW1iZXIsIC4uLnN0ZXBzOiBUYXNrU3RlcFtdKTogdm9pZCB7XG4gICAgdGhpcy5hc3NlcnRVbmxvY2tlZCgpO1xuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuX3N0ZXBzKSkge1xuICAgICAgdGhpcy53YXJuRm9yTGF6eVZhbHVlKFwiaW5zZXJ0IHN0ZXBzIGludG9cIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGluZGV4IDwgLXRoaXMuX3N0ZXBzLmxlbmd0aCB8fCBpbmRleCA+IHRoaXMuc3RlcHMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDYW5ub3QgaW5zZXJ0IHN0ZXBzIGF0IGluZGV4ICR7aW5kZXh9IGZvciB0YXNrICR7dGhpcy5uYW1lfSBiZWNhdXNlIHRoZSBpbmRleCBpcyBvdXQgb2YgYm91bmRzIGZvciBzaXplICR7dGhpcy5zdGVwcy5sZW5ndGh9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RlcHMuc3BsaWNlKGluZGV4LCAwLCAuLi5zdGVwcyk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgc3RlcCB0byBlZGl0XG4gICAqIEBwYXJhbSBzdGVwIFRoZSBuZXcgc3RlcCB0byByZXBsYWNlIHRoZSBvbGQgb25lIGVudGlyZWx5LCBpdCBpcyBub3QgbWVyZ2VkIHdpdGggdGhlIG9sZCBzdGVwXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlU3RlcChpbmRleDogbnVtYmVyLCBzdGVwOiBUYXNrU3RlcCk6IHZvaWQge1xuICAgIHRoaXMuYXNzZXJ0VW5sb2NrZWQoKTtcblxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLl9zdGVwcykpIHtcbiAgICAgIHRoaXMud2FybkZvckxhenlWYWx1ZShcInVwZGF0ZSBzdGVwIGZvclwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBleGlzdGluZ1N0ZXAgPSB0aGlzLl9zdGVwc1tpbmRleF07XG4gICAgaWYgKCFleGlzdGluZ1N0ZXApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENhbm5vdCB1cGRhdGUgc3RlcCBhdCBpbmRleCAke2luZGV4fSBmb3IgdGFzayAke3RoaXMubmFtZX0gYmVjYXVzZSBpdCBkb2VzIG5vdCBleGlzdGAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX3N0ZXBzW2luZGV4XSA9IHN0ZXA7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgc3RlcCB0byByZW1vdmVcbiAgICovXG4gIHB1YmxpYyByZW1vdmVTdGVwKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmFzc2VydFVubG9ja2VkKCk7XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5fc3RlcHMpKSB7XG4gICAgICB0aGlzLndhcm5Gb3JMYXp5VmFsdWUoXCJyZW1vdmUgc3RlcCBmcm9tXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4aXN0aW5nU3RlcCA9IHRoaXMuX3N0ZXBzW2luZGV4XTtcbiAgICBpZiAoIWV4aXN0aW5nU3RlcCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ2Fubm90IHJlbW92ZSBzdGVwIGF0IGluZGV4ICR7aW5kZXh9IGZvciB0YXNrICR7dGhpcy5uYW1lfSBiZWNhdXNlIGl0IGRvZXMgbm90IGV4aXN0YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RlcHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGEgdGFzayBzcGVjIGludG8gdGhlIG1hbmlmZXN0LlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfcmVuZGVyU3BlYygpOiBUYXNrU3BlYyB7XG4gICAgLy8gRW5zdXJlIHRhc2stbGV2ZWwgZW52IHZhcnMgYXJlIHN0cmluZ3NcbiAgICBjb25zdCBlbnYgPSBPYmplY3Qua2V5cyh0aGlzLl9lbnYpLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyKSA9PiAoe1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICBbY3Vycl06IHRoaXMuZ2V0RW52U3RyaW5nKGN1cnIsIHRoaXMuX2VudltjdXJyXSksXG4gICAgICB9KSxcbiAgICAgIHt9LFxuICAgICk7XG5cbiAgICAvLyBFbnN1cmUgc3RlcC1sZXZlbCBlbnYgdmFycyBhcmUgc3RyaW5nc1xuICAgIGNvbnN0IHN0ZXBzID0gQXJyYXkuaXNBcnJheSh0aGlzLl9zdGVwcylcbiAgICAgID8gWy4uLnRoaXMuX3N0ZXBzXS5tYXAoKHMpID0+IHtcbiAgICAgICAgICByZXR1cm4gcy5lbnZcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIC4uLnMsXG4gICAgICAgICAgICAgICAgZW52OiBPYmplY3Qua2V5cyhzLmVudikucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgKHByZXYsIGN1cnIpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgICAgICAgIFtjdXJyXTogdGhpcy5nZXRFbnZTdHJpbmcoY3Vyciwgcy5lbnYhW2N1cnJdKSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiBzO1xuICAgICAgICB9KVxuICAgICAgOiB0aGlzLl9zdGVwcztcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIGVudjogZW52LFxuICAgICAgcmVxdWlyZWRFbnY6IHRoaXMucmVxdWlyZWRFbnYsXG4gICAgICBzdGVwczogc3RlcHMsXG4gICAgICBjb25kaXRpb246IHRoaXMuY29uZGl0aW9uLFxuICAgICAgY3dkOiB0aGlzLl9jd2QsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXNzZXJ0VW5sb2NrZWQoKSB7XG4gICAgaWYgKHRoaXMuX2xvY2tlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUYXNrIFwiJHt0aGlzLm5hbWV9XCIgaXMgbG9ja2VkIGZvciBjaGFuZ2VzYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3YXJuRm9yTGF6eVZhbHVlKGFjdGlvbkJlaW5nVW5kZXJ0YWtlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgd2FybihcbiAgICAgIGBDYW5ub3QgJHthY3Rpb25CZWluZ1VuZGVydGFrZW59IHRhc2sgXCIke3RoaXMubmFtZX1cIiBiZWNhdXNlIGl0IGlzIGEgbGF6eSB2YWx1ZSwgdHJ5IHVzaW5nIHRoZSBwcmVTeW50aGVzaXplIHBoYXNlLmAsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlIHBlcnNpc3RlZCBhcyBzdHJpbmdzXG4gICAqIHRvIHByZXZlbnQgdHlwZSBlcnJvcnMgd2hlbiBwYXJzaW5nIGZyb20gdGFza3MuanNvbiBpbiBmdXR1cmVcbiAgICovXG4gIHByaXZhdGUgZ2V0RW52U3RyaW5nKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwic3RyaW5nXCIgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgd2FybihcbiAgICAgICAgYFJlY2VpdmVkIG5vbi1zdHJpbmcgdmFsdWUgZm9yIGVudmlyb25tZW50IHZhcmlhYmxlICR7bmFtZX0uIFZhbHVlIHdpbGwgYmUgc3RyaW5naWZpZWQuYCxcbiAgICAgICk7XG4gICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIl19