projen 0.76.19 → 0.76.21

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 (136) hide show
  1. package/.jsii +2963 -107
  2. package/lib/_resolve.js +17 -1
  3. package/lib/awscdk/auto-discover.js +5 -5
  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 +1 -1
  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.js +1 -1
  18. package/lib/cdk/auto-discover-base.js +2 -2
  19. package/lib/cdk/construct-lib.js +1 -1
  20. package/lib/cdk/integration-test-base.js +1 -1
  21. package/lib/cdk/jsii-docgen.js +1 -1
  22. package/lib/cdk/jsii-project.js +1 -1
  23. package/lib/cdk8s/auto-discover.js +2 -2
  24. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  25. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  26. package/lib/cdk8s/cdk8s-construct.js +1 -1
  27. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  28. package/lib/cdk8s/cdk8s-deps.js +1 -1
  29. package/lib/cdk8s/integration-test.js +1 -1
  30. package/lib/cdktf/cdktf-construct.js +1 -1
  31. package/lib/circleci/circleci.js +1 -1
  32. package/lib/component.js +1 -1
  33. package/lib/dependencies.js +1 -1
  34. package/lib/dev-env.js +1 -1
  35. package/lib/docker-compose/docker-compose-service.js +1 -1
  36. package/lib/docker-compose/docker-compose.js +1 -1
  37. package/lib/file.js +1 -1
  38. package/lib/gitattributes.js +1 -1
  39. package/lib/github/actions-provider.js +1 -1
  40. package/lib/github/auto-approve.js +1 -1
  41. package/lib/github/auto-merge.js +1 -1
  42. package/lib/github/dependabot.js +1 -1
  43. package/lib/github/github-credentials.js +1 -1
  44. package/lib/github/github-project.js +1 -1
  45. package/lib/github/github.js +1 -1
  46. package/lib/github/mergify.js +1 -1
  47. package/lib/github/pr-template.js +1 -1
  48. package/lib/github/pull-request-lint.js +1 -1
  49. package/lib/github/stale.js +1 -1
  50. package/lib/github/task-workflow.js +1 -1
  51. package/lib/github/workflow-actions.js +1 -1
  52. package/lib/github/workflow-jobs.js +1 -1
  53. package/lib/github/workflows.js +1 -1
  54. package/lib/gitlab/configuration.js +1 -1
  55. package/lib/gitlab/gitlab-configuration.js +1 -1
  56. package/lib/gitlab/nested-configuration.js +1 -1
  57. package/lib/gitpod.js +1 -1
  58. package/lib/ignore-file.js +1 -1
  59. package/lib/ini.js +1 -1
  60. package/lib/java/java-project.js +1 -1
  61. package/lib/java/junit.js +1 -1
  62. package/lib/java/maven-compile.js +1 -1
  63. package/lib/java/maven-packaging.js +1 -1
  64. package/lib/java/maven-sample.js +1 -1
  65. package/lib/java/pom.js +1 -1
  66. package/lib/java/projenrc.js +1 -1
  67. package/lib/javascript/bundler.js +1 -1
  68. package/lib/javascript/eslint.js +17 -13
  69. package/lib/javascript/index.d.ts +1 -0
  70. package/lib/javascript/index.js +2 -1
  71. package/lib/javascript/jest.js +4 -4
  72. package/lib/javascript/node-package.d.ts +35 -0
  73. package/lib/javascript/node-package.js +38 -2
  74. package/lib/javascript/node-project.js +1 -1
  75. package/lib/javascript/npm-config.js +1 -1
  76. package/lib/javascript/prettier.js +1 -1
  77. package/lib/javascript/projenrc.js +1 -1
  78. package/lib/javascript/typescript-config.js +2 -2
  79. package/lib/javascript/upgrade-dependencies.js +2 -2
  80. package/lib/javascript/yarnrc.d.ts +334 -0
  81. package/lib/javascript/yarnrc.js +149 -0
  82. package/lib/json-patch.js +1 -1
  83. package/lib/json.js +1 -1
  84. package/lib/license.js +1 -1
  85. package/lib/logger.js +1 -1
  86. package/lib/makefile.js +1 -1
  87. package/lib/object-file.d.ts +7 -1
  88. package/lib/object-file.js +2 -2
  89. package/lib/project-build.js +1 -1
  90. package/lib/project-tree.js +1 -1
  91. package/lib/project.js +1 -1
  92. package/lib/projects.js +1 -1
  93. package/lib/projenrc-json.js +2 -2
  94. package/lib/projenrc.js +1 -1
  95. package/lib/python/pip.js +1 -1
  96. package/lib/python/poetry.js +2 -2
  97. package/lib/python/projenrc.js +1 -1
  98. package/lib/python/pytest-sample.js +1 -1
  99. package/lib/python/pytest.js +1 -1
  100. package/lib/python/python-project.js +1 -1
  101. package/lib/python/python-sample.js +1 -1
  102. package/lib/python/requirements-file.js +1 -1
  103. package/lib/python/setuppy.js +1 -1
  104. package/lib/python/setuptools.js +1 -1
  105. package/lib/python/venv.js +1 -1
  106. package/lib/readme.js +1 -1
  107. package/lib/release/publisher.js +1 -1
  108. package/lib/release/release-trigger.js +1 -1
  109. package/lib/release/release.js +1 -1
  110. package/lib/renovatebot.js +1 -1
  111. package/lib/sample-file.js +2 -2
  112. package/lib/semver.js +1 -1
  113. package/lib/source-code.js +1 -1
  114. package/lib/task-runtime.js +1 -1
  115. package/lib/task.js +1 -1
  116. package/lib/tasks.js +1 -1
  117. package/lib/testing.js +1 -1
  118. package/lib/textfile.js +1 -1
  119. package/lib/toml.js +1 -1
  120. package/lib/typescript/projenrc-ts.js +1 -1
  121. package/lib/typescript/projenrc.js +1 -1
  122. package/lib/typescript/typescript-typedoc.js +1 -1
  123. package/lib/typescript/typescript.js +3 -3
  124. package/lib/version.js +2 -2
  125. package/lib/vscode/devcontainer.js +1 -1
  126. package/lib/vscode/extensions.js +1 -1
  127. package/lib/vscode/launch-config.js +1 -1
  128. package/lib/vscode/settings.js +1 -1
  129. package/lib/vscode/vscode.js +1 -1
  130. package/lib/web/next.js +3 -3
  131. package/lib/web/postcss.js +1 -1
  132. package/lib/web/react.js +4 -4
  133. package/lib/web/tailwind.js +1 -1
  134. package/lib/xmlfile.js +1 -1
  135. package/lib/yaml.js +1 -1
  136. package/package.json +1 -1
@@ -0,0 +1,334 @@
1
+ import { Component } from "../component";
2
+ import { Project } from "../project";
3
+ /** https://yarnpkg.com/configuration/yarnrc#checksumBehavior */
4
+ export declare enum YarnChecksumBehavior {
5
+ THROW = "throw",
6
+ UPDATE = "update",
7
+ RESET = "reset",
8
+ IGNORE = "ignore"
9
+ }
10
+ /** https://yarnpkg.com/configuration/yarnrc#defaultSemverRangePrefix */
11
+ export declare enum YarnDefaultSemverRangePrefix {
12
+ CARET = "^",
13
+ TILDE = "~",
14
+ EMPTY_STRING = ""
15
+ }
16
+ /** https://v3.yarnpkg.com/configuration/yarnrc#logFilters.0.level */
17
+ export declare enum YarnLogFilterLevel {
18
+ INFO = "info",
19
+ WARNING = "warning",
20
+ ERROR = "error",
21
+ DISCARD = "discard"
22
+ }
23
+ /** https://yarnpkg.com/configuration/yarnrc#logFilters */
24
+ export interface YarnLogFilter {
25
+ readonly code?: string;
26
+ readonly text?: string;
27
+ readonly level?: YarnLogFilterLevel;
28
+ readonly pattern?: string;
29
+ }
30
+ /** https://yarnpkg.com/configuration/yarnrc#networkSettings */
31
+ export interface YarnNetworkSetting {
32
+ /** @deprecated - use httpsCaFilePath in Yarn v4 and newer */
33
+ readonly caFilePath?: string;
34
+ readonly httpsCaFilePath?: string;
35
+ readonly enableNetwork?: boolean;
36
+ readonly httpProxy?: string;
37
+ readonly httpsProxy?: string;
38
+ readonly httpsKeyFilePath?: string;
39
+ readonly httpsCertFilePath?: string;
40
+ }
41
+ /** https://yarnpkg.com/configuration/yarnrc#nmHoistingLimits */
42
+ export declare enum YarnNmHoistingLimit {
43
+ DEPENDENCIES = "dependencies",
44
+ NONE = "none",
45
+ WORKSPACES = "workspaces"
46
+ }
47
+ /** https://yarnpkg.com/configuration/yarnrc#nmMode */
48
+ export declare enum YarnNmMode {
49
+ CLASSIC = "classic",
50
+ HARDLINKS_LOCAL = "hardlinks-local",
51
+ HARDLINKS_GLOBAL = "hardlinks-global"
52
+ }
53
+ /** https://yarnpkg.com/configuration/yarnrc#nodeLinker */
54
+ export declare enum YarnNodeLinker {
55
+ PNP = "pnp",
56
+ PNPM = "pnpm",
57
+ NODE_MODULES = "node-modules"
58
+ }
59
+ /** https://yarnpkg.com/configuration/yarnrc#npmPublishAccess */
60
+ export declare enum YarnNpmPublishAccess {
61
+ PUBLIC = "public",
62
+ RESTRICTED = "restricted"
63
+ }
64
+ /** https://yarnpkg.com/configuration/yarnrc#npmRegistries */
65
+ export interface YarnNpmRegistry {
66
+ readonly npmAlwaysAuth?: boolean;
67
+ readonly npmAuthIdent?: string;
68
+ readonly npmAuthToken?: string;
69
+ }
70
+ /** https://yarnpkg.com/configuration/yarnrc#npmScopes */
71
+ export interface YarnNpmScope {
72
+ readonly npmPublishRegistry?: string;
73
+ readonly npmRegistryServer?: string;
74
+ readonly npmAlwaysAuth?: boolean;
75
+ readonly npmAuthIdent?: string;
76
+ readonly npmAuthToken?: string;
77
+ }
78
+ /** https://yarnpkg.com/configuration/yarnrc#packageExtensions */
79
+ export interface YarnPeerDependencyMeta {
80
+ readonly optional?: boolean;
81
+ }
82
+ /** https://yarnpkg.com/configuration/yarnrc#packageExtensions */
83
+ export interface YarnPackageExtension {
84
+ readonly dependencies?: Record<string, string>;
85
+ readonly peerDependencies?: Record<string, string>;
86
+ readonly peerDependenciesMeta?: Record<string, Record<string, YarnPeerDependencyMeta>>;
87
+ }
88
+ /** https://yarnpkg.com/configuration/yarnrc#pnpFallbackMode */
89
+ export declare enum YarnPnpFallbackMode {
90
+ NONE = "none",
91
+ DEPENDENCIES_ONLY = "dependencies-only",
92
+ ALL = "all"
93
+ }
94
+ /** https://yarnpkg.com/configuration/yarnrc#pnpMode */
95
+ export declare enum YarnPnpMode {
96
+ STRICT = "strict",
97
+ LOOSE = "loose"
98
+ }
99
+ /** https://yarnpkg.com/configuration/yarnrc#progressBarStyle */
100
+ export declare enum YarnProgressBarStyle {
101
+ PATRICK = "patrick",
102
+ SIMBA = "simba",
103
+ JACK = "jack",
104
+ HOGSFATHER = "hogsfather",
105
+ DEFAULT = "default"
106
+ }
107
+ /** https://yarnpkg.com/configuration/yarnrc#supportedArchitectures */
108
+ export interface YarnSupportedArchitectures {
109
+ readonly os?: string[];
110
+ readonly cpu?: string[];
111
+ readonly libc?: string[];
112
+ }
113
+ /** https://yarnpkg.com/configuration/yarnrc#cacheMigrationMode */
114
+ export declare enum YarnCacheMigrationMode {
115
+ REQUIRED_ONLY = "requied-only",
116
+ MATCH_SPEC = "match-spec",
117
+ ALWAYS = "always"
118
+ }
119
+ /** https://yarnpkg.com/configuration/yarnrc#winLinkType */
120
+ export declare enum YarnWinLinkType {
121
+ JUNCTIONS = "junctions",
122
+ SYMLINKS = "symlinks"
123
+ }
124
+ export declare enum YarnWorkerPoolMode {
125
+ ASYNC = "async",
126
+ WORKERS = "workers"
127
+ }
128
+ /** Configuration for .yarnrc.yml in Yarn Berry v4 */
129
+ export interface YarnrcOptions {
130
+ /** https://yarnpkg.com/configuration/yarnrc#cacheFolder */
131
+ readonly cacheFolder?: string;
132
+ /** https://yarnpkg.com/configuration/yarnrc#cacheMigrationMode */
133
+ readonly cacheMigrationMode?: YarnCacheMigrationMode;
134
+ /** https://yarnpkg.com/configuration/yarnrc#httpsCaFilePath */
135
+ readonly httpsCaFilePath?: string;
136
+ /** https://yarnpkg.com/configuration/yarnrc#changesetBaseRefs */
137
+ readonly changesetBaseRefs?: string[];
138
+ /** https://yarnpkg.com/configuration/yarnrc#changesetIgnorePatterns */
139
+ readonly changesetIgnorePatterns?: string[];
140
+ /** https://yarnpkg.com/configuration/yarnrc#checksumBehavior */
141
+ readonly checksumBehavior?: YarnChecksumBehavior;
142
+ /** https://yarnpkg.com/configuration/yarnrc#cloneConcurrency */
143
+ readonly cloneConcurrency?: number;
144
+ /** https://yarnpkg.com/configuration/yarnrc#compressionLevel */
145
+ readonly compressionLevel?: number | string;
146
+ /** https://yarnpkg.com/configuration/yarnrc#constraintsPath */
147
+ readonly constraintsPath?: string;
148
+ /** https://yarnpkg.com/configuration/yarnrc#defaultLanguageName */
149
+ readonly defaultLanguageName?: string;
150
+ /** https://yarnpkg.com/configuration/yarnrc#defaultProtocol */
151
+ readonly defaultProtocol?: string;
152
+ /** https://yarnpkg.com/configuration/yarnrc#defaultSemverRangePrefix */
153
+ readonly defaultSemverRangePrefix?: YarnDefaultSemverRangePrefix;
154
+ /** https://yarnpkg.com/configuration/yarnrc#deferredVersionFolder */
155
+ readonly deferredVersionFolder?: string;
156
+ /** https://yarnpkg.com/configuration/yarnrc#enableColors */
157
+ readonly enableColors?: boolean;
158
+ /** https://yarnpkg.com/configuration/yarnrc#enableConstraintsCheck */
159
+ readonly enableConstraintsCheck?: boolean;
160
+ /** https://yarnpkg.com/configuration/yarnrc#enableGlobalCache */
161
+ readonly enableGlobalCache?: boolean;
162
+ /** https://yarnpkg.com/configuration/yarnrc#enableHardenedMode */
163
+ readonly enableHardenedMode?: boolean;
164
+ /** https://yarnpkg.com/configuration/yarnrc#enableHyperlinks */
165
+ readonly enableHyperlinks?: boolean;
166
+ /** https://yarnpkg.com/configuration/yarnrc#enableImmutableCache */
167
+ readonly enableImmutableCache?: boolean;
168
+ /** https://yarnpkg.com/configuration/yarnrc#enableImmutableInstalls */
169
+ readonly enableImmutableInstalls?: boolean;
170
+ /** https://yarnpkg.com/configuration/yarnrc#enableInlineBuilds */
171
+ readonly enableInlineBuilds?: boolean;
172
+ /** https://yarnpkg.com/configuration/yarnrc#enableInlineHunks */
173
+ readonly enableInlineHunks?: boolean;
174
+ /** https://yarnpkg.com/configuration/yarnrc#enableMessageNames */
175
+ readonly enableMessageNames?: boolean;
176
+ /** https://yarnpkg.com/configuration/yarnrc#enableMirror */
177
+ readonly enableMirror?: boolean;
178
+ /** https://yarnpkg.com/configuration/yarnrc#enableNetwork */
179
+ readonly enableNetwork?: boolean;
180
+ /** https://yarnpkg.com/configuration/yarnrc#enableOfflineMode */
181
+ readonly enableOfflineMode?: boolean;
182
+ /** https://yarnpkg.com/configuration/yarnrc#enableProgressBars */
183
+ readonly enableProgressBars?: boolean;
184
+ /** https://yarnpkg.com/configuration/yarnrc#enableScripts */
185
+ readonly enableScripts?: boolean;
186
+ /** https://yarnpkg.com/configuration/yarnrc#enableStrictSsl */
187
+ readonly enableStrictSsl?: boolean;
188
+ /** https://yarnpkg.com/configuration/yarnrc#enableTelemetry */
189
+ readonly enableTelemetry?: boolean;
190
+ /** https://yarnpkg.com/configuration/yarnrc#enableTimers */
191
+ readonly enableTimers?: boolean;
192
+ /** https://yarnpkg.com/configuration/yarnrc#enableTransparentWorkspaces */
193
+ readonly enableTransparentWorkspaces?: boolean;
194
+ /** https://yarnpkg.com/configuration/yarnrc#globalFolder */
195
+ readonly globalFolder?: string;
196
+ /** https://yarnpkg.com/configuration/yarnrc#httpProxy */
197
+ readonly httpProxy?: string;
198
+ /** https://yarnpkg.com/configuration/yarnrc#httpRetry */
199
+ readonly httpRetry?: number;
200
+ /** https://yarnpkg.com/configuration/yarnrc#httpTimeout */
201
+ readonly httpTimeout?: number;
202
+ /** https://yarnpkg.com/configuration/yarnrc#httpsCertFilePath */
203
+ readonly httpsCertFilePath?: string;
204
+ /** https://yarnpkg.com/configuration/yarnrc#httpsKeyFilePath */
205
+ readonly httpsKeyFilePath?: string;
206
+ /** https://yarnpkg.com/configuration/yarnrc#httpsProxy */
207
+ readonly httpsProxy?: string;
208
+ /**
209
+ * https://v3.yarnpkg.com/configuration/yarnrc#ignoreCwd
210
+ *
211
+ * @deprecated - removed in Yarn v4 and newer
212
+ */
213
+ readonly ignoreCwd?: boolean;
214
+ /** https://yarnpkg.com/configuration/yarnrc#ignorePath */
215
+ readonly ignorePath?: boolean;
216
+ /** https://yarnpkg.com/configuration/yarnrc#immutablePatterns */
217
+ readonly immutablePatterns?: string[];
218
+ /** https://yarnpkg.com/configuration/yarnrc#initScope */
219
+ readonly initScope?: string;
220
+ /** https://yarnpkg.com/configuration/yarnrc#initFields */
221
+ readonly initFields?: Record<string, any>;
222
+ /** https://yarnpkg.com/configuration/yarnrc#injectEnvironmentFiles */
223
+ readonly injectEnvironmentFiles?: string[];
224
+ /** https://yarnpkg.com/configuration/yarnrc#installStatePath */
225
+ readonly installStatePath?: string;
226
+ /** https://yarnpkg.com/configuration/yarnrc#logFilters */
227
+ readonly logFilters?: YarnLogFilter[];
228
+ /**
229
+ * https://v3.yarnpkg.com/configuration/yarnrc#lockfileFilename
230
+ *
231
+ * @deprecated - removed in Yarn v4 and newer
232
+ */
233
+ readonly lockfileFilename?: string;
234
+ /** https://yarnpkg.com/configuration/yarnrc#networkConcurrency */
235
+ readonly networkConcurrency?: number;
236
+ /** https://yarnpkg.com/configuration/yarnrc#networkSettings */
237
+ readonly networkSettings?: Record<string, YarnNetworkSetting>;
238
+ /** https://yarnpkg.com/configuration/yarnrc#nmHoistingLimits */
239
+ readonly nmHoistingLimits?: YarnNmHoistingLimit;
240
+ /** https://yarnpkg.com/configuration/yarnrc#nmSelfReferences */
241
+ readonly nmSelfReferences?: boolean;
242
+ /** https://yarnpkg.com/configuration/yarnrc#nmMode */
243
+ readonly nmMode?: YarnNmMode;
244
+ /** https://yarnpkg.com/configuration/yarnrc#nodeLinker */
245
+ readonly nodeLinker?: YarnNodeLinker;
246
+ /** https://yarnpkg.com/configuration/yarnrc#winLinkType */
247
+ readonly winLinkType?: YarnWinLinkType;
248
+ /** https://yarnpkg.com/configuration/yarnrc#npmAlwaysAuth */
249
+ readonly npmAlwaysAuth?: boolean;
250
+ /** https://yarnpkg.com/configuration/yarnrc#npmAuditRegistry */
251
+ readonly npmAuditRegistry?: string;
252
+ /** https://yarnpkg.com/configuration/yarnrc#npmAuthIdent */
253
+ readonly npmAuthIdent?: string;
254
+ /** https://yarnpkg.com/configuration/yarnrc#npmAuthToken */
255
+ readonly npmAuthToken?: string;
256
+ /** https://yarnpkg.com/configuration/yarnrc#npmPublishAccess */
257
+ readonly npmPublishAccess?: YarnNpmPublishAccess;
258
+ /** https://yarnpkg.com/configuration/yarnrc#npmAuditExcludePackages */
259
+ readonly npmAuditExcludePackages?: string[];
260
+ /** https://yarnpkg.com/configuration/yarnrc#npmAuditIgnoreAdvisories */
261
+ readonly npmAuditIgnoreAdvisories?: string[];
262
+ /** https://yarnpkg.com/configuration/yarnrc#npmPublishRegistry */
263
+ readonly npmPublishRegistry?: string;
264
+ /** https://yarnpkg.com/configuration/yarnrc#npmRegistries */
265
+ readonly npmRegistries?: Record<string, YarnNpmRegistry>;
266
+ /** https://yarnpkg.com/configuration/yarnrc#npmRegistryServer */
267
+ readonly npmRegistryServer?: string;
268
+ /** https://yarnpkg.com/configuration/yarnrc#npmScopes */
269
+ readonly npmScopes?: Record<string, YarnNpmScope>;
270
+ /** https://yarnpkg.com/configuration/yarnrc#packageExtensions */
271
+ readonly packageExtensions?: Record<string, YarnPackageExtension>;
272
+ /** https://yarnpkg.com/configuration/yarnrc#patchFolder */
273
+ readonly patchFolder?: string;
274
+ /**
275
+ * https://v3.yarnpkg.com/configuration/yarnrc#pnpDataPath
276
+ *
277
+ * @deprecated - removed in Yarn v4 and newer
278
+ */
279
+ readonly pnpDataPath?: string;
280
+ /** https://yarnpkg.com/configuration/yarnrc#pnpEnableEsmLoader */
281
+ readonly pnpEnableEsmLoader?: boolean;
282
+ /** https://yarnpkg.com/configuration/yarnrc#pnpEnableInlining */
283
+ readonly pnpEnableInlining?: boolean;
284
+ /** https://yarnpkg.com/configuration/yarnrc#pnpFallbackMode */
285
+ readonly pnpFallbackMode?: YarnPnpFallbackMode;
286
+ /** https://yarnpkg.com/configuration/yarnrc#pnpIgnorePatterns */
287
+ readonly pnpIgnorePatterns?: string[];
288
+ /** https://yarnpkg.com/configuration/yarnrc#pnpMode */
289
+ readonly pnpMode?: YarnPnpMode;
290
+ /** https://yarnpkg.com/configuration/yarnrc#pnpShebang */
291
+ readonly pnpShebang?: string;
292
+ /** https://yarnpkg.com/configuration/yarnrc#pnpUnpluggedFolder */
293
+ readonly pnpUnpluggedFolder?: string;
294
+ /**
295
+ * https://v3.yarnpkg.com/configuration/yarnrc#preferAggregateCacheInfo
296
+ *
297
+ * @deprecated - removed in Yarn v4 and newer
298
+ */
299
+ readonly preferAggregateCacheInfo?: boolean;
300
+ /** https://yarnpkg.com/configuration/yarnrc#preferDeferredVersions */
301
+ readonly preferDeferredVersions?: boolean;
302
+ /** https://yarnpkg.com/configuration/yarnrc#preferInteractive */
303
+ readonly preferInteractive?: boolean;
304
+ /** https://yarnpkg.com/configuration/yarnrc#preferReuse */
305
+ readonly preferReuse?: boolean;
306
+ /** https://yarnpkg.com/configuration/yarnrc#preferTruncatedLines */
307
+ readonly preferTruncatedLines?: boolean;
308
+ /** https://yarnpkg.com/configuration/yarnrc#progressBarStyle */
309
+ readonly progressBarStyle?: YarnProgressBarStyle;
310
+ /** https://yarnpkg.com/configuration/yarnrc#rcFilename */
311
+ readonly rcFilename?: string;
312
+ /** https://yarnpkg.com/configuration/yarnrc#supportedArchitectures */
313
+ readonly supportedArchitectures?: YarnSupportedArchitectures;
314
+ /** https://yarnpkg.com/configuration/yarnrc#taskPoolConcurrency */
315
+ readonly taskPoolConcurrency?: string;
316
+ /** https://yarnpkg.com/configuration/yarnrc#workerPoolMode */
317
+ readonly workerPoolMode?: YarnWorkerPoolMode;
318
+ /** https://yarnpkg.com/configuration/yarnrc#telemetryInterval */
319
+ readonly telemetryInterval?: number;
320
+ /** https://yarnpkg.com/configuration/yarnrc#telemetryUserId */
321
+ readonly telemetryUserId?: string;
322
+ /** https://yarnpkg.com/configuration/yarnrc#tsEnableAutoTypes */
323
+ readonly tsEnableAutoTypes?: boolean;
324
+ /** https://yarnpkg.com/configuration/yarnrc#unsafeHttpWhitelist */
325
+ readonly unsafeHttpWhitelist?: string[];
326
+ /** https://yarnpkg.com/configuration/yarnrc#virtualFolder */
327
+ readonly virtualFolder?: string;
328
+ /** https://yarnpkg.com/configuration/yarnrc#yarnPath */
329
+ readonly yarnPath?: string;
330
+ }
331
+ export declare class Yarnrc extends Component {
332
+ constructor(project: Project, version: string, options?: YarnrcOptions);
333
+ private validateOptionsForVersion;
334
+ }
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Yarnrc = exports.YarnWorkerPoolMode = exports.YarnWinLinkType = exports.YarnCacheMigrationMode = exports.YarnProgressBarStyle = exports.YarnPnpMode = exports.YarnPnpFallbackMode = exports.YarnNpmPublishAccess = exports.YarnNodeLinker = exports.YarnNmMode = exports.YarnNmHoistingLimit = exports.YarnLogFilterLevel = exports.YarnDefaultSemverRangePrefix = exports.YarnChecksumBehavior = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const semver = require("semver");
7
+ const component_1 = require("../component");
8
+ const yaml_1 = require("../yaml");
9
+ /** https://yarnpkg.com/configuration/yarnrc#checksumBehavior */
10
+ var YarnChecksumBehavior;
11
+ (function (YarnChecksumBehavior) {
12
+ YarnChecksumBehavior["THROW"] = "throw";
13
+ YarnChecksumBehavior["UPDATE"] = "update";
14
+ YarnChecksumBehavior["RESET"] = "reset";
15
+ YarnChecksumBehavior["IGNORE"] = "ignore";
16
+ })(YarnChecksumBehavior || (exports.YarnChecksumBehavior = YarnChecksumBehavior = {}));
17
+ /** https://yarnpkg.com/configuration/yarnrc#defaultSemverRangePrefix */
18
+ var YarnDefaultSemverRangePrefix;
19
+ (function (YarnDefaultSemverRangePrefix) {
20
+ YarnDefaultSemverRangePrefix["CARET"] = "^";
21
+ YarnDefaultSemverRangePrefix["TILDE"] = "~";
22
+ YarnDefaultSemverRangePrefix["EMPTY_STRING"] = "";
23
+ })(YarnDefaultSemverRangePrefix || (exports.YarnDefaultSemverRangePrefix = YarnDefaultSemverRangePrefix = {}));
24
+ /** https://v3.yarnpkg.com/configuration/yarnrc#logFilters.0.level */
25
+ var YarnLogFilterLevel;
26
+ (function (YarnLogFilterLevel) {
27
+ YarnLogFilterLevel["INFO"] = "info";
28
+ YarnLogFilterLevel["WARNING"] = "warning";
29
+ YarnLogFilterLevel["ERROR"] = "error";
30
+ YarnLogFilterLevel["DISCARD"] = "discard";
31
+ })(YarnLogFilterLevel || (exports.YarnLogFilterLevel = YarnLogFilterLevel = {}));
32
+ /** https://yarnpkg.com/configuration/yarnrc#nmHoistingLimits */
33
+ var YarnNmHoistingLimit;
34
+ (function (YarnNmHoistingLimit) {
35
+ YarnNmHoistingLimit["DEPENDENCIES"] = "dependencies";
36
+ YarnNmHoistingLimit["NONE"] = "none";
37
+ YarnNmHoistingLimit["WORKSPACES"] = "workspaces";
38
+ })(YarnNmHoistingLimit || (exports.YarnNmHoistingLimit = YarnNmHoistingLimit = {}));
39
+ /** https://yarnpkg.com/configuration/yarnrc#nmMode */
40
+ var YarnNmMode;
41
+ (function (YarnNmMode) {
42
+ YarnNmMode["CLASSIC"] = "classic";
43
+ YarnNmMode["HARDLINKS_LOCAL"] = "hardlinks-local";
44
+ YarnNmMode["HARDLINKS_GLOBAL"] = "hardlinks-global";
45
+ })(YarnNmMode || (exports.YarnNmMode = YarnNmMode = {}));
46
+ /** https://yarnpkg.com/configuration/yarnrc#nodeLinker */
47
+ var YarnNodeLinker;
48
+ (function (YarnNodeLinker) {
49
+ YarnNodeLinker["PNP"] = "pnp";
50
+ YarnNodeLinker["PNPM"] = "pnpm";
51
+ YarnNodeLinker["NODE_MODULES"] = "node-modules";
52
+ })(YarnNodeLinker || (exports.YarnNodeLinker = YarnNodeLinker = {}));
53
+ /** https://yarnpkg.com/configuration/yarnrc#npmPublishAccess */
54
+ var YarnNpmPublishAccess;
55
+ (function (YarnNpmPublishAccess) {
56
+ YarnNpmPublishAccess["PUBLIC"] = "public";
57
+ YarnNpmPublishAccess["RESTRICTED"] = "restricted";
58
+ })(YarnNpmPublishAccess || (exports.YarnNpmPublishAccess = YarnNpmPublishAccess = {}));
59
+ /** https://yarnpkg.com/configuration/yarnrc#pnpFallbackMode */
60
+ var YarnPnpFallbackMode;
61
+ (function (YarnPnpFallbackMode) {
62
+ YarnPnpFallbackMode["NONE"] = "none";
63
+ YarnPnpFallbackMode["DEPENDENCIES_ONLY"] = "dependencies-only";
64
+ YarnPnpFallbackMode["ALL"] = "all";
65
+ })(YarnPnpFallbackMode || (exports.YarnPnpFallbackMode = YarnPnpFallbackMode = {}));
66
+ /** https://yarnpkg.com/configuration/yarnrc#pnpMode */
67
+ var YarnPnpMode;
68
+ (function (YarnPnpMode) {
69
+ YarnPnpMode["STRICT"] = "strict";
70
+ YarnPnpMode["LOOSE"] = "loose";
71
+ })(YarnPnpMode || (exports.YarnPnpMode = YarnPnpMode = {}));
72
+ /** https://yarnpkg.com/configuration/yarnrc#progressBarStyle */
73
+ var YarnProgressBarStyle;
74
+ (function (YarnProgressBarStyle) {
75
+ YarnProgressBarStyle["PATRICK"] = "patrick";
76
+ YarnProgressBarStyle["SIMBA"] = "simba";
77
+ YarnProgressBarStyle["JACK"] = "jack";
78
+ YarnProgressBarStyle["HOGSFATHER"] = "hogsfather";
79
+ YarnProgressBarStyle["DEFAULT"] = "default";
80
+ })(YarnProgressBarStyle || (exports.YarnProgressBarStyle = YarnProgressBarStyle = {}));
81
+ /** https://yarnpkg.com/configuration/yarnrc#cacheMigrationMode */
82
+ var YarnCacheMigrationMode;
83
+ (function (YarnCacheMigrationMode) {
84
+ YarnCacheMigrationMode["REQUIRED_ONLY"] = "requied-only";
85
+ YarnCacheMigrationMode["MATCH_SPEC"] = "match-spec";
86
+ YarnCacheMigrationMode["ALWAYS"] = "always";
87
+ })(YarnCacheMigrationMode || (exports.YarnCacheMigrationMode = YarnCacheMigrationMode = {}));
88
+ /** https://yarnpkg.com/configuration/yarnrc#winLinkType */
89
+ var YarnWinLinkType;
90
+ (function (YarnWinLinkType) {
91
+ YarnWinLinkType["JUNCTIONS"] = "junctions";
92
+ YarnWinLinkType["SYMLINKS"] = "symlinks";
93
+ })(YarnWinLinkType || (exports.YarnWinLinkType = YarnWinLinkType = {}));
94
+ var YarnWorkerPoolMode;
95
+ (function (YarnWorkerPoolMode) {
96
+ YarnWorkerPoolMode["ASYNC"] = "async";
97
+ YarnWorkerPoolMode["WORKERS"] = "workers";
98
+ })(YarnWorkerPoolMode || (exports.YarnWorkerPoolMode = YarnWorkerPoolMode = {}));
99
+ class Yarnrc extends component_1.Component {
100
+ constructor(project, version, options = {}) {
101
+ super(project);
102
+ this.validateOptionsForVersion(semver.major(version), options);
103
+ new yaml_1.YamlFile(project, ".yarnrc.yml", {
104
+ obj: options,
105
+ });
106
+ }
107
+ validateOptionsForVersion(majorVersion, options) {
108
+ const removedInV4 = [
109
+ "ignoreCwd",
110
+ "lockfileFilename",
111
+ "pnpDataPath",
112
+ "preferAggregateCacheInfo",
113
+ ];
114
+ const newInV4 = [
115
+ "cacheMigrationMode",
116
+ "httpsCaFilePath",
117
+ "enableConstraintsCheck",
118
+ "enableHardenedMode",
119
+ "enableInlineHunks",
120
+ "enableOfflineMode",
121
+ "injectEnvironmentFiles",
122
+ "winLinkType",
123
+ "preferReuse",
124
+ "taskPoolConcurrency",
125
+ "workerPoolMode",
126
+ "tsEnableAutoTypes",
127
+ ];
128
+ if (majorVersion >= 4) {
129
+ const invalidOptions = Object.keys(options).filter((option) => removedInV4.includes(option));
130
+ if (invalidOptions.length > 0) {
131
+ throw new Error(`The following options are not available in Yarn >= 4: ${invalidOptions.join(", ")}`);
132
+ }
133
+ }
134
+ else {
135
+ const invalidOptions = Object.keys(options).filter((option) => newInV4.includes(option));
136
+ if (invalidOptions.length > 0) {
137
+ throw new Error(`The following options are only available in Yarn v4 and newer: ${invalidOptions.join(", ")}`);
138
+ }
139
+ if (options.checksumBehavior &&
140
+ options.checksumBehavior === YarnChecksumBehavior.RESET) {
141
+ throw new Error("The YarnChecksumBehavior.RESET is only available in Yarn v4 and newer.");
142
+ }
143
+ }
144
+ }
145
+ }
146
+ exports.Yarnrc = Yarnrc;
147
+ _a = JSII_RTTI_SYMBOL_1;
148
+ Yarnrc[_a] = { fqn: "projen.javascript.Yarnrc", version: "0.76.21" };
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFybnJjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2phdmFzY3JpcHQveWFybnJjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaUNBQWlDO0FBQ2pDLDRDQUF5QztBQUV6QyxrQ0FBbUM7QUFFbkMsZ0VBQWdFO0FBQ2hFLElBQVksb0JBS1g7QUFMRCxXQUFZLG9CQUFvQjtJQUM5Qix1Q0FBZSxDQUFBO0lBQ2YseUNBQWlCLENBQUE7SUFDakIsdUNBQWUsQ0FBQTtJQUNmLHlDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxvQkFBb0Isb0NBQXBCLG9CQUFvQixRQUsvQjtBQUVELHdFQUF3RTtBQUN4RSxJQUFZLDRCQUlYO0FBSkQsV0FBWSw0QkFBNEI7SUFDdEMsMkNBQVcsQ0FBQTtJQUNYLDJDQUFXLENBQUE7SUFDWCxpREFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsNEJBQTRCLDRDQUE1Qiw0QkFBNEIsUUFJdkM7QUFFRCxxRUFBcUU7QUFDckUsSUFBWSxrQkFLWDtBQUxELFdBQVksa0JBQWtCO0lBQzVCLG1DQUFhLENBQUE7SUFDYix5Q0FBbUIsQ0FBQTtJQUNuQixxQ0FBZSxDQUFBO0lBQ2YseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBSzdCO0FBc0JELGdFQUFnRTtBQUNoRSxJQUFZLG1CQUlYO0FBSkQsV0FBWSxtQkFBbUI7SUFDN0Isb0RBQTZCLENBQUE7SUFDN0Isb0NBQWEsQ0FBQTtJQUNiLGdEQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxtQkFBbUIsbUNBQW5CLG1CQUFtQixRQUk5QjtBQUVELHNEQUFzRDtBQUN0RCxJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIsaUNBQW1CLENBQUE7SUFDbkIsaURBQW1DLENBQUE7SUFDbkMsbURBQXFDLENBQUE7QUFDdkMsQ0FBQyxFQUpXLFVBQVUsMEJBQVYsVUFBVSxRQUlyQjtBQUVELDBEQUEwRDtBQUMxRCxJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsNkJBQVcsQ0FBQTtJQUNYLCtCQUFhLENBQUE7SUFDYiwrQ0FBNkIsQ0FBQTtBQUMvQixDQUFDLEVBSlcsY0FBYyw4QkFBZCxjQUFjLFFBSXpCO0FBRUQsZ0VBQWdFO0FBQ2hFLElBQVksb0JBR1g7QUFIRCxXQUFZLG9CQUFvQjtJQUM5Qix5Q0FBaUIsQ0FBQTtJQUNqQixpREFBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSFcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFHL0I7QUFpQ0QsK0RBQStEO0FBQy9ELElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixvQ0FBYSxDQUFBO0lBQ2IsOERBQXVDLENBQUE7SUFDdkMsa0NBQVcsQ0FBQTtBQUNiLENBQUMsRUFKVyxtQkFBbUIsbUNBQW5CLG1CQUFtQixRQUk5QjtBQUVELHVEQUF1RDtBQUN2RCxJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsZ0NBQWlCLENBQUE7SUFDakIsOEJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsV0FBVywyQkFBWCxXQUFXLFFBR3RCO0FBRUQsZ0VBQWdFO0FBQ2hFLElBQVksb0JBTVg7QUFORCxXQUFZLG9CQUFvQjtJQUM5QiwyQ0FBbUIsQ0FBQTtJQUNuQix1Q0FBZSxDQUFBO0lBQ2YscUNBQWEsQ0FBQTtJQUNiLGlEQUF5QixDQUFBO0lBQ3pCLDJDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFOVyxvQkFBb0Isb0NBQXBCLG9CQUFvQixRQU0vQjtBQVNELGtFQUFrRTtBQUNsRSxJQUFZLHNCQUlYO0FBSkQsV0FBWSxzQkFBc0I7SUFDaEMsd0RBQThCLENBQUE7SUFDOUIsbURBQXlCLENBQUE7SUFDekIsMkNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBSWpDO0FBRUQsMkRBQTJEO0FBQzNELElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN6QiwwQ0FBdUIsQ0FBQTtJQUN2Qix3Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsZUFBZSwrQkFBZixlQUFlLFFBRzFCO0FBRUQsSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzVCLHFDQUFlLENBQUE7SUFDZix5Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFHN0I7QUE4TUQsTUFBYSxNQUFPLFNBQVEscUJBQVM7SUFDbkMsWUFBWSxPQUFnQixFQUFFLE9BQWUsRUFBRSxVQUF5QixFQUFFO1FBQ3hFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRS9ELElBQUksZUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUU7WUFDbkMsR0FBRyxFQUFFLE9BQU87U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8seUJBQXlCLENBQy9CLFlBQW9CLEVBQ3BCLE9BQXNCO1FBRXRCLE1BQU0sV0FBVyxHQUErQjtZQUM5QyxXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYiwwQkFBMEI7U0FDM0IsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUErQjtZQUMxQyxvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQix3QkFBd0I7WUFDeEIsYUFBYTtZQUNiLGFBQWE7WUFDYixxQkFBcUI7WUFDckIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtTQUNwQixDQUFDO1FBRUYsSUFBSSxZQUFZLElBQUksQ0FBQyxFQUFFO1lBQ3JCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDM0QsV0FBd0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQzNDLENBQUM7WUFFRixJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLHlEQUF5RCxjQUFjLENBQUMsSUFBSSxDQUMxRSxJQUFJLENBQ0wsRUFBRSxDQUNKLENBQUM7YUFDSDtTQUNGO2FBQU07WUFDTCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQzNELE9BQW9CLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUN2QyxDQUFDO1lBRUYsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDN0IsTUFBTSxJQUFJLEtBQUssQ0FDYixrRUFBa0UsY0FBYyxDQUFDLElBQUksQ0FDbkYsSUFBSSxDQUNMLEVBQUUsQ0FDSixDQUFDO2FBQ0g7WUFFRCxJQUNFLE9BQU8sQ0FBQyxnQkFBZ0I7Z0JBQ3hCLE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxvQkFBb0IsQ0FBQyxLQUFLLEVBQ3ZEO2dCQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0VBQXdFLENBQ3pFLENBQUM7YUFDSDtTQUNGO0lBQ0gsQ0FBQzs7QUF0RUgsd0JBdUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuaW1wb3J0IHsgWWFtbEZpbGUgfSBmcm9tIFwiLi4veWFtbFwiO1xuXG4vKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNjaGVja3N1bUJlaGF2aW9yICovXG5leHBvcnQgZW51bSBZYXJuQ2hlY2tzdW1CZWhhdmlvciB7XG4gIFRIUk9XID0gXCJ0aHJvd1wiLFxuICBVUERBVEUgPSBcInVwZGF0ZVwiLFxuICBSRVNFVCA9IFwicmVzZXRcIixcbiAgSUdOT1JFID0gXCJpZ25vcmVcIixcbn1cblxuLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjZGVmYXVsdFNlbXZlclJhbmdlUHJlZml4ICovXG5leHBvcnQgZW51bSBZYXJuRGVmYXVsdFNlbXZlclJhbmdlUHJlZml4IHtcbiAgQ0FSRVQgPSBcIl5cIixcbiAgVElMREUgPSBcIn5cIixcbiAgRU1QVFlfU1RSSU5HID0gXCJcIixcbn1cblxuLyoqIGh0dHBzOi8vdjMueWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbG9nRmlsdGVycy4wLmxldmVsICovXG5leHBvcnQgZW51bSBZYXJuTG9nRmlsdGVyTGV2ZWwge1xuICBJTkZPID0gXCJpbmZvXCIsXG4gIFdBUk5JTkcgPSBcIndhcm5pbmdcIixcbiAgRVJST1IgPSBcImVycm9yXCIsXG4gIERJU0NBUkQgPSBcImRpc2NhcmRcIixcbn1cblxuLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbG9nRmlsdGVycyAqL1xuZXhwb3J0IGludGVyZmFjZSBZYXJuTG9nRmlsdGVyIHtcbiAgcmVhZG9ubHkgY29kZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdGV4dD86IHN0cmluZztcbiAgcmVhZG9ubHkgbGV2ZWw/OiBZYXJuTG9nRmlsdGVyTGV2ZWw7XG4gIHJlYWRvbmx5IHBhdHRlcm4/OiBzdHJpbmc7XG59XG5cbi8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI25ldHdvcmtTZXR0aW5ncyAqL1xuZXhwb3J0IGludGVyZmFjZSBZYXJuTmV0d29ya1NldHRpbmcge1xuICAvKiogQGRlcHJlY2F0ZWQgLSB1c2UgaHR0cHNDYUZpbGVQYXRoIGluIFlhcm4gdjQgYW5kIG5ld2VyICovXG4gIHJlYWRvbmx5IGNhRmlsZVBhdGg/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGh0dHBzQ2FGaWxlUGF0aD86IHN0cmluZztcbiAgcmVhZG9ubHkgZW5hYmxlTmV0d29yaz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGh0dHBQcm94eT86IHN0cmluZztcbiAgcmVhZG9ubHkgaHR0cHNQcm94eT86IHN0cmluZztcbiAgcmVhZG9ubHkgaHR0cHNLZXlGaWxlUGF0aD86IHN0cmluZztcbiAgcmVhZG9ubHkgaHR0cHNDZXJ0RmlsZVBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI25tSG9pc3RpbmdMaW1pdHMgKi9cbmV4cG9ydCBlbnVtIFlhcm5ObUhvaXN0aW5nTGltaXQge1xuICBERVBFTkRFTkNJRVMgPSBcImRlcGVuZGVuY2llc1wiLFxuICBOT05FID0gXCJub25lXCIsXG4gIFdPUktTUEFDRVMgPSBcIndvcmtzcGFjZXNcIixcbn1cblxuLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbm1Nb2RlICovXG5leHBvcnQgZW51bSBZYXJuTm1Nb2RlIHtcbiAgQ0xBU1NJQyA9IFwiY2xhc3NpY1wiLFxuICBIQVJETElOS1NfTE9DQUwgPSBcImhhcmRsaW5rcy1sb2NhbFwiLFxuICBIQVJETElOS1NfR0xPQkFMID0gXCJoYXJkbGlua3MtZ2xvYmFsXCIsXG59XG5cbi8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI25vZGVMaW5rZXIgKi9cbmV4cG9ydCBlbnVtIFlhcm5Ob2RlTGlua2VyIHtcbiAgUE5QID0gXCJwbnBcIixcbiAgUE5QTSA9IFwicG5wbVwiLFxuICBOT0RFX01PRFVMRVMgPSBcIm5vZGUtbW9kdWxlc1wiLFxufVxuXG4vKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNucG1QdWJsaXNoQWNjZXNzICovXG5leHBvcnQgZW51bSBZYXJuTnBtUHVibGlzaEFjY2VzcyB7XG4gIFBVQkxJQyA9IFwicHVibGljXCIsXG4gIFJFU1RSSUNURUQgPSBcInJlc3RyaWN0ZWRcIixcbn1cblxuLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbnBtUmVnaXN0cmllcyAqL1xuZXhwb3J0IGludGVyZmFjZSBZYXJuTnBtUmVnaXN0cnkge1xuICByZWFkb25seSBucG1BbHdheXNBdXRoPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbnBtQXV0aElkZW50Pzogc3RyaW5nO1xuICByZWFkb25seSBucG1BdXRoVG9rZW4/OiBzdHJpbmc7XG59XG5cbi8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI25wbVNjb3BlcyAqL1xuZXhwb3J0IGludGVyZmFjZSBZYXJuTnBtU2NvcGUge1xuICByZWFkb25seSBucG1QdWJsaXNoUmVnaXN0cnk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5wbVJlZ2lzdHJ5U2VydmVyPzogc3RyaW5nO1xuICByZWFkb25seSBucG1BbHdheXNBdXRoPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbnBtQXV0aElkZW50Pzogc3RyaW5nO1xuICByZWFkb25seSBucG1BdXRoVG9rZW4/OiBzdHJpbmc7XG59XG5cbi8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3BhY2thZ2VFeHRlbnNpb25zICovXG5leHBvcnQgaW50ZXJmYWNlIFlhcm5QZWVyRGVwZW5kZW5jeU1ldGEge1xuICByZWFkb25seSBvcHRpb25hbD86IGJvb2xlYW47XG59XG5cbi8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3BhY2thZ2VFeHRlbnNpb25zICovXG5leHBvcnQgaW50ZXJmYWNlIFlhcm5QYWNrYWdlRXh0ZW5zaW9uIHtcbiAgcmVhZG9ubHkgZGVwZW5kZW5jaWVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgcmVhZG9ubHkgcGVlckRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHJlYWRvbmx5IHBlZXJEZXBlbmRlbmNpZXNNZXRhPzogUmVjb3JkPFxuICAgIHN0cmluZyxcbiAgICBSZWNvcmQ8c3RyaW5nLCBZYXJuUGVlckRlcGVuZGVuY3lNZXRhPlxuICA+O1xufVxuXG4vKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNwbnBGYWxsYmFja01vZGUgKi9cbmV4cG9ydCBlbnVtIFlhcm5QbnBGYWxsYmFja01vZGUge1xuICBOT05FID0gXCJub25lXCIsXG4gIERFUEVOREVOQ0lFU19PTkxZID0gXCJkZXBlbmRlbmNpZXMtb25seVwiLFxuICBBTEwgPSBcImFsbFwiLFxufVxuXG4vKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNwbnBNb2RlICovXG5leHBvcnQgZW51bSBZYXJuUG5wTW9kZSB7XG4gIFNUUklDVCA9IFwic3RyaWN0XCIsXG4gIExPT1NFID0gXCJsb29zZVwiLFxufVxuXG4vKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNwcm9ncmVzc0JhclN0eWxlICovXG5leHBvcnQgZW51bSBZYXJuUHJvZ3Jlc3NCYXJTdHlsZSB7XG4gIFBBVFJJQ0sgPSBcInBhdHJpY2tcIixcbiAgU0lNQkEgPSBcInNpbWJhXCIsXG4gIEpBQ0sgPSBcImphY2tcIixcbiAgSE9HU0ZBVEhFUiA9IFwiaG9nc2ZhdGhlclwiLFxuICBERUZBVUxUID0gXCJkZWZhdWx0XCIsXG59XG5cbi8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3N1cHBvcnRlZEFyY2hpdGVjdHVyZXMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgWWFyblN1cHBvcnRlZEFyY2hpdGVjdHVyZXMge1xuICByZWFkb25seSBvcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBjcHU/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgbGliYz86IHN0cmluZ1tdO1xufVxuXG4vKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNjYWNoZU1pZ3JhdGlvbk1vZGUgKi9cbmV4cG9ydCBlbnVtIFlhcm5DYWNoZU1pZ3JhdGlvbk1vZGUge1xuICBSRVFVSVJFRF9PTkxZID0gXCJyZXF1aWVkLW9ubHlcIixcbiAgTUFUQ0hfU1BFQyA9IFwibWF0Y2gtc3BlY1wiLFxuICBBTFdBWVMgPSBcImFsd2F5c1wiLFxufVxuXG4vKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyN3aW5MaW5rVHlwZSAqL1xuZXhwb3J0IGVudW0gWWFybldpbkxpbmtUeXBlIHtcbiAgSlVOQ1RJT05TID0gXCJqdW5jdGlvbnNcIixcbiAgU1lNTElOS1MgPSBcInN5bWxpbmtzXCIsXG59XG5cbmV4cG9ydCBlbnVtIFlhcm5Xb3JrZXJQb29sTW9kZSB7XG4gIEFTWU5DID0gXCJhc3luY1wiLFxuICBXT1JLRVJTID0gXCJ3b3JrZXJzXCIsXG59XG5cbi8qKiBDb25maWd1cmF0aW9uIGZvciAueWFybnJjLnltbCBpbiBZYXJuIEJlcnJ5IHY0ICovXG5leHBvcnQgaW50ZXJmYWNlIFlhcm5yY09wdGlvbnMge1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNjYWNoZUZvbGRlciAqL1xuICByZWFkb25seSBjYWNoZUZvbGRlcj86IHN0cmluZztcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjY2FjaGVNaWdyYXRpb25Nb2RlICovXG4gIHJlYWRvbmx5IGNhY2hlTWlncmF0aW9uTW9kZT86IFlhcm5DYWNoZU1pZ3JhdGlvbk1vZGU7XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2h0dHBzQ2FGaWxlUGF0aCAqL1xuICByZWFkb25seSBodHRwc0NhRmlsZVBhdGg/OiBzdHJpbmc7XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2NoYW5nZXNldEJhc2VSZWZzICovXG4gIHJlYWRvbmx5IGNoYW5nZXNldEJhc2VSZWZzPzogc3RyaW5nW107XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2NoYW5nZXNldElnbm9yZVBhdHRlcm5zICovXG4gIHJlYWRvbmx5IGNoYW5nZXNldElnbm9yZVBhdHRlcm5zPzogc3RyaW5nW107XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2NoZWNrc3VtQmVoYXZpb3IgKi9cbiAgcmVhZG9ubHkgY2hlY2tzdW1CZWhhdmlvcj86IFlhcm5DaGVja3N1bUJlaGF2aW9yO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNjbG9uZUNvbmN1cnJlbmN5ICovXG4gIHJlYWRvbmx5IGNsb25lQ29uY3VycmVuY3k/OiBudW1iZXI7XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2NvbXByZXNzaW9uTGV2ZWwgKi9cbiAgcmVhZG9ubHkgY29tcHJlc3Npb25MZXZlbD86IG51bWJlciB8IHN0cmluZztcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjY29uc3RyYWludHNQYXRoICovXG4gIHJlYWRvbmx5IGNvbnN0cmFpbnRzUGF0aD86IHN0cmluZztcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjZGVmYXVsdExhbmd1YWdlTmFtZSAqL1xuICByZWFkb25seSBkZWZhdWx0TGFuZ3VhZ2VOYW1lPzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNkZWZhdWx0UHJvdG9jb2wgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFByb3RvY29sPzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNkZWZhdWx0U2VtdmVyUmFuZ2VQcmVmaXggKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFNlbXZlclJhbmdlUHJlZml4PzogWWFybkRlZmF1bHRTZW12ZXJSYW5nZVByZWZpeDtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjZGVmZXJyZWRWZXJzaW9uRm9sZGVyICovXG4gIHJlYWRvbmx5IGRlZmVycmVkVmVyc2lvbkZvbGRlcj86IHN0cmluZztcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjZW5hYmxlQ29sb3JzICovXG4gIHJlYWRvbmx5IGVuYWJsZUNvbG9ycz86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2VuYWJsZUNvbnN0cmFpbnRzQ2hlY2sgKi9cbiAgcmVhZG9ubHkgZW5hYmxlQ29uc3RyYWludHNDaGVjaz86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2VuYWJsZUdsb2JhbENhY2hlICovXG4gIHJlYWRvbmx5IGVuYWJsZUdsb2JhbENhY2hlPzogYm9vbGVhbjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjZW5hYmxlSGFyZGVuZWRNb2RlICovXG4gIHJlYWRvbmx5IGVuYWJsZUhhcmRlbmVkTW9kZT86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2VuYWJsZUh5cGVybGlua3MgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSHlwZXJsaW5rcz86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2VuYWJsZUltbXV0YWJsZUNhY2hlICovXG4gIHJlYWRvbmx5IGVuYWJsZUltbXV0YWJsZUNhY2hlPzogYm9vbGVhbjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjZW5hYmxlSW1tdXRhYmxlSW5zdGFsbHMgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSW1tdXRhYmxlSW5zdGFsbHM/OiBib29sZWFuO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNlbmFibGVJbmxpbmVCdWlsZHMgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSW5saW5lQnVpbGRzPzogYm9vbGVhbjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjZW5hYmxlSW5saW5lSHVua3MgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSW5saW5lSHVua3M/OiBib29sZWFuO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNlbmFibGVNZXNzYWdlTmFtZXMgKi9cbiAgcmVhZG9ubHkgZW5hYmxlTWVzc2FnZU5hbWVzPzogYm9vbGVhbjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjZW5hYmxlTWlycm9yICovXG4gIHJlYWRvbmx5IGVuYWJsZU1pcnJvcj86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2VuYWJsZU5ldHdvcmsgKi9cbiAgcmVhZG9ubHkgZW5hYmxlTmV0d29yaz86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2VuYWJsZU9mZmxpbmVNb2RlICovXG4gIHJlYWRvbmx5IGVuYWJsZU9mZmxpbmVNb2RlPzogYm9vbGVhbjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjZW5hYmxlUHJvZ3Jlc3NCYXJzICovXG4gIHJlYWRvbmx5IGVuYWJsZVByb2dyZXNzQmFycz86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2VuYWJsZVNjcmlwdHMgKi9cbiAgcmVhZG9ubHkgZW5hYmxlU2NyaXB0cz86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2VuYWJsZVN0cmljdFNzbCAqL1xuICByZWFkb25seSBlbmFibGVTdHJpY3RTc2w/OiBib29sZWFuO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNlbmFibGVUZWxlbWV0cnkgKi9cbiAgcmVhZG9ubHkgZW5hYmxlVGVsZW1ldHJ5PzogYm9vbGVhbjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjZW5hYmxlVGltZXJzICovXG4gIHJlYWRvbmx5IGVuYWJsZVRpbWVycz86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2VuYWJsZVRyYW5zcGFyZW50V29ya3NwYWNlcyAqL1xuICByZWFkb25seSBlbmFibGVUcmFuc3BhcmVudFdvcmtzcGFjZXM/OiBib29sZWFuO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNnbG9iYWxGb2xkZXIgKi9cbiAgcmVhZG9ubHkgZ2xvYmFsRm9sZGVyPzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNodHRwUHJveHkgKi9cbiAgcmVhZG9ubHkgaHR0cFByb3h5Pzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNodHRwUmV0cnkgKi9cbiAgcmVhZG9ubHkgaHR0cFJldHJ5PzogbnVtYmVyO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNodHRwVGltZW91dCAqL1xuICByZWFkb25seSBodHRwVGltZW91dD86IG51bWJlcjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjaHR0cHNDZXJ0RmlsZVBhdGggKi9cbiAgcmVhZG9ubHkgaHR0cHNDZXJ0RmlsZVBhdGg/OiBzdHJpbmc7XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2h0dHBzS2V5RmlsZVBhdGggKi9cbiAgcmVhZG9ubHkgaHR0cHNLZXlGaWxlUGF0aD86IHN0cmluZztcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjaHR0cHNQcm94eSAqL1xuICByZWFkb25seSBodHRwc1Byb3h5Pzogc3RyaW5nO1xuICAvKipcbiAgICogaHR0cHM6Ly92My55YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNpZ25vcmVDd2RcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgLSByZW1vdmVkIGluIFlhcm4gdjQgYW5kIG5ld2VyXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVDd2Q/OiBib29sZWFuO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNpZ25vcmVQYXRoICovXG4gIHJlYWRvbmx5IGlnbm9yZVBhdGg/OiBib29sZWFuO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNpbW11dGFibGVQYXR0ZXJucyAqL1xuICByZWFkb25seSBpbW11dGFibGVQYXR0ZXJucz86IHN0cmluZ1tdO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNpbml0U2NvcGUgKi9cbiAgcmVhZG9ubHkgaW5pdFNjb3BlPzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNpbml0RmllbGRzICovXG4gIHJlYWRvbmx5IGluaXRGaWVsZHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNpbmplY3RFbnZpcm9ubWVudEZpbGVzICovXG4gIHJlYWRvbmx5IGluamVjdEVudmlyb25tZW50RmlsZXM/OiBzdHJpbmdbXTtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjaW5zdGFsbFN0YXRlUGF0aCAqL1xuICByZWFkb25seSBpbnN0YWxsU3RhdGVQYXRoPzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNsb2dGaWx0ZXJzICovXG4gIHJlYWRvbmx5IGxvZ0ZpbHRlcnM/OiBZYXJuTG9nRmlsdGVyW107XG4gIC8qKlxuICAgKiBodHRwczovL3YzLnlhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI2xvY2tmaWxlRmlsZW5hbWVcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgLSByZW1vdmVkIGluIFlhcm4gdjQgYW5kIG5ld2VyXG4gICAqL1xuICByZWFkb25seSBsb2NrZmlsZUZpbGVuYW1lPzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNuZXR3b3JrQ29uY3VycmVuY3kgKi9cbiAgcmVhZG9ubHkgbmV0d29ya0NvbmN1cnJlbmN5PzogbnVtYmVyO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNuZXR3b3JrU2V0dGluZ3MgKi9cbiAgcmVhZG9ubHkgbmV0d29ya1NldHRpbmdzPzogUmVjb3JkPHN0cmluZywgWWFybk5ldHdvcmtTZXR0aW5nPjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbm1Ib2lzdGluZ0xpbWl0cyAqL1xuICByZWFkb25seSBubUhvaXN0aW5nTGltaXRzPzogWWFybk5tSG9pc3RpbmdMaW1pdDtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbm1TZWxmUmVmZXJlbmNlcyAqL1xuICByZWFkb25seSBubVNlbGZSZWZlcmVuY2VzPzogYm9vbGVhbjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbm1Nb2RlICovXG4gIHJlYWRvbmx5IG5tTW9kZT86IFlhcm5ObU1vZGU7XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI25vZGVMaW5rZXIgKi9cbiAgcmVhZG9ubHkgbm9kZUxpbmtlcj86IFlhcm5Ob2RlTGlua2VyO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyN3aW5MaW5rVHlwZSAqL1xuICByZWFkb25seSB3aW5MaW5rVHlwZT86IFlhcm5XaW5MaW5rVHlwZTtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbnBtQWx3YXlzQXV0aCAqL1xuICByZWFkb25seSBucG1BbHdheXNBdXRoPzogYm9vbGVhbjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbnBtQXVkaXRSZWdpc3RyeSAqL1xuICByZWFkb25seSBucG1BdWRpdFJlZ2lzdHJ5Pzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNucG1BdXRoSWRlbnQgKi9cbiAgcmVhZG9ubHkgbnBtQXV0aElkZW50Pzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNucG1BdXRoVG9rZW4gKi9cbiAgcmVhZG9ubHkgbnBtQXV0aFRva2VuPzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNucG1QdWJsaXNoQWNjZXNzICovXG4gIHJlYWRvbmx5IG5wbVB1Ymxpc2hBY2Nlc3M/OiBZYXJuTnBtUHVibGlzaEFjY2VzcztcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbnBtQXVkaXRFeGNsdWRlUGFja2FnZXMgKi9cbiAgcmVhZG9ubHkgbnBtQXVkaXRFeGNsdWRlUGFja2FnZXM/OiBzdHJpbmdbXTtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbnBtQXVkaXRJZ25vcmVBZHZpc29yaWVzICovXG4gIHJlYWRvbmx5IG5wbUF1ZGl0SWdub3JlQWR2aXNvcmllcz86IHN0cmluZ1tdO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNucG1QdWJsaXNoUmVnaXN0cnkgKi9cbiAgcmVhZG9ubHkgbnBtUHVibGlzaFJlZ2lzdHJ5Pzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNucG1SZWdpc3RyaWVzICovXG4gIHJlYWRvbmx5IG5wbVJlZ2lzdHJpZXM/OiBSZWNvcmQ8c3RyaW5nLCBZYXJuTnBtUmVnaXN0cnk+O1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNucG1SZWdpc3RyeVNlcnZlciAqL1xuICByZWFkb25seSBucG1SZWdpc3RyeVNlcnZlcj86IHN0cmluZztcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjbnBtU2NvcGVzICovXG4gIHJlYWRvbmx5IG5wbVNjb3Blcz86IFJlY29yZDxzdHJpbmcsIFlhcm5OcG1TY29wZT47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3BhY2thZ2VFeHRlbnNpb25zICovXG4gIHJlYWRvbmx5IHBhY2thZ2VFeHRlbnNpb25zPzogUmVjb3JkPHN0cmluZywgWWFyblBhY2thZ2VFeHRlbnNpb24+O1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNwYXRjaEZvbGRlciAqL1xuICByZWFkb25seSBwYXRjaEZvbGRlcj86IHN0cmluZztcbiAgLyoqXG4gICAqIGh0dHBzOi8vdjMueWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjcG5wRGF0YVBhdGhcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgLSByZW1vdmVkIGluIFlhcm4gdjQgYW5kIG5ld2VyXG4gICAqL1xuICByZWFkb25seSBwbnBEYXRhUGF0aD86IHN0cmluZztcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjcG5wRW5hYmxlRXNtTG9hZGVyICovXG4gIHJlYWRvbmx5IHBucEVuYWJsZUVzbUxvYWRlcj86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3BucEVuYWJsZUlubGluaW5nICovXG4gIHJlYWRvbmx5IHBucEVuYWJsZUlubGluaW5nPzogYm9vbGVhbjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjcG5wRmFsbGJhY2tNb2RlICovXG4gIHJlYWRvbmx5IHBucEZhbGxiYWNrTW9kZT86IFlhcm5QbnBGYWxsYmFja01vZGU7XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3BucElnbm9yZVBhdHRlcm5zICovXG4gIHJlYWRvbmx5IHBucElnbm9yZVBhdHRlcm5zPzogc3RyaW5nW107XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3BucE1vZGUgKi9cbiAgcmVhZG9ubHkgcG5wTW9kZT86IFlhcm5QbnBNb2RlO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNwbnBTaGViYW5nICovXG4gIHJlYWRvbmx5IHBucFNoZWJhbmc/OiBzdHJpbmc7XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3BucFVucGx1Z2dlZEZvbGRlciAqL1xuICByZWFkb25seSBwbnBVbnBsdWdnZWRGb2xkZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBodHRwczovL3YzLnlhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3ByZWZlckFnZ3JlZ2F0ZUNhY2hlSW5mb1xuICAgKlxuICAgKiBAZGVwcmVjYXRlZCAtIHJlbW92ZWQgaW4gWWFybiB2NCBhbmQgbmV3ZXJcbiAgICovXG4gIHJlYWRvbmx5IHByZWZlckFnZ3JlZ2F0ZUNhY2hlSW5mbz86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3ByZWZlckRlZmVycmVkVmVyc2lvbnMgKi9cbiAgcmVhZG9ubHkgcHJlZmVyRGVmZXJyZWRWZXJzaW9ucz86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3ByZWZlckludGVyYWN0aXZlICovXG4gIHJlYWRvbmx5IHByZWZlckludGVyYWN0aXZlPzogYm9vbGVhbjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjcHJlZmVyUmV1c2UgKi9cbiAgcmVhZG9ubHkgcHJlZmVyUmV1c2U/OiBib29sZWFuO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNwcmVmZXJUcnVuY2F0ZWRMaW5lcyAqL1xuICByZWFkb25seSBwcmVmZXJUcnVuY2F0ZWRMaW5lcz86IGJvb2xlYW47XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3Byb2dyZXNzQmFyU3R5bGUgKi9cbiAgcmVhZG9ubHkgcHJvZ3Jlc3NCYXJTdHlsZT86IFlhcm5Qcm9ncmVzc0JhclN0eWxlO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyNyY0ZpbGVuYW1lICovXG4gIHJlYWRvbmx5IHJjRmlsZW5hbWU/OiBzdHJpbmc7XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3N1cHBvcnRlZEFyY2hpdGVjdHVyZXMgKi9cbiAgcmVhZG9ubHkgc3VwcG9ydGVkQXJjaGl0ZWN0dXJlcz86IFlhcm5TdXBwb3J0ZWRBcmNoaXRlY3R1cmVzO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyN0YXNrUG9vbENvbmN1cnJlbmN5ICovXG4gIHJlYWRvbmx5IHRhc2tQb29sQ29uY3VycmVuY3k/OiBzdHJpbmc7XG4gIC8qKiBodHRwczovL3lhcm5wa2cuY29tL2NvbmZpZ3VyYXRpb24veWFybnJjI3dvcmtlclBvb2xNb2RlICovXG4gIHJlYWRvbmx5IHdvcmtlclBvb2xNb2RlPzogWWFybldvcmtlclBvb2xNb2RlO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyN0ZWxlbWV0cnlJbnRlcnZhbCAqL1xuICByZWFkb25seSB0ZWxlbWV0cnlJbnRlcnZhbD86IG51bWJlcjtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjdGVsZW1ldHJ5VXNlcklkICovXG4gIHJlYWRvbmx5IHRlbGVtZXRyeVVzZXJJZD86IHN0cmluZztcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjdHNFbmFibGVBdXRvVHlwZXMgKi9cbiAgcmVhZG9ubHkgdHNFbmFibGVBdXRvVHlwZXM/OiBib29sZWFuO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyN1bnNhZmVIdHRwV2hpdGVsaXN0ICovXG4gIHJlYWRvbmx5IHVuc2FmZUh0dHBXaGl0ZWxpc3Q/OiBzdHJpbmdbXTtcbiAgLyoqIGh0dHBzOi8veWFybnBrZy5jb20vY29uZmlndXJhdGlvbi95YXJucmMjdmlydHVhbEZvbGRlciAqL1xuICByZWFkb25seSB2aXJ0dWFsRm9sZGVyPzogc3RyaW5nO1xuICAvKiogaHR0cHM6Ly95YXJucGtnLmNvbS9jb25maWd1cmF0aW9uL3lhcm5yYyN5YXJuUGF0aCAqL1xuICByZWFkb25seSB5YXJuUGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFlhcm5yYyBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHZlcnNpb246IHN0cmluZywgb3B0aW9uczogWWFybnJjT3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICB0aGlzLnZhbGlkYXRlT3B0aW9uc0ZvclZlcnNpb24oc2VtdmVyLm1ham9yKHZlcnNpb24pLCBvcHRpb25zKTtcblxuICAgIG5ldyBZYW1sRmlsZShwcm9qZWN0LCBcIi55YXJucmMueW1sXCIsIHtcbiAgICAgIG9iajogb3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVPcHRpb25zRm9yVmVyc2lvbihcbiAgICBtYWpvclZlcnNpb246IG51bWJlcixcbiAgICBvcHRpb25zOiBZYXJucmNPcHRpb25zXG4gICkge1xuICAgIGNvbnN0IHJlbW92ZWRJblY0OiBBcnJheTxrZXlvZiBZYXJucmNPcHRpb25zPiA9IFtcbiAgICAgIFwiaWdub3JlQ3dkXCIsXG4gICAgICBcImxvY2tmaWxlRmlsZW5hbWVcIixcbiAgICAgIFwicG5wRGF0YVBhdGhcIixcbiAgICAgIFwicHJlZmVyQWdncmVnYXRlQ2FjaGVJbmZvXCIsXG4gICAgXTtcbiAgICBjb25zdCBuZXdJblY0OiBBcnJheTxrZXlvZiBZYXJucmNPcHRpb25zPiA9IFtcbiAgICAgIFwiY2FjaGVNaWdyYXRpb25Nb2RlXCIsXG4gICAgICBcImh0dHBzQ2FGaWxlUGF0aFwiLFxuICAgICAgXCJlbmFibGVDb25zdHJhaW50c0NoZWNrXCIsXG4gICAgICBcImVuYWJsZUhhcmRlbmVkTW9kZVwiLFxuICAgICAgXCJlbmFibGVJbmxpbmVIdW5rc1wiLFxuICAgICAgXCJlbmFibGVPZmZsaW5lTW9kZVwiLFxuICAgICAgXCJpbmplY3RFbnZpcm9ubWVudEZpbGVzXCIsXG4gICAgICBcIndpbkxpbmtUeXBlXCIsXG4gICAgICBcInByZWZlclJldXNlXCIsXG4gICAgICBcInRhc2tQb29sQ29uY3VycmVuY3lcIixcbiAgICAgIFwid29ya2VyUG9vbE1vZGVcIixcbiAgICAgIFwidHNFbmFibGVBdXRvVHlwZXNcIixcbiAgICBdO1xuXG4gICAgaWYgKG1ham9yVmVyc2lvbiA+PSA0KSB7XG4gICAgICBjb25zdCBpbnZhbGlkT3B0aW9ucyA9IE9iamVjdC5rZXlzKG9wdGlvbnMpLmZpbHRlcigob3B0aW9uKSA9PlxuICAgICAgICAocmVtb3ZlZEluVjQgYXMgc3RyaW5nW10pLmluY2x1ZGVzKG9wdGlvbilcbiAgICAgICk7XG5cbiAgICAgIGlmIChpbnZhbGlkT3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSBub3QgYXZhaWxhYmxlIGluIFlhcm4gPj0gNDogJHtpbnZhbGlkT3B0aW9ucy5qb2luKFxuICAgICAgICAgICAgXCIsIFwiXG4gICAgICAgICAgKX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGludmFsaWRPcHRpb25zID0gT2JqZWN0LmtleXMob3B0aW9ucykuZmlsdGVyKChvcHRpb24pID0+XG4gICAgICAgIChuZXdJblY0IGFzIHN0cmluZ1tdKS5pbmNsdWRlcyhvcHRpb24pXG4gICAgICApO1xuXG4gICAgICBpZiAoaW52YWxpZE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFRoZSBmb2xsb3dpbmcgb3B0aW9ucyBhcmUgb25seSBhdmFpbGFibGUgaW4gWWFybiB2NCBhbmQgbmV3ZXI6ICR7aW52YWxpZE9wdGlvbnMuam9pbihcbiAgICAgICAgICAgIFwiLCBcIlxuICAgICAgICAgICl9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIG9wdGlvbnMuY2hlY2tzdW1CZWhhdmlvciAmJlxuICAgICAgICBvcHRpb25zLmNoZWNrc3VtQmVoYXZpb3IgPT09IFlhcm5DaGVja3N1bUJlaGF2aW9yLlJFU0VUXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiVGhlIFlhcm5DaGVja3N1bUJlaGF2aW9yLlJFU0VUIGlzIG9ubHkgYXZhaWxhYmxlIGluIFlhcm4gdjQgYW5kIG5ld2VyLlwiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
package/lib/json-patch.js CHANGED
@@ -152,5 +152,5 @@ class JsonPatch {
152
152
  }
153
153
  exports.JsonPatch = JsonPatch;
154
154
  _a = JSII_RTTI_SYMBOL_1;
155
- JsonPatch[_a] = { fqn: "projen.JsonPatch", version: "0.76.19" };
155
+ JsonPatch[_a] = { fqn: "projen.JsonPatch", version: "0.76.21" };
156
156
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1wYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9qc29uLXBhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0ZBQWtGO0FBQ2xGLDJCQUEyQjtBQUMzQixxREFZeUI7QUFFekIsSUFBWSxtQkFTWDtBQVRELFdBQVksbUJBQW1CO0lBQzdCOztPQUVHO0lBQ0gsb0NBQWEsQ0FBQTtJQUNiOztPQUVHO0lBQ0gsOENBQXVCLENBQUE7QUFDekIsQ0FBQyxFQVRXLG1CQUFtQixtQ0FBbkIsbUJBQW1CLFFBUzlCO0FBRUQsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFdkU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFhLFNBQVM7SUFDcEI7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQWEsRUFBRSxHQUFHLEdBQWdCO1FBQ3BELElBQUk7WUFDRixNQUFNLE1BQU0sR0FBRyxJQUFBLDRCQUFVLEVBQ3ZCLFFBQVEsRUFDUixJQUFBLDJCQUFTLEVBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FDdkMsQ0FBQztZQUNGLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQztTQUMzQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFlBQVksZ0NBQWMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLHVCQUF1QixFQUFFO2dCQUNyRSxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQU0sQ0FBQyxDQUFDO2dCQUN6QixJQUFJLDRCQUE0QixJQUFJLEVBQUUsRUFBRTtvQkFDdEMsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDLENBQUM7b0JBQ3pELElBQUksZUFBZSxLQUFLLG1CQUFtQixDQUFDLElBQUksRUFBRTt3QkFDaEQsT0FBTyxRQUFRLENBQUM7cUJBQ2pCO2lCQUNGO2FBQ0Y7WUFDRCxNQUFNLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDeEMsT0FBTyxJQUFJLFNBQVMsQ0FBQztZQUNuQixFQUFFLEVBQUUsS0FBSztZQUNULElBQUk7WUFDSixLQUFLO1NBQ3NCLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVk7UUFDL0IsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUE0QixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVksRUFBRSxLQUFVO1FBQzVDLE9BQU8sSUFBSSxTQUFTLENBQUM7WUFDbkIsRUFBRSxFQUFFLFNBQVM7WUFDYixJQUFJO1lBQ0osS0FBSztTQUMwQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUMzQyxPQUFPLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUEwQixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQVksRUFBRSxJQUFZO1FBQzNDLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQTBCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixJQUFZLEVBQ1osS0FBVSxFQUNWLGtCQUF1QyxtQkFBbUIsQ0FBQyxJQUFJO1FBRS9ELE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzFCLEVBQUUsRUFBRSxNQUFNO1lBQ1YsSUFBSTtZQUNKLEtBQUs7U0FDdUIsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLDRCQUE0QixFQUFFO1lBQ3pELFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLGVBQWU7U0FDdkIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWTtRQUNuQyxPQUFPLElBQUEscUNBQW1CLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQXFDLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFBRyxDQUFDO0lBRTdEOzs7O09BSUc7SUFDSSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7O0FBOUhILDhCQStIQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGluc3BpcmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9jZGs4cy10ZWFtL2NkazhzLWNvcmUvYmxvYi8yLngvc3JjL2pzb24tcGF0Y2gudHNcbi8vIHVuZGVyIEFwYWNoZSAyLjAgbGljZW5zZVxuaW1wb3J0IHtcbiAgYXBwbHlQYXRjaCxcbiAgZGVlcENsb25lLFxuICBPcGVyYXRpb24sXG4gIEFkZE9wZXJhdGlvbixcbiAgUmVtb3ZlT3BlcmF0aW9uLFxuICBSZXBsYWNlT3BlcmF0aW9uLFxuICBNb3ZlT3BlcmF0aW9uLFxuICBDb3B5T3BlcmF0aW9uLFxuICBUZXN0T3BlcmF0aW9uLFxuICBlc2NhcGVQYXRoQ29tcG9uZW50LFxuICBKc29uUGF0Y2hFcnJvcixcbn0gZnJvbSBcImZhc3QtanNvbi1wYXRjaFwiO1xuXG5leHBvcnQgZW51bSBUZXN0RmFpbHVyZUJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIFNraXAgdGhlIGN1cnJlbnQgcGF0Y2ggb3BlcmF0aW9uIGFuZCBjb250aW51ZSB3aXRoIHRoZSBuZXh0IG9wZXJhdGlvbi5cbiAgICovXG4gIFNLSVAgPSBcInNraXBcIixcbiAgLyoqXG4gICAqIEZhaWwgdGhlIHdob2xlIGZpbGUgc3ludGhlc2lzLlxuICAgKi9cbiAgRkFJTF9TWU5USEVTSVMgPSBcImZhaWxcIixcbn1cblxuY29uc3QgVEVTVF9GQUlMVVJFX0JFSEFWSU9SX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJ0ZXN0RmFpbHVyZUJlaGF2aW9yXCIpO1xuXG4vKipcbiAqIFV0aWxpdHkgZm9yIGFwcGx5aW5nIFJGQy02OTAyIEpTT04tUGF0Y2ggdG8gYSBkb2N1bWVudC5cbiAqXG4gKiBVc2UgdGhlIHRoZSBgSnNvblBhdGNoLmFwcGx5KGRvYywgLi4ub3BzKWAgZnVuY3Rpb24gdG8gYXBwbHkgYSBzZXQgb2ZcbiAqIG9wZXJhdGlvbnMgdG8gYSBKU09OIGRvY3VtZW50IGFuZCByZXR1cm4gdGhlIHJlc3VsdC5cbiAqXG4gKiBPcGVyYXRpb25zIGNhbiBiZSBjcmVhdGVkIHVzaW5nIHRoZSBmYWN0b3J5IG1ldGhvZHMgYEpzb25QYXRjaC5hZGQoKWAsXG4gKiBgSnNvblBhdGNoLnJlbW92ZSgpYCwgZXRjLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICpjb25zdCBvdXRwdXQgPSBKc29uUGF0Y2guYXBwbHkoaW5wdXQsXG4gKiAgSnNvblBhdGNoLnJlcGxhY2UoJy93b3JsZC9oaS90aGVyZScsICdnb29kYnllJyksXG4gKiAgSnNvblBhdGNoLmFkZCgnL3dvcmxkL2Zvby8nLCAnYm9vbScpLFxuICogIEpzb25QYXRjaC5yZW1vdmUoJy9oZWxsbycpKTtcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBKc29uUGF0Y2gge1xuICAvKipcbiAgICogQXBwbGllcyBhIHNldCBvZiBKU09OLVBhdGNoIChSRkMtNjkwMikgb3BlcmF0aW9ucyB0byBgZG9jdW1lbnRgIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuXG4gICAqIEBwYXJhbSBkb2N1bWVudCBUaGUgZG9jdW1lbnQgdG8gcGF0Y2hcbiAgICogQHBhcmFtIG9wcyBUaGUgb3BlcmF0aW9ucyB0byBhcHBseVxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IGRvY3VtZW50XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFwcGx5KGRvY3VtZW50OiBhbnksIC4uLm9wczogSnNvblBhdGNoW10pOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhcHBseVBhdGNoKFxuICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgZGVlcENsb25lKG9wcy5tYXAoKG8pID0+IG8uX3RvSnNvbigpKSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gcmVzdWx0Lm5ld0RvY3VtZW50O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgSnNvblBhdGNoRXJyb3IgJiYgZS5uYW1lID09PSBcIlRFU1RfT1BFUkFUSU9OX0ZBSUxFRFwiKSB7XG4gICAgICAgIGNvbnN0IG9wID0gb3BzW2UuaW5kZXghXTtcbiAgICAgICAgaWYgKFRFU1RfRkFJTFVSRV9CRUhBVklPUl9TWU1CT0wgaW4gb3ApIHtcbiAgICAgICAgICBjb25zdCBmYWlsdXJlQmVoYXZpb3IgPSBvcFtURVNUX0ZBSUxVUkVfQkVIQVZJT1JfU1lNQk9MXTtcbiAgICAgICAgICBpZiAoZmFpbHVyZUJlaGF2aW9yID09PSBUZXN0RmFpbHVyZUJlaGF2aW9yLlNLSVApIHtcbiAgICAgICAgICAgIHJldHVybiBkb2N1bWVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB2YWx1ZSB0byBhbiBvYmplY3Qgb3IgaW5zZXJ0cyBpdCBpbnRvIGFuIGFycmF5LiBJbiB0aGUgY2FzZSBvZiBhblxuICAgKiBhcnJheSwgdGhlIHZhbHVlIGlzIGluc2VydGVkIGJlZm9yZSB0aGUgZ2l2ZW4gaW5kZXguIFRoZSAtIGNoYXJhY3RlciBjYW4gYmVcbiAgICogdXNlZCBpbnN0ZWFkIG9mIGFuIGluZGV4IHRvIGluc2VydCBhdCB0aGUgZW5kIG9mIGFuIGFycmF5LlxuICAgKlxuICAgKiBAZXhhbXBsZSBKc29uUGF0Y2guYWRkKCcvYmlzY3VpdHMvMScsIHsgXCJuYW1lXCI6IFwiR2luZ2VyIE51dFwiIH0pXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFkZChwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gbmV3IEpzb25QYXRjaCh7XG4gICAgICBvcDogXCJhZGRcIixcbiAgICAgIHBhdGgsXG4gICAgICB2YWx1ZSxcbiAgICB9IHNhdGlzZmllcyBBZGRPcGVyYXRpb248YW55Pik7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIHZhbHVlIGZyb20gYW4gb2JqZWN0IG9yIGFycmF5LlxuICAgKlxuICAgKiBAZXhhbXBsZSBKc29uUGF0Y2gucmVtb3ZlKCcvYmlzY3VpdHMnKVxuICAgKiBAZXhhbXBsZSBKc29uUGF0Y2gucmVtb3ZlKCcvYmlzY3VpdHMvMCcpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlbW92ZShwYXRoOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IEpzb25QYXRjaCh7IG9wOiBcInJlbW92ZVwiLCBwYXRoIH0gc2F0aXNmaWVzIFJlbW92ZU9wZXJhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogUmVwbGFjZXMgYSB2YWx1ZS4gRXF1aXZhbGVudCB0byBhIOKAnHJlbW92ZeKAnSBmb2xsb3dlZCBieSBhbiDigJxhZGTigJ0uXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5yZXBsYWNlKCcvYmlzY3VpdHMvMC9uYW1lJywgJ0Nob2NvbGF0ZSBEaWdlc3RpdmUnKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZXBsYWNlKHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIHJldHVybiBuZXcgSnNvblBhdGNoKHtcbiAgICAgIG9wOiBcInJlcGxhY2VcIixcbiAgICAgIHBhdGgsXG4gICAgICB2YWx1ZSxcbiAgICB9IHNhdGlzZmllcyBSZXBsYWNlT3BlcmF0aW9uPGFueT4pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvcGllcyBhIHZhbHVlIGZyb20gb25lIGxvY2F0aW9uIHRvIGFub3RoZXIgd2l0aGluIHRoZSBKU09OIGRvY3VtZW50LiBCb3RoXG4gICAqIGZyb20gYW5kIHBhdGggYXJlIEpTT04gUG9pbnRlcnMuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5jb3B5KCcvYmlzY3VpdHMvMCcsICcvYmVzdF9iaXNjdWl0JylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY29weShmcm9tOiBzdHJpbmcsIHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgSnNvblBhdGNoKHsgb3A6IFwiY29weVwiLCBmcm9tLCBwYXRoIH0gc2F0aXNmaWVzIENvcHlPcGVyYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIGEgdmFsdWUgZnJvbSBvbmUgbG9jYXRpb24gdG8gdGhlIG90aGVyLiBCb3RoIGZyb20gYW5kIHBhdGggYXJlIEpTT04gUG9pbnRlcnMuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5tb3ZlKCcvYmlzY3VpdHMnLCAnL2Nvb2tpZXMnKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtb3ZlKGZyb206IHN0cmluZywgcGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBKc29uUGF0Y2goeyBvcDogXCJtb3ZlXCIsIGZyb20sIHBhdGggfSBzYXRpc2ZpZXMgTW92ZU9wZXJhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogVGVzdHMgdGhhdCB0aGUgc3BlY2lmaWVkIHZhbHVlIGlzIHNldCBpbiB0aGUgZG9jdW1lbnQuIElmIHRoZSB0ZXN0IGZhaWxzLFxuICAgKiB0aGVuIHRoZSBwYXRjaCBhcyBhIHdob2xlIHNob3VsZCBub3QgYXBwbHkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC50ZXN0KCcvYmVzdF9iaXNjdWl0L25hbWUnLCAnQ2hvY28gTGVpYm5peicpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRlc3QoXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHZhbHVlOiBhbnksXG4gICAgZmFpbHVyZUJlaGF2aW9yOiBUZXN0RmFpbHVyZUJlaGF2aW9yID0gVGVzdEZhaWx1cmVCZWhhdmlvci5TS0lQXG4gICkge1xuICAgIGNvbnN0IHBhdGNoID0gbmV3IEpzb25QYXRjaCh7XG4gICAgICBvcDogXCJ0ZXN0XCIsXG4gICAgICBwYXRoLFxuICAgICAgdmFsdWUsXG4gICAgfSBzYXRpc2ZpZXMgVGVzdE9wZXJhdGlvbjxhbnk+KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocGF0Y2gsIFRFU1RfRkFJTFVSRV9CRUhBVklPUl9TWU1CT0wsIHtcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBmYWlsdXJlQmVoYXZpb3IsXG4gICAgfSk7XG4gICAgcmV0dXJuIHBhdGNoO1xuICB9XG5cbiAgLyoqXG4gICAqIEVzY2FwZXMgYSBqc29uIHBvaW50ZXIgcGF0aFxuICAgKiBAcGFyYW0gcGF0aCBUaGUgcmF3IHBvaW50ZXJcbiAgICogQHJldHVybiB0aGUgRXNjYXBlZCBwYXRoXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVzY2FwZVBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZXNjYXBlUGF0aENvbXBvbmVudChwYXRoKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBvcGVyYXRpb246IE9wZXJhdGlvbikge31cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEpTT04gcGF0Y2ggb3BlcmF0aW9uLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfdG9Kc29uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uO1xuICB9XG59XG4iXX0=
package/lib/json.js CHANGED
@@ -40,5 +40,5 @@ class JsonFile extends object_file_1.ObjectFile {
40
40
  }
41
41
  exports.JsonFile = JsonFile;
42
42
  _a = JSII_RTTI_SYMBOL_1;
43
- JsonFile[_a] = { fqn: "projen.JsonFile", version: "0.76.19" };
43
+ JsonFile[_a] = { fqn: "projen.JsonFile", version: "0.76.21" };
44
44
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9qc29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsK0NBQThEO0FBbUI5RDs7R0FFRztBQUNILE1BQWEsUUFBUyxTQUFRLHdCQUFVO0lBSXRDLFlBQVksS0FBaUIsRUFBRSxRQUFnQixFQUFFLE9BQXdCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQjtZQUNuQixPQUFPLENBQUMsYUFBYTtnQkFDckIsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztvQkFDdkMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxRQUFtQjtRQUM3QyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDL0I7UUFFRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN4QyxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxLQUFLLE9BQU8sRUFBRSxDQUFDO1NBQzNDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxJQUFJLENBQUM7U0FDakI7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOztBQXhDSCw0QkF5Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IElSZXNvbHZlciB9IGZyb20gXCIuL2ZpbGVcIjtcbmltcG9ydCB7IE9iamVjdEZpbGUsIE9iamVjdEZpbGVPcHRpb25zIH0gZnJvbSBcIi4vb2JqZWN0LWZpbGVcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgSnNvbkZpbGVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEpzb25GaWxlT3B0aW9ucyBleHRlbmRzIE9iamVjdEZpbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFkZHMgYSBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG5ld2xpbmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBbGxvdyB0aGUgdXNlIG9mIGNvbW1lbnRzIGluIHRoaXMgZmlsZS5cbiAgICogQGRlZmF1bHQgLSBmYWxzZSBmb3IgLmpzb24gZmlsZXMsIHRydWUgZm9yIC5qc29uNSBhbmQgLmpzb25jIGZpbGVzXG4gICAqL1xuICByZWFkb25seSBhbGxvd0NvbW1lbnRzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgSlNPTiBmaWxlLlxuICovXG5leHBvcnQgY2xhc3MgSnNvbkZpbGUgZXh0ZW5kcyBPYmplY3RGaWxlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBuZXdsaW5lOiBib29sZWFuO1xuICByZWFkb25seSBzdXBwb3J0c0NvbW1lbnRzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBJQ29uc3RydWN0LCBmaWxlUGF0aDogc3RyaW5nLCBvcHRpb25zOiBKc29uRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihzY29wZSwgZmlsZVBhdGgsIG9wdGlvbnMpO1xuXG4gICAgdGhpcy5uZXdsaW5lID0gb3B0aW9ucy5uZXdsaW5lID8/IHRydWU7XG4gICAgdGhpcy5zdXBwb3J0c0NvbW1lbnRzID1cbiAgICAgIG9wdGlvbnMuYWxsb3dDb21tZW50cyA/P1xuICAgICAgKGZpbGVQYXRoLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoXCJqc29uNVwiKSB8fFxuICAgICAgICBmaWxlUGF0aC50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKFwianNvbmNcIikpO1xuXG4gICAgaWYgKCFvcHRpb25zLm9iaikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdcIm9ialwiIGNhbm5vdCBiZSB1bmRlZmluZWQnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXI6IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QganNvbiA9IHN1cGVyLnN5bnRoZXNpemVDb250ZW50KHJlc29sdmVyKTtcbiAgICBpZiAoIWpzb24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3Qgc2FuaXRpemVkID0gSlNPTi5wYXJzZShqc29uKTtcblxuICAgIGlmICh0aGlzLm1hcmtlciAmJiAhdGhpcy5zdXBwb3J0c0NvbW1lbnRzKSB7XG4gICAgICBzYW5pdGl6ZWRbXCIvL1wiXSA9IHRoaXMubWFya2VyO1xuICAgIH1cblxuICAgIGxldCBjb250ZW50ID0gSlNPTi5zdHJpbmdpZnkoc2FuaXRpemVkLCB1bmRlZmluZWQsIDIpO1xuICAgIGlmICh0aGlzLm1hcmtlciAmJiB0aGlzLnN1cHBvcnRzQ29tbWVudHMpIHtcbiAgICAgIGNvbnRlbnQgPSBgLy8gJHt0aGlzLm1hcmtlcn1cXG4ke2NvbnRlbnR9YDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5uZXdsaW5lKSB7XG4gICAgICBjb250ZW50ICs9IFwiXFxuXCI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cbn1cbiJdfQ==
package/lib/license.js CHANGED
@@ -36,5 +36,5 @@ class License extends file_1.FileBase {
36
36
  }
37
37
  exports.License = License;
38
38
  _a = JSII_RTTI_SYMBOL_1;
39
- License[_a] = { fqn: "projen.License", version: "0.76.19" };
39
+ License[_a] = { fqn: "projen.License", version: "0.76.21" };
40
40
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9saWNlbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLGlDQUE2QztBQThCN0MsTUFBYSxPQUFRLFNBQVEsZUFBUTtJQUduQyxZQUFZLE9BQWdCLEVBQUUsT0FBdUI7UUFDbkQsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDeEIsTUFBTSxFQUFFLEtBQUs7WUFDYix5REFBeUQ7WUFDekQsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUUxQixNQUFNLFFBQVEsR0FBRyxHQUFHLFNBQVMsb0JBQW9CLElBQUksTUFBTSxDQUFDO1FBQzVELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksRUFBRSxDQUFDLENBQUM7U0FDaEQ7UUFFRCxNQUFNLEtBQUssR0FDVCxPQUFPLENBQUMsZUFBZSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakUsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUVyQyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU5QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVoRCxvRkFBb0Y7UUFDcEYsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixNQUFNLElBQUksS0FBSyxDQUNiLE9BQU8sSUFBSSxvREFBb0QsQ0FDaEUsQ0FBQzthQUNIO1lBRUQsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDaEQ7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRVMsaUJBQWlCLENBQUMsQ0FBWTtRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7QUF6Q0gsMEJBMENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBGaWxlQmFzZSwgSVJlc29sdmVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBMaWNlbnNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBMaWNlbnNlIHR5cGUgKFNQRFgpLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wcm9qZW4vcHJvamVuL3RyZWUvbWFpbi9saWNlbnNlLXRleHQgZm9yIGxpc3Qgb2Ygc3VwcG9ydGVkIGxpY2Vuc2VzXG4gICAqL1xuICByZWFkb25seSBzcGR4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvcHlyaWdodCBvd25lci5cbiAgICpcbiAgICogSWYgdGhlIGxpY2Vuc2UgdGV4dCBoYXMgJGNvcHlyaWdodF9vd25lciwgdGhpcyBvcHRpb24gbXVzdCBiZSBzcGVjaWZpZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC1cbiAgICovXG4gIHJlYWRvbmx5IGNvcHlyaWdodE93bmVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQZXJpb2Qgb2YgbGljZW5zZSAoZS5nLiBcIjE5OTgtMjAyM1wiKVxuICAgKlxuICAgKiBUaGUgc3RyaW5nIGAkY29weXJpZ2h0X3BlcmlvZGAgd2lsbCBiZSBzdWJzdGl0dXRlZCB3aXRoIHRoaXMgc3RyaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGN1cnJlbnQgeWVhciAoZS5nLiBcIjIwMjBcIilcbiAgICovXG4gIHJlYWRvbmx5IGNvcHlyaWdodFBlcmlvZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIExpY2Vuc2UgZXh0ZW5kcyBGaWxlQmFzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IExpY2Vuc2VPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgXCJMSUNFTlNFXCIsIHtcbiAgICAgIG1hcmtlcjogZmFsc2UsXG4gICAgICAvLyBBbGxvdyB0aGUgbGljZW5zZSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHJlcG9zaXRvcmllcy5cbiAgICAgIGNvbW1pdHRlZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNwZHggPSBvcHRpb25zLnNwZHg7XG5cbiAgICBjb25zdCB0ZXh0RmlsZSA9IGAke19fZGlybmFtZX0vLi4vbGljZW5zZS10ZXh0LyR7c3BkeH0udHh0YDtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmModGV4dEZpbGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuc3VwcG9ydGVkIGxpY2Vuc2UgJHtzcGR4fWApO1xuICAgIH1cblxuICAgIGNvbnN0IHllYXJzID1cbiAgICAgIG9wdGlvbnMuY29weXJpZ2h0UGVyaW9kID8/IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO1xuICAgIGNvbnN0IG93bmVyID0gb3B0aW9ucy5jb3B5cmlnaHRPd25lcjtcblxuICAgIGxldCB0ZXh0ID0gZnMucmVhZEZpbGVTeW5jKHRleHRGaWxlLCBcInV0Zi04XCIpO1xuXG4gICAgdGV4dCA9IHRleHQucmVwbGFjZShcIiRjb3B5cmlnaHRfcGVyaW9kXCIsIHllYXJzKTtcblxuICAgIC8vIGlmIHRoZSBsaWNlbnNlIHRleHQgaW5jbHVkZXMgJGNvcHlyaWdodF9vd25lciwgdGhlbiBgY29weXJpZ2h0T3duZXJgIGlzIHJlcXVpcmVkLlxuICAgIGlmICh0ZXh0LmluZGV4T2YoXCIkY29weXJpZ2h0X293bmVyXCIpICE9PSAtMSkge1xuICAgICAgaWYgKCFvd25lcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFRoZSAke3NwZHh9IGxpY2Vuc2UgcmVxdWlyZXMgXCJjb3B5cmlnaHRPd25lclwiIHRvIGJlIHNwZWNpZmllZGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdGV4dCA9IHRleHQucmVwbGFjZShcIiRjb3B5cmlnaHRfb3duZXJcIiwgb3duZXIpO1xuICAgIH1cblxuICAgIHRoaXMudGV4dCA9IHRleHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQoXzogSVJlc29sdmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy50ZXh0O1xuICB9XG59XG4iXX0=
package/lib/logger.js CHANGED
@@ -98,7 +98,7 @@ class Logger extends component_1.Component {
98
98
  }
99
99
  exports.Logger = Logger;
100
100
  _a = JSII_RTTI_SYMBOL_1;
101
- Logger[_a] = { fqn: "projen.Logger", version: "0.76.19" };
101
+ Logger[_a] = { fqn: "projen.Logger", version: "0.76.21" };
102
102
  /**
103
103
  * Logging verbosity.
104
104
  */
package/lib/makefile.js CHANGED
@@ -74,5 +74,5 @@ class Makefile extends file_1.FileBase {
74
74
  }
75
75
  exports.Makefile = Makefile;
76
76
  _a = JSII_RTTI_SYMBOL_1;
77
- Makefile[_a] = { fqn: "projen.Makefile", version: "0.76.19" };
77
+ Makefile[_a] = { fqn: "projen.Makefile", version: "0.76.21" };
78
78
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWFrZWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBOEQ7QUEyRDlEOztHQUVHO0FBQ0gsTUFBYSxRQUFTLFNBQVEsZUFBUTtJQVFwQyxZQUNFLE9BQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFVBQTJCLEVBQUU7UUFFN0IsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFbEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVqRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLEdBQUcsR0FBRztZQUNULE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQixhQUFhLEVBQUUsR0FBRztZQUNsQixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFjO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FBQyxHQUFHLE9BQWlCO1FBQ2pDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FBQyxJQUFVO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRLENBQUMsR0FBRyxLQUFhO1FBQzlCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBVTtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQ2IsNkRBQTZELENBQzlELENBQUM7U0FDSDtJQUNILENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxRQUFtQjtRQUM3QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzQyxNQUFNLEtBQUssR0FBRztZQUNaLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFO2dCQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdkMsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM3QyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDWixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBRTlDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBRXZELE9BQU87b0JBQ0wsR0FBRyxLQUFLO29CQUNSLEdBQUcsT0FBTyxLQUFLLGFBQWEsRUFBRSxDQUFDLElBQUksRUFBRTtvQkFDckMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2lCQUNyQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNmLENBQUMsQ0FBQztTQUNILENBQUM7UUFFRixPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ25DLENBQUM7O0FBM0ZILDRCQTRGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbGVCYXNlLCBGaWxlQmFzZU9wdGlvbnMsIElSZXNvbHZlciB9IGZyb20gXCIuL2ZpbGVcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi9wcm9qZWN0XCI7XG5cbi8qKlxuICogQSBNYWtlIHJ1bGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZSB7XG4gIC8qKlxuICAgKiBGaWxlcyB0byBiZSBjcmVhdGVkIG9yIHVwZGF0ZWQgYnkgdGhpcyBydWxlLlxuICAgKlxuICAgKiBJZiB0aGUgcnVsZSBpcyBwaG9ueSB0aGVuIGluc3RlYWQgdGhpcyByZXByZXNlbnRzIHRoZSBjb21tYW5kJ3MgbmFtZShzKS5cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldHM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBGaWxlcyB0aGF0IGFyZSB1c2VkIGFzIGlucHV0cyB0byBjcmVhdGUgYSB0YXJnZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBwcmVyZXF1aXNpdGVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENvbW1hbmRzIHRoYXQgYXJlIHJ1biAodXNpbmcgcHJlcmVxdWlzaXRlcyBhcyBpbnB1dHMpIHRvIGNyZWF0ZSBhIHRhcmdldC5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHJlY2lwZT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBNYXJrcyB3aGV0aGVyIHRoZSB0YXJnZXQgaXMgcGhvbnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwaG9ueT86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBBbGxSdWxlIGV4dGVuZHMgUnVsZSB7XG4gIHJlYWRvbmx5IHByZXJlcXVpc2l0ZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIE1ha2VmaWxlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYWtlZmlsZU9wdGlvbnMgZXh0ZW5kcyBGaWxlQmFzZU9wdGlvbnMge1xuICAvKipcbiAgICogTGlzdCBvZiB0YXJnZXRzIHRvIGJ1aWxkIHdoZW4gTWFrZSBpcyBpbnZva2VkIHdpdGhvdXQgc3BlY2lmeWluZyBhbnkgdGFyZ2V0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IGFsbD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSdWxlcyB0byBpbmNsdWRlIGluIHRoZSBNYWtlZmlsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVzPzogUnVsZVtdO1xufVxuXG4vKipcbiAqIE1pbmltYWwgTWFrZWZpbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBNYWtlZmlsZSBleHRlbmRzIEZpbGVCYXNlIHtcbiAgLyoqXG4gICAqIExpc3Qgb2YgcnVsZSBkZWZpbml0aW9ucy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBydWxlczogUnVsZVtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWxsOiBBbGxSdWxlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb2plY3Q6IFByb2plY3QsXG4gICAgZmlsZVBhdGg6IHN0cmluZyxcbiAgICBvcHRpb25zOiBNYWtlZmlsZU9wdGlvbnMgPSB7fVxuICApIHtcbiAgICBzdXBlcihwcm9qZWN0LCBmaWxlUGF0aCwgb3B0aW9ucyk7XG5cbiAgICBjb25zdCBhbGwgPSBvcHRpb25zLmFsbCA/IG9wdGlvbnMuYWxsIDogW107XG4gICAgY29uc3QgcnVsZXMgPSBvcHRpb25zLnJ1bGVzID8gb3B0aW9ucy5ydWxlcyA6IFtdO1xuXG4gICAgcnVsZXMuZm9yRWFjaCgoZSkgPT4gdGhpcy52YWxpZGF0ZVJ1bGUoZSkpO1xuXG4gICAgdGhpcy5hbGwgPSB7XG4gICAgICB0YXJnZXRzOiBbXCJhbGxcIl0sXG4gICAgICBwcmVyZXF1aXNpdGVzOiBhbGwsXG4gICAgICBwaG9ueTogdHJ1ZSxcbiAgICB9O1xuICAgIHRoaXMucnVsZXMgPSBbdGhpcy5hbGwsIC4uLnJ1bGVzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSB0YXJnZXQgdG8gYWxsXG4gICAqL1xuICBwdWJsaWMgYWRkQWxsKHRhcmdldDogc3RyaW5nKTogTWFrZWZpbGUge1xuICAgIHRoaXMuYWxsLnByZXJlcXVpc2l0ZXMucHVzaCh0YXJnZXQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBtdWx0aXBsZSB0YXJnZXRzIHRvIGFsbFxuICAgKi9cbiAgcHVibGljIGFkZEFsbHMoLi4udGFyZ2V0czogc3RyaW5nW10pOiBNYWtlZmlsZSB7XG4gICAgdGFyZ2V0cy5mb3JFYWNoKChlKSA9PiB0aGlzLmFkZEFsbChlKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgcnVsZSB0byB0aGUgTWFrZWZpbGUuXG4gICAqL1xuICBwdWJsaWMgYWRkUnVsZShydWxlOiBSdWxlKTogTWFrZWZpbGUge1xuICAgIHRoaXMudmFsaWRhdGVSdWxlKHJ1bGUpO1xuICAgIHRoaXMucnVsZXMucHVzaChydWxlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgbXVsdGlwbGUgcnVsZXMgdG8gdGhlIE1ha2VmaWxlLlxuICAgKi9cbiAgcHVibGljIGFkZFJ1bGVzKC4uLnJ1bGVzOiBSdWxlW10pOiBNYWtlZmlsZSB7XG4gICAgcnVsZXMuZm9yRWFjaCgoZSkgPT4gdGhpcy5hZGRSdWxlKGUpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVSdWxlKHJ1bGU6IFJ1bGUpIHtcbiAgICBpZiAoIXJ1bGUudGFyZ2V0cyB8fCAhcnVsZS50YXJnZXRzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnXCJ0YXJnZXRzXCIgY2Fubm90IGJlIHVuZGVmaW5lZCBvciBlbXB0eSBmb3IgaXRlbXMgaW4gXCJydWxlc1wiJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXI6IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcnVsZXMgPSByZXNvbHZlci5yZXNvbHZlKHRoaXMucnVsZXMpO1xuXG4gICAgY29uc3QgbGluZXMgPSBbXG4gICAgICAuLi5ydWxlcy5tYXAoKHJ1bGU6IFJ1bGUpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0cyA9IHJ1bGUudGFyZ2V0cy5qb2luKFwiIFwiKTtcbiAgICAgICAgY29uc3QgcHJlcmVxdWlzaXRlcyA9IChcbiAgICAgICAgICBydWxlLnByZXJlcXVpc2l0ZXMgPyBydWxlLnByZXJlcXVpc2l0ZXMgOiBbXVxuICAgICAgICApLmpvaW4oXCIgXCIpO1xuICAgICAgICBjb25zdCByZWNpcGUgPSBydWxlLnJlY2lwZSA/IHJ1bGUucmVjaXBlIDogW107XG5cbiAgICAgICAgY29uc3QgcGhvbnkgPSBydWxlLnBob255ID8gW2AuUEhPTlk6ICR7dGFyZ2V0c31gXSA6IFtdO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgLi4ucGhvbnksXG4gICAgICAgICAgYCR7dGFyZ2V0c306ICR7cHJlcmVxdWlzaXRlc31gLnRyaW0oKSxcbiAgICAgICAgICAuLi5yZWNpcGUubWFwKChzdGVwKSA9PiBgXFx0JHtzdGVwfWApLFxuICAgICAgICBdLmpvaW4oXCJcXG5cIik7XG4gICAgICB9KSxcbiAgICBdO1xuXG4gICAgcmV0dXJuIGAke2xpbmVzLmpvaW4oXCJcXG5cXG5cIil9XFxuYDtcbiAgfVxufVxuIl19