@mrgrain/cdk-esbuild 4.0.0-alpha.7 → 4.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/.jsii +1573 -588
  2. package/CHANGELOG.md +104 -0
  3. package/LICENSE +1 -1
  4. package/README.md +223 -102
  5. package/lib/asset.d.ts +20 -5
  6. package/lib/asset.js +31 -19
  7. package/lib/bundler.d.ts +51 -28
  8. package/lib/bundler.js +28 -17
  9. package/lib/code.d.ts +82 -16
  10. package/lib/code.js +71 -25
  11. package/lib/esbuild-types.d.ts +49 -18
  12. package/lib/esbuild-types.js +1 -1
  13. package/lib/index.d.ts +5 -4
  14. package/lib/index.js +8 -7
  15. package/lib/inline-code.d.ts +29 -77
  16. package/lib/inline-code.js +53 -104
  17. package/lib/private/dynamic-package.d.ts +41 -0
  18. package/lib/private/dynamic-package.js +115 -0
  19. package/lib/private/esbuild-source.d.ts +33 -0
  20. package/lib/private/esbuild-source.js +59 -0
  21. package/lib/private/utils.d.ts +7 -0
  22. package/lib/private/utils.js +23 -0
  23. package/lib/provider.d.ts +129 -0
  24. package/lib/provider.js +115 -0
  25. package/lib/source.d.ts +81 -5
  26. package/lib/source.js +84 -8
  27. package/package.json +33 -25
  28. package/rosetta/default.ts-fixture +32 -0
  29. package/.gitattributes +0 -24
  30. package/.projenrc.ts +0 -208
  31. package/API.md +0 -2477
  32. package/SECURITY.md +0 -19
  33. package/lib/esbuild-polyfill.js +0 -2302
  34. package/lib/esbuild-wrapper.d.ts +0 -3
  35. package/lib/esbuild-wrapper.js +0 -31
  36. package/lib/formatMessages.d.ts +0 -18
  37. package/lib/formatMessages.js +0 -34
  38. package/node_modules/isexe/.npmignore +0 -2
  39. package/node_modules/isexe/LICENSE +0 -15
  40. package/node_modules/isexe/README.md +0 -51
  41. package/node_modules/isexe/index.js +0 -57
  42. package/node_modules/isexe/mode.js +0 -41
  43. package/node_modules/isexe/package.json +0 -35
  44. package/node_modules/isexe/test/basic.js +0 -221
  45. package/node_modules/isexe/windows.js +0 -42
  46. package/node_modules/which/CHANGELOG.md +0 -166
  47. package/node_modules/which/LICENSE +0 -15
  48. package/node_modules/which/README.md +0 -54
  49. package/node_modules/which/bin/node-which +0 -52
  50. package/node_modules/which/package.json +0 -47
  51. package/node_modules/which/which.js +0 -125
package/lib/code.js CHANGED
@@ -1,23 +1,51 @@
1
1
  "use strict";
2
2
  var _a, _b, _c;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.TypeScriptCode = exports.JavaScriptCode = exports.Code = void 0;
4
+ exports.TypeScriptCode = exports.JavaScriptCode = exports.EsbuildCode = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
7
  const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
8
8
  const asset_1 = require("./asset");
9
- function nodeMajorVersion() {
10
- return parseInt(process.versions.node.split('.')[0], 10);
11
- }
9
+ const utils_1 = require("./private/utils");
12
10
  ;
13
11
  ;
14
- class Code extends aws_lambda_1.Code {
12
+ /**
13
+ * Represents a generic esbuild code bundle.
14
+ *
15
+ * You should always use `TypeScriptCode` or `JavaScriptCode`.
16
+ *
17
+ * @stability experimental
18
+ */
19
+ class EsbuildCode extends aws_lambda_1.Code {
20
+ constructor(
15
21
  /**
22
+ * A path or list or map of paths to the entry points of your code.
23
+ *
24
+ * Relative paths are by default resolved from the current working directory.
25
+ * To change the working directory, see `buildOptions.absWorkingDir`.
26
+ *
27
+ * Absolute paths can be used if files are part of the working directory.
28
+ *
29
+ * Examples:
30
+ * - `'src/index.ts'`
31
+ * - `require.resolve('./lambda')`
32
+ * - `['src/index.ts', 'src/util.ts']`
33
+ * - `{one: 'src/two.ts', two: 'src/one.ts'}`
34
+ *
35
+ * @stability stable
36
+ */
37
+ entryPoints,
38
+ /**
39
+ * Props to change the behavior of the bundler.
16
40
  *
17
- * @param entryPoints - Relative path to the asset code. Use `props.buildOptions.absWorkingDir` if an absolute path is required.
18
- * @param props - Asset properties.
41
+ * Default values for `props.buildOptions`:
42
+ * - `bundle=true`
43
+ * - `platform=node`
44
+ * - `target=nodeX` with X being the major node version running locally
45
+ *
46
+ * @stability stable
19
47
  */
20
- constructor(entryPoints, props) {
48
+ props) {
21
49
  super();
22
50
  this.entryPoints = entryPoints;
23
51
  /**
@@ -26,12 +54,7 @@ class Code extends aws_lambda_1.Code {
26
54
  * @deprecated this value is ignored since inline is now determined based on the the inlineCode field of CodeConfig returned from bind().
27
55
  */
28
56
  this.isInline = false;
29
- const defaultOptions = {
30
- ...(!props.buildOptions?.platform ||
31
- props.buildOptions?.platform === 'node'
32
- ? { platform: 'node', target: 'node' + nodeMajorVersion() }
33
- : {}),
34
- };
57
+ const defaultOptions = utils_1.defaultPlatformProps(props.buildOptions);
35
58
  this.props = {
36
59
  ...props,
37
60
  entryPoints,
@@ -41,6 +64,9 @@ class Code extends aws_lambda_1.Code {
41
64
  },
42
65
  };
43
66
  }
67
+ getAsset(scope) {
68
+ return new asset_1.EsbuildAsset(scope, this.constructor.name, this.props);
69
+ }
44
70
  bind(scope) {
45
71
  // If the same AssetCode is used multiple times, retain only the first instantiation.
46
72
  if (!this.asset) {
@@ -73,19 +99,29 @@ class Code extends aws_lambda_1.Code {
73
99
  this.asset.addResourceMetadata(resource, resourceProperty);
74
100
  }
75
101
  }
76
- exports.Code = Code;
102
+ exports.EsbuildCode = EsbuildCode;
77
103
  _a = JSII_RTTI_SYMBOL_1;
78
- Code[_a] = { fqn: "@mrgrain/cdk-esbuild.Code", version: "4.0.0-alpha.7" };
104
+ EsbuildCode[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildCode", version: "4.0.0-beta.0" };
79
105
  /**
80
106
  * Represents the deployed JavaScript Code.
81
107
  *
82
108
  * @stability stable
83
109
  */
84
- class JavaScriptCode extends Code {
110
+ class JavaScriptCode extends EsbuildCode {
85
111
  constructor(
86
112
  /**
87
- * A relative path or list or map of relative paths to the entry points of your code from the root of the project.
88
- * E.g. `src/index.ts`.
113
+ * A path or list or map of paths to the entry points of your code.
114
+ *
115
+ * Relative paths are by default resolved from the current working directory.
116
+ * To change the working directory, see `buildOptions.absWorkingDir`.
117
+ *
118
+ * Absolute paths can be used if files are part of the working directory.
119
+ *
120
+ * Examples:
121
+ * - `'src/index.ts'`
122
+ * - `require.resolve('./lambda')`
123
+ * - `['src/index.ts', 'src/util.ts']`
124
+ * - `{one: 'src/two.ts', two: 'src/one.ts'}`
89
125
  *
90
126
  * @stability stable
91
127
  */
@@ -109,17 +145,27 @@ class JavaScriptCode extends Code {
109
145
  }
110
146
  exports.JavaScriptCode = JavaScriptCode;
111
147
  _b = JSII_RTTI_SYMBOL_1;
112
- JavaScriptCode[_b] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptCode", version: "4.0.0-alpha.7" };
148
+ JavaScriptCode[_b] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptCode", version: "4.0.0-beta.0" };
113
149
  /**
114
150
  * Represents the deployed TypeScript Code.
115
151
  *
116
152
  * @stability stable
117
153
  */
118
- class TypeScriptCode extends Code {
154
+ class TypeScriptCode extends EsbuildCode {
119
155
  constructor(
120
156
  /**
121
- * A relative path or list or map of relative paths to the entry points of your code from the root of the project.
122
- * E.g. `src/index.ts`.
157
+ * A path or list or map of paths to the entry points of your code.
158
+ *
159
+ * Relative paths are by default resolved from the current working directory.
160
+ * To change the working directory, see `buildOptions.absWorkingDir`.
161
+ *
162
+ * Absolute paths can be used if files are part of the working directory.
163
+ *
164
+ * Examples:
165
+ * - `'src/index.ts'`
166
+ * - `require.resolve('./lambda')`
167
+ * - `['src/index.ts', 'src/util.ts']`
168
+ * - `{one: 'src/two.ts', two: 'src/one.ts'}`
123
169
  *
124
170
  * @stability stable
125
171
  */
@@ -143,5 +189,5 @@ class TypeScriptCode extends Code {
143
189
  }
144
190
  exports.TypeScriptCode = TypeScriptCode;
145
191
  _c = JSII_RTTI_SYMBOL_1;
146
- TypeScriptCode[_c] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptCode", version: "4.0.0-alpha.7" };
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWlEO0FBQ2pELHVEQUE2RjtBQUU3RixtQ0FNaUI7QUFJakIsU0FBUyxnQkFBZ0I7SUFDdkIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFHNkQsQ0FBQztBQUNELENBQUM7QUFFL0QsTUFBc0IsSUFFcEIsU0FBUSxpQkFBVTtJQWNsQjs7OztPQUlHO0lBQ0gsWUFBNEIsV0FBd0IsRUFBRSxLQUFZO1FBQ2hFLEtBQUssRUFBRSxDQUFDO1FBRGtCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBWnBEOzs7O1dBSUc7UUFDSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBUy9CLE1BQU0sY0FBYyxHQUEwQjtZQUM1QyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLFFBQVE7Z0JBQ2pDLEtBQUssQ0FBQyxZQUFZLEVBQUUsUUFBUSxLQUFLLE1BQU07Z0JBQ3JDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRSxFQUFFO2dCQUMzRCxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ1IsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxHQUFHLEtBQUs7WUFDUixXQUFXO1lBQ1gsWUFBWSxFQUFFO2dCQUNaLEdBQUcsY0FBYztnQkFDakIsR0FBRyxLQUFLLENBQUMsWUFBWTthQUN0QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQWdCO1FBQ25CLHFGQUFxRjtRQUNyRixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQzthQUFNLElBQUksbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25ELE1BQU0sSUFBSSxLQUFLLENBQ2IsbURBQ0UsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQ3ZCLEtBQUssR0FBRyw4Q0FBOEMsQ0FDdkQsQ0FBQztTQUNIO1FBRUQsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2dCQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2FBQ2xDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsY0FBYyxDQUFDLFFBQXFCLEVBQUUsT0FBNkI7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDakU7UUFDRCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM1RSw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDOztBQTNFSCxvQkE0RUM7OztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLGNBQWUsU0FBUSxJQUF5QjtJQVMzRDtJQUNFOzs7OztPQUtHO0lBQ0gsV0FBd0I7SUFDeEI7Ozs7Ozs7OztPQVNHO0lBQ0gsUUFBNkIsRUFBRTtRQUUvQixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUE3QlMsUUFBUSxDQUFDLEtBQWdCO1FBQ2pDLE9BQU8sSUFBSSx1QkFBTyxDQUNoQixLQUFLLEVBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQ3JCLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7O0FBUEgsd0NBK0JDOzs7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsSUFBeUI7SUFTM0Q7SUFDRTs7Ozs7T0FLRztJQUNILFdBQXdCO0lBQ3hCOzs7Ozs7Ozs7T0FTRztJQUNILFFBQTZCLEVBQUU7UUFFL0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBN0JTLFFBQVEsQ0FBQyxLQUFnQjtRQUNqQyxPQUFPLElBQUksdUJBQU8sQ0FDaEIsS0FBSyxFQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUNyQixJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7SUFDSixDQUFDOztBQVBILHdDQStCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmblJlc291cmNlLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlc291cmNlQmluZE9wdGlvbnMsIENvZGUgYXMgTGFtYmRhQ29kZSwgQ29kZUNvbmZpZyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBBc3NldCxcbiAgQXNzZXRCYXNlUHJvcHMsXG4gIEFzc2V0UHJvcHMsXG4gIEphdmFTY3JpcHRBc3NldCBhcyBKU0Fzc2V0LFxuICBUeXBlU2NyaXB0QXNzZXQgYXMgVFNBc3NldCxcbn0gZnJvbSAnLi9hc3NldCc7XG5pbXBvcnQgeyBFbnRyeVBvaW50cyB9IGZyb20gJy4vYnVuZGxlcic7XG5pbXBvcnQgeyBCdWlsZE9wdGlvbnMgfSBmcm9tICcuL2VzYnVpbGQtdHlwZXMnO1xuXG5mdW5jdGlvbiBub2RlTWFqb3JWZXJzaW9uKCk6IG51bWJlciB7XG4gIHJldHVybiBwYXJzZUludChwcm9jZXNzLnZlcnNpb25zLm5vZGUuc3BsaXQoJy4nKVswXSwgMTApO1xufVxuXG5leHBvcnQgeyBDb2RlQ29uZmlnIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5leHBvcnQgaW50ZXJmYWNlIEphdmFTY3JpcHRDb2RlUHJvcHMgZXh0ZW5kcyBBc3NldEJhc2VQcm9wcyB7fTtcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVNjcmlwdENvZGVQcm9wcyBleHRlbmRzIEFzc2V0QmFzZVByb3BzIHt9O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29kZTxcbiAgUHJvcHMgZXh0ZW5kcyBKYXZhU2NyaXB0Q29kZVByb3BzIHwgVHlwZVNjcmlwdENvZGVQcm9wcyxcbj4gZXh0ZW5kcyBMYW1iZGFDb2RlIHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEFzc2V0KHNjb3BlOiBDb25zdHJ1Y3QpOiBBc3NldDxBc3NldFByb3BzPjtcblxuICBwcm90ZWN0ZWQgcHJvcHM6IEFzc2V0UHJvcHM7XG5cbiAgcHJvdGVjdGVkIGFzc2V0ITogQXNzZXQ8QXNzZXRQcm9wcz47XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGlzIENvZGUgaXMgaW5saW5lIGNvZGUgb3Igbm90LlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCB0aGlzIHZhbHVlIGlzIGlnbm9yZWQgc2luY2UgaW5saW5lIGlzIG5vdyBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSB0aGUgaW5saW5lQ29kZSBmaWVsZCBvZiBDb2RlQ29uZmlnIHJldHVybmVkIGZyb20gYmluZCgpLlxuICAgKi9cbiAgcHVibGljIGlzSW5saW5lOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBlbnRyeVBvaW50cyAtIFJlbGF0aXZlIHBhdGggdG8gdGhlIGFzc2V0IGNvZGUuIFVzZSBgcHJvcHMuYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXJgIGlmIGFuIGFic29sdXRlIHBhdGggaXMgcmVxdWlyZWQuXG4gICAqIEBwYXJhbSBwcm9wcyAtIEFzc2V0IHByb3BlcnRpZXMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLCBwcm9wczogUHJvcHMpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPEJ1aWxkT3B0aW9ucz4gPSB7XG4gICAgICAuLi4oIXByb3BzLmJ1aWxkT3B0aW9ucz8ucGxhdGZvcm0gfHxcbiAgICAgIHByb3BzLmJ1aWxkT3B0aW9ucz8ucGxhdGZvcm0gPT09ICdub2RlJ1xuICAgICAgICA/IHsgcGxhdGZvcm06ICdub2RlJywgdGFyZ2V0OiAnbm9kZScgKyBub2RlTWFqb3JWZXJzaW9uKCkgfVxuICAgICAgICA6IHt9KSxcbiAgICB9O1xuXG4gICAgdGhpcy5wcm9wcyA9IHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZW50cnlQb2ludHMsXG4gICAgICBidWlsZE9wdGlvbnM6IHtcbiAgICAgICAgLi4uZGVmYXVsdE9wdGlvbnMsXG4gICAgICAgIC4uLnByb3BzLmJ1aWxkT3B0aW9ucyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IENvZGVDb25maWcge1xuICAgIC8vIElmIHRoZSBzYW1lIEFzc2V0Q29kZSBpcyB1c2VkIG11bHRpcGxlIHRpbWVzLCByZXRhaW4gb25seSB0aGUgZmlyc3QgaW5zdGFudGlhdGlvbi5cbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSB0aGlzLmdldEFzc2V0KHNjb3BlKTtcbiAgICB9IGVsc2UgaWYgKFN0YWNrLm9mKHRoaXMuYXNzZXQpICE9PSBTdGFjay5vZihzY29wZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEFzc2V0IGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIGFub3RoZXIgc3RhY2sgJyR7XG4gICAgICAgICAgU3RhY2sub2YodGhpcy5hc3NldCkuc3RhY2tOYW1lXG4gICAgICAgIH0nLiBgICsgJ0NyZWF0ZSBhIG5ldyBBc3NldCBpbnN0YW5jZSBmb3IgZXZlcnkgc3RhY2suJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgYnVja2V0TmFtZTogdGhpcy5hc3NldC5zM0J1Y2tldE5hbWUsXG4gICAgICAgIG9iamVjdEtleTogdGhpcy5hc3NldC5zM09iamVjdEtleSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYWZ0ZXIgdGhlIENGTiBmdW5jdGlvbiByZXNvdXJjZSBoYXMgYmVlbiBjcmVhdGVkIHRvIGFsbG93IHRoZSBjb2RlIGNsYXNzIHRvIGJpbmQgdG8gaXQuXG4gICAqXG4gICAqIFNwZWNpZmljYWxseSBpdCdzIHJlcXVpcmVkIHRvIGFsbG93IGFzc2V0cyB0byBhZGRcbiAgICogbWV0YWRhdGEgZm9yIHRvb2xpbmcgbGlrZSBTQU0gQ0xJIHRvIGJlIGFibGUgdG8gZmluZCB0aGVpciBvcmlnaW5zLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgYmluZFRvUmVzb3VyY2UocmVzb3VyY2U6IENmblJlc291cmNlLCBvcHRpb25zPzogUmVzb3VyY2VCaW5kT3B0aW9ucykge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdiaW5kVG9SZXNvdXJjZSgpIG11c3QgYmUgY2FsbGVkIGFmdGVyIGJpbmQoKScpO1xuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZVByb3BlcnR5ID0gb3B0aW9ucz8ucmVzb3VyY2VQcm9wZXJ0eSB8fCB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy8xNDMyXG4gICAgdGhpcy5hc3NldC5hZGRSZXNvdXJjZU1ldGFkYXRhKHJlc291cmNlLCByZXNvdXJjZVByb3BlcnR5KTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGRlcGxveWVkIEphdmFTY3JpcHQgQ29kZS5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgSmF2YVNjcmlwdENvZGUgZXh0ZW5kcyBDb2RlPEphdmFTY3JpcHRDb2RlUHJvcHM+IHtcbiAgcHJvdGVjdGVkIGdldEFzc2V0KHNjb3BlOiBDb25zdHJ1Y3QpOiBBc3NldDxBc3NldFByb3BzPiB7XG4gICAgcmV0dXJuIG5ldyBKU0Fzc2V0KFxuICAgICAgc2NvcGUsXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yLm5hbWUsXG4gICAgICB0aGlzLnByb3BzLFxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKiBFLmcuIGBzcmMvaW5kZXgudHNgLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBlbnRyeVBvaW50czogRW50cnlQb2ludHMsXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1ub2RlYFxuICAgICAqIC0gYHRhcmdldD1ub2RlWGAgd2l0aCBYIGJlaW5nIHRoZSBtYWpvciBub2RlIHZlcnNpb24gcnVubmluZyBsb2NhbGx5XG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHByb3BzOiBKYXZhU2NyaXB0Q29kZVByb3BzID0ge30sXG4gICkge1xuICAgIHN1cGVyKGVudHJ5UG9pbnRzLCBwcm9wcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBkZXBsb3llZCBUeXBlU2NyaXB0IENvZGUuXG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRDb2RlIGV4dGVuZHMgQ29kZTxUeXBlU2NyaXB0Q29kZVByb3BzPiB7XG4gIHByb3RlY3RlZCBnZXRBc3NldChzY29wZTogQ29uc3RydWN0KTogQXNzZXQ8QXNzZXRQcm9wcz4ge1xuICAgIHJldHVybiBuZXcgVFNBc3NldChcbiAgICAgIHNjb3BlLFxuICAgICAgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgICAgdGhpcy5wcm9wcyxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQSByZWxhdGl2ZSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHJlbGF0aXZlIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QuXG4gICAgICogRS5nLiBgc3JjL2luZGV4LnRzYC5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuICAgIC8qKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGJ1bmRsZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHByb3BzLmJ1aWxkT3B0aW9uc2A6XG4gICAgICogLSBgYnVuZGxlPXRydWVgXG4gICAgICogLSBgcGxhdGZvcm09bm9kZWBcbiAgICAgKiAtIGB0YXJnZXQ9bm9kZVhgIHdpdGggWCBiZWluZyB0aGUgbWFqb3Igbm9kZSB2ZXJzaW9uIHJ1bm5pbmcgbG9jYWxseVxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBwcm9wczogVHlwZVNjcmlwdENvZGVQcm9wcyA9IHt9LFxuICApIHtcbiAgICBzdXBlcihlbnRyeVBvaW50cywgcHJvcHMpO1xuICB9XG59XG4iXX0=
192
+ TypeScriptCode[_c] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptCode", version: "4.0.0-beta.0" };
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWlEO0FBQ2pELHVEQUErRTtBQUUvRSxtQ0FNaUI7QUFHakIsMkNBQXVEO0FBR08sQ0FBQztBQUNELENBQUM7QUFFL0Q7Ozs7OztHQU1HO0FBQ0gsTUFBYSxXQUVYLFNBQVEsaUJBQUk7SUFvQlo7SUFDRTs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDTSxXQUF3QjtJQUVqQzs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFZO1FBRVosS0FBSyxFQUFFLENBQUM7UUFkQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXhCbkM7Ozs7V0FJRztRQUNJLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFtQy9CLE1BQU0sY0FBYyxHQUEwQiw0QkFBb0IsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdkYsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLEdBQUcsS0FBSztZQUNSLFdBQVc7WUFDWCxZQUFZLEVBQUU7Z0JBQ1osR0FBRyxjQUFjO2dCQUNqQixHQUFHLEtBQUssQ0FBQyxZQUFZO2FBQ3RCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUE5RFMsUUFBUSxDQUFDLEtBQWdCO1FBQ2pDLE9BQU8sSUFBSSxvQkFBWSxDQUNyQixLQUFLLEVBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQ3JCLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7SUEwREQsSUFBSSxDQUFDLEtBQWdCO1FBQ25CLHFGQUFxRjtRQUNyRixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQzthQUFNLElBQUksbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25ELE1BQU0sSUFBSSxLQUFLLENBQ2IsbURBQ0UsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQ3ZCLEtBQUssR0FBRyw4Q0FBOEMsQ0FDdkQsQ0FBQztTQUNIO1FBRUQsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2dCQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2FBQ2xDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsY0FBYyxDQUFDLFFBQXFCLEVBQUUsT0FBNkI7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDakU7UUFDRCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM1RSw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDOztBQXRHSCxrQ0F1R0M7OztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLGNBQWUsU0FBUSxXQUFnQztJQVNsRTtJQUNFOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNILFdBQXdCO0lBRXhCOzs7Ozs7Ozs7T0FTRztJQUNILFFBQTZCLEVBQUU7UUFFL0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBeENTLFFBQVEsQ0FBQyxLQUFnQjtRQUNqQyxPQUFPLElBQUksdUJBQU8sQ0FDaEIsS0FBSyxFQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUNyQixJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7SUFDSixDQUFDOztBQVBILHdDQTBDQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsY0FBZSxTQUFRLFdBQWdDO0lBU2xFO0lBQ0U7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0gsV0FBd0I7SUFFeEI7Ozs7Ozs7OztPQVNHO0lBQ0gsUUFBNkIsRUFBRTtRQUUvQixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUF4Q1MsUUFBUSxDQUFDLEtBQWdCO1FBQ2pDLE9BQU8sSUFBSSx1QkFBTyxDQUNoQixLQUFLLEVBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQ3JCLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7O0FBUEgsd0NBMENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuUmVzb3VyY2UsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgUmVzb3VyY2VCaW5kT3B0aW9ucywgQ29kZSwgQ29kZUNvbmZpZyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBFc2J1aWxkQXNzZXQsXG4gIEFzc2V0QmFzZVByb3BzLFxuICBBc3NldFByb3BzLFxuICBKYXZhU2NyaXB0QXNzZXQgYXMgSlNBc3NldCxcbiAgVHlwZVNjcmlwdEFzc2V0IGFzIFRTQXNzZXQsXG59IGZyb20gJy4vYXNzZXQnO1xuaW1wb3J0IHsgRW50cnlQb2ludHMgfSBmcm9tICcuL2J1bmRsZXInO1xuaW1wb3J0IHsgQnVpbGRPcHRpb25zIH0gZnJvbSAnLi9lc2J1aWxkLXR5cGVzJztcbmltcG9ydCB7IGRlZmF1bHRQbGF0Zm9ybVByb3BzIH0gZnJvbSAnLi9wcml2YXRlL3V0aWxzJztcblxuZXhwb3J0IHsgQ29kZUNvbmZpZyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuZXhwb3J0IGludGVyZmFjZSBKYXZhU2NyaXB0Q29kZVByb3BzIGV4dGVuZHMgQXNzZXRCYXNlUHJvcHMge307XG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTY3JpcHRDb2RlUHJvcHMgZXh0ZW5kcyBBc3NldEJhc2VQcm9wcyB7fTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZ2VuZXJpYyBlc2J1aWxkIGNvZGUgYnVuZGxlLlxuICpcbiAqIFlvdSBzaG91bGQgYWx3YXlzIHVzZSBgVHlwZVNjcmlwdENvZGVgIG9yIGBKYXZhU2NyaXB0Q29kZWAuXG4gKlxuICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIEVzYnVpbGRDb2RlPFxuICBQcm9wcyBleHRlbmRzIEphdmFTY3JpcHRDb2RlUHJvcHMgfCBUeXBlU2NyaXB0Q29kZVByb3BzLFxuPiBleHRlbmRzIENvZGUge1xuICBwcm90ZWN0ZWQgZ2V0QXNzZXQoc2NvcGU6IENvbnN0cnVjdCk6IEVzYnVpbGRBc3NldDxBc3NldFByb3BzPiB7XG4gICAgcmV0dXJuIG5ldyBFc2J1aWxkQXNzZXQoXG4gICAgICBzY29wZSxcbiAgICAgIHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgIHRoaXMucHJvcHMsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcm9wczogQXNzZXRQcm9wcztcblxuICBwcm90ZWN0ZWQgYXNzZXQhOiBFc2J1aWxkQXNzZXQ8QXNzZXRQcm9wcz47XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGlzIENvZGUgaXMgaW5saW5lIGNvZGUgb3Igbm90LlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCB0aGlzIHZhbHVlIGlzIGlnbm9yZWQgc2luY2UgaW5saW5lIGlzIG5vdyBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSB0aGUgaW5saW5lQ29kZSBmaWVsZCBvZiBDb2RlQ29uZmlnIHJldHVybmVkIGZyb20gYmluZCgpLlxuICAgKi9cbiAgcHVibGljIGlzSW5saW5lOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlLlxuICAgICAqXG4gICAgICogUmVsYXRpdmUgcGF0aHMgYXJlIGJ5IGRlZmF1bHQgcmVzb2x2ZWQgZnJvbSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgKiBUbyBjaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LCBzZWUgYGJ1aWxkT3B0aW9ucy5hYnNXb3JraW5nRGlyYC5cbiAgICAgKlxuICAgICAqIEFic29sdXRlIHBhdGhzIGNhbiBiZSB1c2VkIGlmIGZpbGVzIGFyZSBwYXJ0IG9mIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgKlxuICAgICAqIEV4YW1wbGVzOlxuICAgICAqICAtIGAnc3JjL2luZGV4LnRzJ2BcbiAgICAgKiAgLSBgcmVxdWlyZS5yZXNvbHZlKCcuL2xhbWJkYScpYFxuICAgICAqICAtIGBbJ3NyYy9pbmRleC50cycsICdzcmMvdXRpbC50cyddYFxuICAgICAqICAtIGB7b25lOiAnc3JjL3R3by50cycsIHR3bzogJ3NyYy9vbmUudHMnfWBcbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1ub2RlYFxuICAgICAqIC0gYHRhcmdldD1ub2RlWGAgd2l0aCBYIGJlaW5nIHRoZSBtYWpvciBub2RlIHZlcnNpb24gcnVubmluZyBsb2NhbGx5XG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHByb3BzOiBQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPEJ1aWxkT3B0aW9ucz4gPSBkZWZhdWx0UGxhdGZvcm1Qcm9wcyhwcm9wcy5idWlsZE9wdGlvbnMpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZW50cnlQb2ludHMsXG4gICAgICBidWlsZE9wdGlvbnM6IHtcbiAgICAgICAgLi4uZGVmYXVsdE9wdGlvbnMsXG4gICAgICAgIC4uLnByb3BzLmJ1aWxkT3B0aW9ucyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IENvZGVDb25maWcge1xuICAgIC8vIElmIHRoZSBzYW1lIEFzc2V0Q29kZSBpcyB1c2VkIG11bHRpcGxlIHRpbWVzLCByZXRhaW4gb25seSB0aGUgZmlyc3QgaW5zdGFudGlhdGlvbi5cbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSB0aGlzLmdldEFzc2V0KHNjb3BlKTtcbiAgICB9IGVsc2UgaWYgKFN0YWNrLm9mKHRoaXMuYXNzZXQpICE9PSBTdGFjay5vZihzY29wZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEFzc2V0IGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIGFub3RoZXIgc3RhY2sgJyR7XG4gICAgICAgICAgU3RhY2sub2YodGhpcy5hc3NldCkuc3RhY2tOYW1lXG4gICAgICAgIH0nLiBgICsgJ0NyZWF0ZSBhIG5ldyBBc3NldCBpbnN0YW5jZSBmb3IgZXZlcnkgc3RhY2suJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgYnVja2V0TmFtZTogdGhpcy5hc3NldC5zM0J1Y2tldE5hbWUsXG4gICAgICAgIG9iamVjdEtleTogdGhpcy5hc3NldC5zM09iamVjdEtleSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYWZ0ZXIgdGhlIENGTiBmdW5jdGlvbiByZXNvdXJjZSBoYXMgYmVlbiBjcmVhdGVkIHRvIGFsbG93IHRoZSBjb2RlIGNsYXNzIHRvIGJpbmQgdG8gaXQuXG4gICAqXG4gICAqIFNwZWNpZmljYWxseSBpdCdzIHJlcXVpcmVkIHRvIGFsbG93IGFzc2V0cyB0byBhZGRcbiAgICogbWV0YWRhdGEgZm9yIHRvb2xpbmcgbGlrZSBTQU0gQ0xJIHRvIGJlIGFibGUgdG8gZmluZCB0aGVpciBvcmlnaW5zLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgYmluZFRvUmVzb3VyY2UocmVzb3VyY2U6IENmblJlc291cmNlLCBvcHRpb25zPzogUmVzb3VyY2VCaW5kT3B0aW9ucykge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdiaW5kVG9SZXNvdXJjZSgpIG11c3QgYmUgY2FsbGVkIGFmdGVyIGJpbmQoKScpO1xuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZVByb3BlcnR5ID0gb3B0aW9ucz8ucmVzb3VyY2VQcm9wZXJ0eSB8fCB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy8xNDMyXG4gICAgdGhpcy5hc3NldC5hZGRSZXNvdXJjZU1ldGFkYXRhKHJlc291cmNlLCByZXNvdXJjZVByb3BlcnR5KTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGRlcGxveWVkIEphdmFTY3JpcHQgQ29kZS5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgSmF2YVNjcmlwdENvZGUgZXh0ZW5kcyBFc2J1aWxkQ29kZTxKYXZhU2NyaXB0Q29kZVByb3BzPiB7XG4gIHByb3RlY3RlZCBnZXRBc3NldChzY29wZTogQ29uc3RydWN0KTogRXNidWlsZEFzc2V0PEFzc2V0UHJvcHM+IHtcbiAgICByZXR1cm4gbmV3IEpTQXNzZXQoXG4gICAgICBzY29wZSxcbiAgICAgIHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgIHRoaXMucHJvcHMsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIEEgcGF0aCBvciBsaXN0IG9yIG1hcCBvZiBwYXRocyB0byB0aGUgZW50cnkgcG9pbnRzIG9mIHlvdXIgY29kZS5cbiAgICAgKlxuICAgICAqIFJlbGF0aXZlIHBhdGhzIGFyZSBieSBkZWZhdWx0IHJlc29sdmVkIGZyb20gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gICAgICogVG8gY2hhbmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeSwgc2VlIGBidWlsZE9wdGlvbnMuYWJzV29ya2luZ0RpcmAuXG4gICAgICpcbiAgICAgKiBBYnNvbHV0ZSBwYXRocyBjYW4gYmUgdXNlZCBpZiBmaWxlcyBhcmUgcGFydCBvZiB0aGUgd29ya2luZyBkaXJlY3RvcnkuXG4gICAgICpcbiAgICAgKiBFeGFtcGxlczpcbiAgICAgKiAgLSBgJ3NyYy9pbmRleC50cydgXG4gICAgICogIC0gYHJlcXVpcmUucmVzb2x2ZSgnLi9sYW1iZGEnKWBcbiAgICAgKiAgLSBgWydzcmMvaW5kZXgudHMnLCAnc3JjL3V0aWwudHMnXWBcbiAgICAgKiAgLSBge29uZTogJ3NyYy90d28udHMnLCB0d286ICdzcmMvb25lLnRzJ31gXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cyxcblxuICAgIC8qKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGJ1bmRsZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHByb3BzLmJ1aWxkT3B0aW9uc2A6XG4gICAgICogLSBgYnVuZGxlPXRydWVgXG4gICAgICogLSBgcGxhdGZvcm09bm9kZWBcbiAgICAgKiAtIGB0YXJnZXQ9bm9kZVhgIHdpdGggWCBiZWluZyB0aGUgbWFqb3Igbm9kZSB2ZXJzaW9uIHJ1bm5pbmcgbG9jYWxseVxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBwcm9wczogSmF2YVNjcmlwdENvZGVQcm9wcyA9IHt9LFxuICApIHtcbiAgICBzdXBlcihlbnRyeVBvaW50cywgcHJvcHMpO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgZGVwbG95ZWQgVHlwZVNjcmlwdCBDb2RlLlxuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBUeXBlU2NyaXB0Q29kZSBleHRlbmRzIEVzYnVpbGRDb2RlPFR5cGVTY3JpcHRDb2RlUHJvcHM+IHtcbiAgcHJvdGVjdGVkIGdldEFzc2V0KHNjb3BlOiBDb25zdHJ1Y3QpOiBFc2J1aWxkQXNzZXQ8QXNzZXRQcm9wcz4ge1xuICAgIHJldHVybiBuZXcgVFNBc3NldChcbiAgICAgIHNjb3BlLFxuICAgICAgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgICAgdGhpcy5wcm9wcyxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlLlxuICAgICAqXG4gICAgICogUmVsYXRpdmUgcGF0aHMgYXJlIGJ5IGRlZmF1bHQgcmVzb2x2ZWQgZnJvbSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgKiBUbyBjaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LCBzZWUgYGJ1aWxkT3B0aW9ucy5hYnNXb3JraW5nRGlyYC5cbiAgICAgKlxuICAgICAqIEFic29sdXRlIHBhdGhzIGNhbiBiZSB1c2VkIGlmIGZpbGVzIGFyZSBwYXJ0IG9mIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgKlxuICAgICAqIEV4YW1wbGVzOlxuICAgICAqICAtIGAnc3JjL2luZGV4LnRzJ2BcbiAgICAgKiAgLSBgcmVxdWlyZS5yZXNvbHZlKCcuL2xhbWJkYScpYFxuICAgICAqICAtIGBbJ3NyYy9pbmRleC50cycsICdzcmMvdXRpbC50cyddYFxuICAgICAqICAtIGB7b25lOiAnc3JjL3R3by50cycsIHR3bzogJ3NyYy9vbmUudHMnfWBcbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1ub2RlYFxuICAgICAqIC0gYHRhcmdldD1ub2RlWGAgd2l0aCBYIGJlaW5nIHRoZSBtYWpvciBub2RlIHZlcnNpb24gcnVubmluZyBsb2NhbGx5XG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHByb3BzOiBUeXBlU2NyaXB0Q29kZVByb3BzID0ge30sXG4gICkge1xuICAgIHN1cGVyKGVudHJ5UG9pbnRzLCBwcm9wcyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
+ /// <reference types="node" />
1
2
  export declare type Platform = 'browser' | 'node' | 'neutral';
2
3
  export declare type Format = 'iife' | 'cjs' | 'esm';
3
- export declare type Loader = 'js' | 'jsx' | 'ts' | 'tsx' | 'css' | 'json' | 'text' | 'base64' | 'file' | 'dataurl' | 'binary' | 'default';
4
+ export declare type Loader = 'base64' | 'binary' | 'copy' | 'css' | 'dataurl' | 'default' | 'empty' | 'file' | 'js' | 'json' | 'jsx' | 'text' | 'ts' | 'tsx';
4
5
  export declare type LogLevel = 'verbose' | 'debug' | 'info' | 'warning' | 'error' | 'silent';
5
6
  export declare type Charset = 'ascii' | 'utf8';
6
7
  export declare type Drop = 'console' | 'debugger';
@@ -15,10 +16,14 @@ interface CommonOptions {
15
16
  readonly sourcesContent?: boolean;
16
17
  /** Documentation: https://esbuild.github.io/api/#format */
17
18
  readonly format?: Format;
18
- /** Documentation: https://esbuild.github.io/api/#globalName */
19
+ /** Documentation: https://esbuild.github.io/api/#global-name */
19
20
  readonly globalName?: string;
20
21
  /** Documentation: https://esbuild.github.io/api/#target */
21
22
  readonly target?: string | string[];
23
+ /** Documentation: https://esbuild.github.io/api/#supported */
24
+ readonly supported?: Record<string, boolean>;
25
+ /** Documentation: https://esbuild.github.io/api/#platform */
26
+ readonly platform?: Platform;
22
27
  /** Documentation: https://esbuild.github.io/api/#mangle-props */
23
28
  readonly mangleProps?: any;
24
29
  /** Documentation: https://esbuild.github.io/api/#mangle-props */
@@ -44,11 +49,17 @@ interface CommonOptions {
44
49
  /** Documentation: https://esbuild.github.io/api/#ignore-annotations */
45
50
  readonly ignoreAnnotations?: boolean;
46
51
  /** Documentation: https://esbuild.github.io/api/#jsx */
47
- readonly jsx?: 'transform' | 'preserve';
52
+ readonly jsx?: 'transform' | 'preserve' | 'automatic';
48
53
  /** Documentation: https://esbuild.github.io/api/#jsx-factory */
49
54
  readonly jsxFactory?: string;
50
55
  /** Documentation: https://esbuild.github.io/api/#jsx-fragment */
51
56
  readonly jsxFragment?: string;
57
+ /** Documentation: https://esbuild.github.io/api/#jsx-import-source */
58
+ readonly jsxImportSource?: string;
59
+ /** Documentation: https://esbuild.github.io/api/#jsx-development */
60
+ readonly jsxDev?: boolean;
61
+ /** Documentation: https://esbuild.github.io/api/#jsx-side-effects */
62
+ readonly jsxSideEffects?: boolean;
52
63
  /** Documentation: https://esbuild.github.io/api/#define */
53
64
  readonly define?: {
54
65
  [key: string]: string;
@@ -81,17 +92,19 @@ export interface BuildOptions extends CommonOptions {
81
92
  readonly outdir?: string;
82
93
  /** Documentation: https://esbuild.github.io/api/#outbase */
83
94
  readonly outbase?: string;
84
- /** Documentation: https://esbuild.github.io/api/#platform */
85
- readonly platform?: Platform;
86
95
  /** Documentation: https://esbuild.github.io/api/#external */
87
96
  readonly external?: string[];
97
+ /** Documentation: https://esbuild.github.io/api/#packages */
98
+ readonly packages?: 'external';
99
+ /** Documentation: https://esbuild.github.io/api/#alias */
100
+ readonly alias?: Record<string, string>;
88
101
  /** Documentation: https://esbuild.github.io/api/#loader */
89
102
  readonly loader?: {
90
103
  [ext: string]: Loader;
91
104
  };
92
105
  /** Documentation: https://esbuild.github.io/api/#resolve-extensions */
93
106
  readonly resolveExtensions?: string[];
94
- /** Documentation: https://esbuild.github.io/api/#mainFields */
107
+ /** Documentation: https://esbuild.github.io/api/#main-fields */
95
108
  readonly mainFields?: string[];
96
109
  /** Documentation: https://esbuild.github.io/api/#conditions */
97
110
  readonly conditions?: string[];
@@ -134,12 +147,13 @@ export interface WatchMode {
134
147
  onRebuild?: (error: BuildFailure | null, result: BuildResult | null) => void;
135
148
  }
136
149
  export interface StdinOptions {
137
- contents: string;
150
+ contents: string | Uint8Array;
138
151
  resolveDir?: string;
139
152
  sourcefile?: string;
140
153
  loader?: Loader;
141
154
  }
142
155
  export interface Message {
156
+ id: string;
143
157
  pluginName: string;
144
158
  text: string;
145
159
  location: Location | null;
@@ -166,13 +180,6 @@ export interface Location {
166
180
  lineText: string;
167
181
  suggestion: string;
168
182
  }
169
- export interface OutputFile {
170
- path: string;
171
- /** "text" as bytes */
172
- contents: Uint8Array;
173
- /** "contents" as text */
174
- text: string;
175
- }
176
183
  export interface BuildInvalidate {
177
184
  (): Promise<BuildIncremental>;
178
185
  dispose(): void;
@@ -221,7 +228,7 @@ export interface ServeResult {
221
228
  stop: () => void;
222
229
  }
223
230
  export interface TransformOptions extends CommonOptions {
224
- readonly tsconfigRaw?: string;
231
+ readonly tsconfigRaw?: string | TsconfigOptions;
225
232
  readonly sourcefile?: string;
226
233
  readonly loader?: Loader;
227
234
  readonly banner?: string;
@@ -233,6 +240,8 @@ export interface TransformResult {
233
240
  warnings: Message[];
234
241
  /** Only when "mangleCache" is present */
235
242
  mangleCache?: Record<string, string | false>;
243
+ /** Only when "legalComments" is "external" */
244
+ legalComments?: string;
236
245
  }
237
246
  export interface TransformFailure extends Error {
238
247
  errors: Message[];
@@ -333,6 +342,7 @@ export interface OnLoadResult {
333
342
  watchDirs?: string[];
334
343
  }
335
344
  export interface PartialMessage {
345
+ id?: string;
336
346
  pluginName?: string;
337
347
  text?: string;
338
348
  location?: Partial<Location> | null;
@@ -350,6 +360,8 @@ export interface Metafile {
350
360
  imports: {
351
361
  path: string;
352
362
  kind: ImportKind;
363
+ external?: boolean;
364
+ original?: string;
353
365
  }[];
354
366
  };
355
367
  };
@@ -363,10 +375,12 @@ export interface Metafile {
363
375
  };
364
376
  imports: {
365
377
  path: string;
366
- kind: ImportKind;
378
+ kind: ImportKind | 'file-loader';
379
+ external?: boolean;
367
380
  }[];
368
381
  exports: string[];
369
382
  entryPoint?: string;
383
+ cssBundle?: string;
370
384
  };
371
385
  };
372
386
  }
@@ -430,7 +444,7 @@ export declare function serve(serveOptions: ServeOptions, buildOptions: BuildOpt
430
444
  *
431
445
  * Documentation: https://esbuild.github.io/api/#transform-api
432
446
  */
433
- export declare function transform(input: string, options?: TransformOptions): Promise<TransformResult>;
447
+ export declare function transform(input: string | Uint8Array, options?: TransformOptions): Promise<TransformResult>;
434
448
  /**
435
449
  * Converts log messages to formatted message strings suitable for printing in
436
450
  * the terminal. This allows you to reuse the built-in behavior of esbuild's
@@ -506,7 +520,7 @@ export interface InitializeOptions {
506
520
  * The URL of the "esbuild.wasm" file. This must be provided when running
507
521
  * esbuild in the browser.
508
522
  */
509
- wasmURL?: string;
523
+ wasmURL?: string | URL;
510
524
  /**
511
525
  * The result of calling "new WebAssembly.Module(buffer)" where "buffer"
512
526
  * is a typed array or ArrayBuffer containing the binary code of the
@@ -524,4 +538,21 @@ export interface InitializeOptions {
524
538
  worker?: boolean;
525
539
  }
526
540
  export declare let version: string;
541
+ export interface OutputFile {
542
+ path: string;
543
+ /** "text" as bytes */
544
+ contents: Uint8Array;
545
+ /** "contents" as text (changes automatically with "contents") */
546
+ text: string;
547
+ }
548
+ export interface CompilerOptions {
549
+ readonly jsxFactory?: string;
550
+ readonly jsxFragmentFactory?: string;
551
+ readonly useDefineForClassFields?: boolean;
552
+ readonly importsNotUsedAsValues?: 'remove' | 'preserve' | 'error';
553
+ readonly preserveValueImports?: boolean;
554
+ }
555
+ export interface TsconfigOptions {
556
+ readonly compilerOptions?: CompilerOptions;
557
+ }
527
558
  export {};
@@ -2,4 +2,4 @@
2
2
  // ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.version = void 0;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2J1aWxkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmV4cG9ydCB0eXBlIFBsYXRmb3JtID0gJ2Jyb3dzZXInIHwgJ25vZGUnIHwgJ25ldXRyYWwnO1xuZXhwb3J0IHR5cGUgRm9ybWF0ID0gJ2lpZmUnIHwgJ2NqcycgfCAnZXNtJztcbmV4cG9ydCB0eXBlIExvYWRlciA9ICdqcycgfCAnanN4JyB8ICd0cycgfCAndHN4JyB8ICdjc3MnIHwgJ2pzb24nIHwgJ3RleHQnIHwgJ2Jhc2U2NCcgfCAnZmlsZScgfCAnZGF0YXVybCcgfCAnYmluYXJ5JyB8ICdkZWZhdWx0JztcbmV4cG9ydCB0eXBlIExvZ0xldmVsID0gJ3ZlcmJvc2UnIHwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc2lsZW50JztcbmV4cG9ydCB0eXBlIENoYXJzZXQgPSAnYXNjaWknIHwgJ3V0ZjgnO1xuZXhwb3J0IHR5cGUgRHJvcCA9ICdjb25zb2xlJyB8ICdkZWJ1Z2dlcic7XG5cbmludGVyZmFjZSBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzb3VyY2VtYXAgKi9cbiAgcmVhZG9ubHkgc291cmNlbWFwPzogYm9vbGVhbiB8ICdsaW5rZWQnIHwgJ2lubGluZScgfCAnZXh0ZXJuYWwnIHwgJ2JvdGgnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xlZ2FsLWNvbW1lbnRzICovXG4gIHJlYWRvbmx5IGxlZ2FsQ29tbWVudHM/OiAnbm9uZScgfCAnaW5saW5lJyB8ICdlb2YnIHwgJ2xpbmtlZCcgfCAnZXh0ZXJuYWwnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZS1yb290ICovXG4gIHJlYWRvbmx5IHNvdXJjZVJvb3Q/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc291cmNlcy1jb250ZW50ICovXG4gIHJlYWRvbmx5IHNvdXJjZXNDb250ZW50PzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Zvcm1hdCAqL1xuICByZWFkb25seSBmb3JtYXQ/OiBGb3JtYXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZ2xvYmFsTmFtZSAqL1xuICByZWFkb25seSBnbG9iYWxOYW1lPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RhcmdldCAqL1xuICByZWFkb25seSB0YXJnZXQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVQcm9wcz86IGFueTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgcmVzZXJ2ZVByb3BzPzogYW55O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVRdW90ZWQ/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVDYWNoZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGZhbHNlPjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNkcm9wICovXG4gIHJlYWRvbmx5IGRyb3A/OiBEcm9wW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeVdoaXRlc3BhY2U/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlJZGVudGlmaWVycz86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeVN5bnRheD86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY2hhcnNldCAqL1xuICByZWFkb25seSBjaGFyc2V0PzogQ2hhcnNldDtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmVlLXNoYWtpbmcgKi9cbiAgcmVhZG9ubHkgdHJlZVNoYWtpbmc/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2lnbm9yZS1hbm5vdGF0aW9ucyAqL1xuICByZWFkb25seSBpZ25vcmVBbm5vdGF0aW9ucz86IGJvb2xlYW47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3ggKi9cbiAgcmVhZG9ubHkganN4PzogJ3RyYW5zZm9ybScgfCAncHJlc2VydmUnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1mYWN0b3J5ICovXG4gIHJlYWRvbmx5IGpzeEZhY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4LWZyYWdtZW50ICovXG4gIHJlYWRvbmx5IGpzeEZyYWdtZW50Pzogc3RyaW5nO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZGVmaW5lICovXG4gIHJlYWRvbmx5IGRlZmluZT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcHVyZSAqL1xuICByZWFkb25seSBwdXJlPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8ja2VlcC1uYW1lcyAqL1xuICByZWFkb25seSBrZWVwTmFtZXM/OiBib29sZWFuO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY29sb3IgKi9cbiAgcmVhZG9ubHkgY29sb3I/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1sZXZlbCAqL1xuICByZWFkb25seSBsb2dMZXZlbD86IExvZ0xldmVsO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1saW1pdCAqL1xuICByZWFkb25seSBsb2dMaW1pdD86IG51bWJlcjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2ctb3ZlcnJpZGUgKi9cbiAgcmVhZG9ubHkgbG9nT3ZlcnJpZGU/OiBSZWNvcmQ8c3RyaW5nLCBMb2dMZXZlbD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRPcHRpb25zIGV4dGVuZHMgQ29tbW9uT3B0aW9ucyB7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYnVuZGxlICovXG4gIHJlYWRvbmx5IGJ1bmRsZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc3BsaXR0aW5nICovXG4gIHJlYWRvbmx5IHNwbGl0dGluZz86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcHJlc2VydmUtc3ltbGlua3MgKi9cbiAgcmVhZG9ubHkgcHJlc2VydmVTeW1saW5rcz86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0ZmlsZSAqL1xuICByZWFkb25seSBvdXRmaWxlPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21ldGFmaWxlICovXG4gIHJlYWRvbmx5IG1ldGFmaWxlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXRkaXIgKi9cbiAgcmVhZG9ubHkgb3V0ZGlyPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dGJhc2UgKi9cbiAgcmVhZG9ubHkgb3V0YmFzZT86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwbGF0Zm9ybSAqL1xuICByZWFkb25seSBwbGF0Zm9ybT86IFBsYXRmb3JtO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2V4dGVybmFsICovXG4gIHJlYWRvbmx5IGV4dGVybmFsPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9hZGVyICovXG4gIHJlYWRvbmx5IGxvYWRlcj86IHsgW2V4dDogc3RyaW5nXTogTG9hZGVyIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcmVzb2x2ZS1leHRlbnNpb25zICovXG4gIHJlYWRvbmx5IHJlc29sdmVFeHRlbnNpb25zPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFpbkZpZWxkcyAqL1xuICByZWFkb25seSBtYWluRmllbGRzPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY29uZGl0aW9ucyAqL1xuICByZWFkb25seSBjb25kaXRpb25zPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd3JpdGUgKi9cbiAgcmVhZG9ubHkgd3JpdGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FsbG93LW92ZXJ3cml0ZSAqL1xuICByZWFkb25seSBhbGxvd092ZXJ3cml0ZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHNjb25maWcgKi9cbiAgcmVhZG9ubHkgdHNjb25maWc/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0LWV4dGVuc2lvbiAqL1xuICByZWFkb25seSBvdXRFeHRlbnNpb24/OiB7IFtleHQ6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3B1YmxpYy1wYXRoICovXG4gIHJlYWRvbmx5IHB1YmxpY1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZW50cnktbmFtZXMgKi9cbiAgcmVhZG9ubHkgZW50cnlOYW1lcz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjaHVuay1uYW1lcyAqL1xuICByZWFkb25seSBjaHVua05hbWVzPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Fzc2V0LW5hbWVzICovXG4gIHJlYWRvbmx5IGFzc2V0TmFtZXM/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5qZWN0ICovXG4gIHJlYWRvbmx5IGluamVjdD86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Jhbm5lciAqL1xuICByZWFkb25seSBiYW5uZXI/OiB7IFt0eXBlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNmb290ZXIgKi9cbiAgcmVhZG9ubHkgZm9vdGVyPzogeyBbdHlwZTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5jcmVtZW50YWwgKi9cbiAgcmVhZG9ubHkgaW5jcmVtZW50YWw/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3dvcmtpbmctZGlyZWN0b3J5ICovXG4gIHJlYWRvbmx5IGFic1dvcmtpbmdEaXI/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbm9kZS1wYXRocyAqL1xuICByZWFkb25seSBub2RlUGF0aHM/OiBzdHJpbmdbXTsgLy8gVGhlIFwiTk9ERV9QQVRIXCIgdmFyaWFibGUgZnJvbSBOb2RlLmpzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hNb2RlIHtcbiAgb25SZWJ1aWxkPzogKGVycm9yOiBCdWlsZEZhaWx1cmUgfCBudWxsLCByZXN1bHQ6IEJ1aWxkUmVzdWx0IHwgbnVsbCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGRpbk9wdGlvbnMge1xuICBjb250ZW50czogc3RyaW5nO1xuICByZXNvbHZlRGlyPzogc3RyaW5nO1xuICBzb3VyY2VmaWxlPzogc3RyaW5nO1xuICBsb2FkZXI/OiBMb2FkZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZSB7XG4gIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xuICBsb2NhdGlvbjogTG9jYXRpb24gfCBudWxsO1xuICBub3RlczogTm90ZVtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyLXNwZWNpZmllZCBkYXRhIHRoYXQgaXMgcGFzc2VkIHRocm91Z2ggdW5tb2RpZmllZC4gWW91IGNhblxuICAgKiB1c2UgdGhpcyB0byBzdGFzaCB0aGUgb3JpZ2luYWwgZXJyb3IsIGZvciBleGFtcGxlLlxuICAgKi9cbiAgZGV0YWlsOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90ZSB7XG4gIHRleHQ6IHN0cmluZztcbiAgbG9jYXRpb246IExvY2F0aW9uIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvbiB7XG4gIGZpbGU6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIC8qKiAxLWJhc2VkICovXG4gIGxpbmU6IG51bWJlcjtcbiAgLyoqIDAtYmFzZWQsIGluIGJ5dGVzICovXG4gIGNvbHVtbjogbnVtYmVyO1xuICAvKiogaW4gYnl0ZXMgKi9cbiAgbGVuZ3RoOiBudW1iZXI7XG4gIGxpbmVUZXh0OiBzdHJpbmc7XG4gIHN1Z2dlc3Rpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPdXRwdXRGaWxlIHtcbiAgcGF0aDogc3RyaW5nO1xuICAvKiogXCJ0ZXh0XCIgYXMgYnl0ZXMgKi9cbiAgY29udGVudHM6IFVpbnQ4QXJyYXk7XG4gIC8qKiBcImNvbnRlbnRzXCIgYXMgdGV4dCAqL1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRJbnZhbGlkYXRlIHtcbiAgKCk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbD47XG4gIGRpc3Bvc2UoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEluY3JlbWVudGFsIGV4dGVuZHMgQnVpbGRSZXN1bHQge1xuICByZWJ1aWxkOiBCdWlsZEludmFsaWRhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRSZXN1bHQge1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbiAgLyoqIE9ubHkgd2hlbiBcIndyaXRlOiBmYWxzZVwiICovXG4gIG91dHB1dEZpbGVzPzogT3V0cHV0RmlsZVtdO1xuICAvKiogT25seSB3aGVuIFwiaW5jcmVtZW50YWw6IHRydWVcIiAqL1xuICByZWJ1aWxkPzogQnVpbGRJbnZhbGlkYXRlO1xuICAvKiogT25seSB3aGVuIFwid2F0Y2g6IHRydWVcIiAqL1xuICBzdG9wPzogKCkgPT4gdm9pZDtcbiAgLyoqIE9ubHkgd2hlbiBcIm1ldGFmaWxlOiB0cnVlXCIgKi9cbiAgbWV0YWZpbGU/OiBNZXRhZmlsZTtcbiAgLyoqIE9ubHkgd2hlbiBcIm1hbmdsZUNhY2hlXCIgaXMgcHJlc2VudCAqL1xuICBtYW5nbGVDYWNoZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGZhbHNlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEZhaWx1cmUgZXh0ZW5kcyBFcnJvciB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xufVxuXG4vKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NlcnZlLWFyZ3VtZW50cyAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZU9wdGlvbnMge1xuICBwb3J0PzogbnVtYmVyO1xuICBob3N0Pzogc3RyaW5nO1xuICBzZXJ2ZWRpcj86IHN0cmluZztcbiAgb25SZXF1ZXN0PzogKGFyZ3M6IFNlcnZlT25SZXF1ZXN0QXJncykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZU9uUmVxdWVzdEFyZ3Mge1xuICByZW1vdGVBZGRyZXNzOiBzdHJpbmc7XG4gIG1ldGhvZDogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIHN0YXR1czogbnVtYmVyO1xuICAvKiogVGhlIHRpbWUgdG8gZ2VuZXJhdGUgdGhlIHJlc3BvbnNlLCBub3QgdG8gc2VuZCBpdCAqL1xuICB0aW1lSW5NUzogbnVtYmVyO1xufVxuXG4vKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NlcnZlLXJldHVybi12YWx1ZXMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVSZXN1bHQge1xuICBwb3J0OiBudW1iZXI7XG4gIGhvc3Q6IHN0cmluZztcbiAgd2FpdDogUHJvbWlzZTx2b2lkPjtcbiAgc3RvcDogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1PcHRpb25zIGV4dGVuZHMgQ29tbW9uT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHRzY29uZmlnUmF3Pzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IHNvdXJjZWZpbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvYWRlcj86IExvYWRlcjtcbiAgcmVhZG9ubHkgYmFubmVyPzogc3RyaW5nO1xuICByZWFkb25seSBmb290ZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtUmVzdWx0IHtcbiAgY29kZTogc3RyaW5nO1xuICBtYXA6IHN0cmluZztcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbiAgLyoqIE9ubHkgd2hlbiBcIm1hbmdsZUNhY2hlXCIgaXMgcHJlc2VudCAqL1xuICBtYW5nbGVDYWNoZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGZhbHNlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1GYWlsdXJlIGV4dGVuZHMgRXJyb3Ige1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHNldHVwOiAoYnVpbGQ6IFBsdWdpbkJ1aWxkKSA9PiAodm9pZCB8IFByb21pc2U8dm9pZD4pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbkJ1aWxkIHtcbiAgaW5pdGlhbE9wdGlvbnM6IEJ1aWxkT3B0aW9ucztcbiAgcmVzb2x2ZShwYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBSZXNvbHZlT3B0aW9ucyk6IFByb21pc2U8UmVzb2x2ZVJlc3VsdD47XG5cbiAgb25TdGFydChjYWxsYmFjazogKCkgPT5cbiAgKE9uU3RhcnRSZXN1bHQgfCBudWxsIHwgdm9pZCB8IFByb21pc2U8T25TdGFydFJlc3VsdCB8IG51bGwgfCB2b2lkPikpOiB2b2lkO1xuICBvbkVuZChjYWxsYmFjazogKHJlc3VsdDogQnVpbGRSZXN1bHQpID0+XG4gICh2b2lkIHwgUHJvbWlzZTx2b2lkPikpOiB2b2lkO1xuICBvblJlc29sdmUob3B0aW9uczogT25SZXNvbHZlT3B0aW9ucywgY2FsbGJhY2s6IChhcmdzOiBPblJlc29sdmVBcmdzKSA9PlxuICAoT25SZXNvbHZlUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZCB8IFByb21pc2U8T25SZXNvbHZlUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZD4pKTogdm9pZDtcbiAgb25Mb2FkKG9wdGlvbnM6IE9uTG9hZE9wdGlvbnMsIGNhbGxiYWNrOiAoYXJnczogT25Mb2FkQXJncykgPT5cbiAgKE9uTG9hZFJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQgfCBQcm9taXNlPE9uTG9hZFJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQ+KSk6IHZvaWQ7XG5cbiAgLy8gVGhpcyBpcyBhIGZ1bGwgY29weSBvZiB0aGUgZXNidWlsZCBsaWJyYXJ5IGluIGNhc2UgeW91IG5lZWQgaXRcbiAgZXNidWlsZDoge1xuICAgIHNlcnZlOiB0eXBlb2Ygc2VydmU7XG4gICAgYnVpbGQ6IHR5cGVvZiBidWlsZDtcbiAgICBidWlsZFN5bmM6IHR5cGVvZiBidWlsZFN5bmM7XG4gICAgdHJhbnNmb3JtOiB0eXBlb2YgdHJhbnNmb3JtO1xuICAgIHRyYW5zZm9ybVN5bmM6IHR5cGVvZiB0cmFuc2Zvcm1TeW5jO1xuICAgIGZvcm1hdE1lc3NhZ2VzOiB0eXBlb2YgZm9ybWF0TWVzc2FnZXM7XG4gICAgZm9ybWF0TWVzc2FnZXNTeW5jOiB0eXBlb2YgZm9ybWF0TWVzc2FnZXNTeW5jO1xuICAgIGFuYWx5emVNZXRhZmlsZTogdHlwZW9mIGFuYWx5emVNZXRhZmlsZTtcbiAgICBhbmFseXplTWV0YWZpbGVTeW5jOiB0eXBlb2YgYW5hbHl6ZU1ldGFmaWxlU3luYztcbiAgICBpbml0aWFsaXplOiB0eXBlb2YgaW5pdGlhbGl6ZTtcbiAgICB2ZXJzaW9uOiB0eXBlb2YgdmVyc2lvbjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlT3B0aW9ucyB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG4gIGltcG9ydGVyPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHJlc29sdmVEaXI/OiBzdHJpbmc7XG4gIGtpbmQ/OiBJbXBvcnRLaW5kO1xuICBwbHVnaW5EYXRhPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVSZXN1bHQge1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcblxuICBwYXRoOiBzdHJpbmc7XG4gIGV4dGVybmFsOiBib29sZWFuO1xuICBzaWRlRWZmZWN0czogYm9vbGVhbjtcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHN1ZmZpeDogc3RyaW5nO1xuICBwbHVnaW5EYXRhOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25TdGFydFJlc3VsdCB7XG4gIGVycm9ycz86IFBhcnRpYWxNZXNzYWdlW107XG4gIHdhcm5pbmdzPzogUGFydGlhbE1lc3NhZ2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPblJlc29sdmVPcHRpb25zIHtcbiAgZmlsdGVyOiBSZWdFeHA7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPblJlc29sdmVBcmdzIHtcbiAgcGF0aDogc3RyaW5nO1xuICBpbXBvcnRlcjogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgcmVzb2x2ZURpcjogc3RyaW5nO1xuICBraW5kOiBJbXBvcnRLaW5kO1xuICBwbHVnaW5EYXRhOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEltcG9ydEtpbmQgPVxuICB8ICdlbnRyeS1wb2ludCdcblxuICAvLyBKU1xuICB8ICdpbXBvcnQtc3RhdGVtZW50J1xuICB8ICdyZXF1aXJlLWNhbGwnXG4gIHwgJ2R5bmFtaWMtaW1wb3J0J1xuICB8ICdyZXF1aXJlLXJlc29sdmUnXG5cbiAgLy8gQ1NTXG4gIHwgJ2ltcG9ydC1ydWxlJ1xuICB8ICd1cmwtdG9rZW4nXG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlUmVzdWx0IHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcblxuICBlcnJvcnM/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuICB3YXJuaW5ncz86IFBhcnRpYWxNZXNzYWdlW107XG5cbiAgcGF0aD86IHN0cmluZztcbiAgZXh0ZXJuYWw/OiBib29sZWFuO1xuICBzaWRlRWZmZWN0cz86IGJvb2xlYW47XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgc3VmZml4Pzogc3RyaW5nO1xuICBwbHVnaW5EYXRhPzogYW55O1xuXG4gIHdhdGNoRmlsZXM/OiBzdHJpbmdbXTtcbiAgd2F0Y2hEaXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25Mb2FkT3B0aW9ucyB7XG4gIGZpbHRlcjogUmVnRXhwO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25Mb2FkQXJncyB7XG4gIHBhdGg6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHN1ZmZpeDogc3RyaW5nO1xuICBwbHVnaW5EYXRhOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25Mb2FkUmVzdWx0IHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcblxuICBlcnJvcnM/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuICB3YXJuaW5ncz86IFBhcnRpYWxNZXNzYWdlW107XG5cbiAgY29udGVudHM/OiBzdHJpbmcgfCBVaW50OEFycmF5O1xuICByZXNvbHZlRGlyPzogc3RyaW5nO1xuICBsb2FkZXI/OiBMb2FkZXI7XG4gIHBsdWdpbkRhdGE/OiBhbnk7XG5cbiAgd2F0Y2hGaWxlcz86IHN0cmluZ1tdO1xuICB3YXRjaERpcnM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWFsTWVzc2FnZSB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGxvY2F0aW9uPzogUGFydGlhbDxMb2NhdGlvbj4gfCBudWxsO1xuICBub3Rlcz86IFBhcnRpYWxOb3RlW107XG4gIGRldGFpbD86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWFsTm90ZSB7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGxvY2F0aW9uPzogUGFydGlhbDxMb2NhdGlvbj4gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFmaWxlIHtcbiAgaW5wdXRzOiB7XG4gICAgW3BhdGg6IHN0cmluZ106IHtcbiAgICAgIGJ5dGVzOiBudW1iZXI7XG4gICAgICBpbXBvcnRzOiB7XG4gICAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgICAga2luZDogSW1wb3J0S2luZDtcbiAgICAgIH1bXTtcbiAgICB9O1xuICB9O1xuICBvdXRwdXRzOiB7XG4gICAgW3BhdGg6IHN0cmluZ106IHtcbiAgICAgIGJ5dGVzOiBudW1iZXI7XG4gICAgICBpbnB1dHM6IHtcbiAgICAgICAgW3BhdGg6IHN0cmluZ106IHtcbiAgICAgICAgICBieXRlc0luT3V0cHV0OiBudW1iZXI7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgICAgaW1wb3J0czoge1xuICAgICAgICBwYXRoOiBzdHJpbmc7XG4gICAgICAgIGtpbmQ6IEltcG9ydEtpbmQ7XG4gICAgICB9W107XG4gICAgICBleHBvcnRzOiBzdHJpbmdbXTtcbiAgICAgIGVudHJ5UG9pbnQ/OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtYXRNZXNzYWdlc09wdGlvbnMge1xuICBraW5kOiAnZXJyb3InIHwgJ3dhcm5pbmcnO1xuICBjb2xvcj86IGJvb2xlYW47XG4gIHRlcm1pbmFsV2lkdGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5hbHl6ZU1ldGFmaWxlT3B0aW9ucyB7XG4gIGNvbG9yPzogYm9vbGVhbjtcbiAgdmVyYm9zZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpbnZva2VzIHRoZSBcImVzYnVpbGRcIiBjb21tYW5kLWxpbmUgdG9vbCBmb3IgeW91LiBJdCByZXR1cm5zIGFcbiAqIHByb21pc2UgdGhhdCBlaXRoZXIgcmVzb2x2ZXMgd2l0aCBhIFwiQnVpbGRSZXN1bHRcIiBvYmplY3Qgb3IgcmVqZWN0cyB3aXRoIGFcbiAqIFwiQnVpbGRGYWlsdXJlXCIgb2JqZWN0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyB3cml0ZTogZmFsc2UgfSk6IFByb21pc2U8QnVpbGRSZXN1bHQgJiB7IG91dHB1dEZpbGVzOiBPdXRwdXRGaWxlW10gfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IGluY3JlbWVudGFsOiB0cnVlOyBtZXRhZmlsZTogdHJ1ZSB9KTogUHJvbWlzZTxCdWlsZEluY3JlbWVudGFsICYgeyBtZXRhZmlsZTogTWV0YWZpbGUgfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IGluY3JlbWVudGFsOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWw+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyBtZXRhZmlsZTogdHJ1ZSB9KTogUHJvbWlzZTxCdWlsZFJlc3VsdCAmIHsgbWV0YWZpbGU6IE1ldGFmaWxlIH0+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxCdWlsZFJlc3VsdD47XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyBzaW1pbGFyIHRvIFwiYnVpbGRcIiBidXQgaXQgc2VydmVzIHRoZSByZXN1bHRpbmcgZmlsZXMgb3ZlclxuICogSFRUUCBvbiBhIGxvY2FsaG9zdCBhZGRyZXNzIHdpdGggdGhlIHNwZWNpZmllZCBwb3J0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NlcnZlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHNlcnZlKHNlcnZlT3B0aW9uczogU2VydmVPcHRpb25zLCBidWlsZE9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IFByb21pc2U8U2VydmVSZXN1bHQ+O1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gdHJhbnNmb3JtcyBhIHNpbmdsZSBKYXZhU2NyaXB0IGZpbGUuIEl0IGNhbiBiZSB1c2VkIHRvIG1pbmlmeVxuICogSmF2YVNjcmlwdCwgY29udmVydCBUeXBlU2NyaXB0L0pTWCB0byBKYXZhU2NyaXB0LCBvciBjb252ZXJ0IG5ld2VyIEphdmFTY3JpcHRcbiAqIHRvIG9sZGVyIEphdmFTY3JpcHQuIEl0IHJldHVybnMgYSBwcm9taXNlIHRoYXQgaXMgZWl0aGVyIHJlc29sdmVkIHdpdGggYVxuICogXCJUcmFuc2Zvcm1SZXN1bHRcIiBvYmplY3Qgb3IgcmVqZWN0ZWQgd2l0aCBhIFwiVHJhbnNmb3JtRmFpbHVyZVwiIG9iamVjdC5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB0cmFuc2Zvcm0oaW5wdXQ6IHN0cmluZywgb3B0aW9ucz86IFRyYW5zZm9ybU9wdGlvbnMpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3VsdD47XG5cbi8qKlxuICogQ29udmVydHMgbG9nIG1lc3NhZ2VzIHRvIGZvcm1hdHRlZCBtZXNzYWdlIHN0cmluZ3Mgc3VpdGFibGUgZm9yIHByaW50aW5nIGluXG4gKiB0aGUgdGVybWluYWwuIFRoaXMgYWxsb3dzIHlvdSB0byByZXVzZSB0aGUgYnVpbHQtaW4gYmVoYXZpb3Igb2YgZXNidWlsZCdzXG4gKiBsb2cgbWVzc2FnZSBmb3JtYXR0ZXIuIFRoaXMgaXMgYSBiYXRjaC1vcmllbnRlZCBBUEkgZm9yIGVmZmljaWVuY3kuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VzKG1lc3NhZ2VzOiBQYXJ0aWFsTWVzc2FnZVtdLCBvcHRpb25zOiBGb3JtYXRNZXNzYWdlc09wdGlvbnMpOiBQcm9taXNlPHN0cmluZ1tdPjtcblxuLyoqXG4gKiBQcmV0dHktcHJpbnRzIGFuIGFuYWx5c2lzIG9mIHRoZSBtZXRhZmlsZSBKU09OIHRvIGEgc3RyaW5nLiBUaGlzIGlzIGp1c3QgZm9yXG4gKiBjb252ZW5pZW5jZSB0byBiZSBhYmxlIHRvIG1hdGNoIGVzYnVpbGQncyBwcmV0dHktcHJpbnRpbmcgZXhhY3RseS4gSWYgeW91IHdhbnRcbiAqIHRvIGN1c3RvbWl6ZSBpdCwgeW91IGNhbiBqdXN0IGluc3BlY3QgdGhlIGRhdGEgaW4gdGhlIG1ldGFmaWxlIHlvdXJzZWxmLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNhbmFseXplXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGFuYWx5emVNZXRhZmlsZShtZXRhZmlsZTogTWV0YWZpbGUgfCBzdHJpbmcsIG9wdGlvbnM/OiBBbmFseXplTWV0YWZpbGVPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcImJ1aWxkXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYnVpbGQtYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkU3luYyhvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IHdyaXRlOiBmYWxzZSB9KTogQnVpbGRSZXN1bHQgJiB7IG91dHB1dEZpbGVzOiBPdXRwdXRGaWxlW10gfTtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkU3luYyhvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBCdWlsZFJlc3VsdDtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJ0cmFuc2Zvcm1cIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyYW5zZm9ybVN5bmMoaW5wdXQ6IHN0cmluZywgb3B0aW9ucz86IFRyYW5zZm9ybU9wdGlvbnMpOiBUcmFuc2Zvcm1SZXN1bHQ7XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiZm9ybWF0TWVzc2FnZXNcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBmb3JtYXRNZXNzYWdlc1N5bmMobWVzc2FnZXM6IFBhcnRpYWxNZXNzYWdlW10sIG9wdGlvbnM6IEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyk6IHN0cmluZ1tdO1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcImFuYWx5emVNZXRhZmlsZVwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FuYWx5emVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYW5hbHl6ZU1ldGFmaWxlU3luYyhtZXRhZmlsZTogTWV0YWZpbGUgfCBzdHJpbmcsIG9wdGlvbnM/OiBBbmFseXplTWV0YWZpbGVPcHRpb25zKTogc3RyaW5nO1xuXG4vKipcbiAqIFRoaXMgY29uZmlndXJlcyB0aGUgYnJvd3Nlci1iYXNlZCB2ZXJzaW9uIG9mIGVzYnVpbGQuIEl0IGlzIG5lY2Vzc2FyeSB0b1xuICogY2FsbCB0aGlzIGZpcnN0IGFuZCB3YWl0IGZvciB0aGUgcmV0dXJuZWQgcHJvbWlzZSB0byBiZSByZXNvbHZlZCBiZWZvcmVcbiAqIG1ha2luZyBvdGhlciBBUEkgY2FsbHMgd2hlbiB1c2luZyBlc2J1aWxkIGluIHRoZSBicm93c2VyLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllcyAoXCJvcHRpb25zXCIgaXMgcmVxdWlyZWQpXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3J1bm5pbmctaW4tdGhlLWJyb3dzZXJcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gaW5pdGlhbGl6ZShvcHRpb25zOiBJbml0aWFsaXplT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhbGl6ZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgXCJlc2J1aWxkLndhc21cIiBmaWxlLiBUaGlzIG11c3QgYmUgcHJvdmlkZWQgd2hlbiBydW5uaW5nXG4gICAqIGVzYnVpbGQgaW4gdGhlIGJyb3dzZXIuXG4gICAqL1xuICB3YXNtVVJMPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgXCJuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1ZmZlcilcIiB3aGVyZSBcImJ1ZmZlclwiXG4gICAqIGlzIGEgdHlwZWQgYXJyYXkgb3IgQXJyYXlCdWZmZXIgY29udGFpbmluZyB0aGUgYmluYXJ5IGNvZGUgb2YgdGhlXG4gICAqIFwiZXNidWlsZC53YXNtXCIgZmlsZS5cbiAgICpcbiAgICogWW91IGNhbiB1c2UgdGhpcyBhcyBhbiBhbHRlcm5hdGl2ZSB0byBcIndhc21VUkxcIiBmb3IgZW52aXJvbm1lbnRzIHdoZXJlIGl0J3NcbiAgICogbm90IHBvc3NpYmxlIHRvIGRvd25sb2FkIHRoZSBXZWJBc3NlbWJseSBtb2R1bGUuXG4gICAqL1xuICB3YXNtTW9kdWxlPzogYW55O1xuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGVzYnVpbGQgcnVucyB0aGUgV2ViQXNzZW1ibHktYmFzZWQgYnJvd3NlciBBUEkgaW4gYSB3ZWIgd29ya2VyXG4gICAqIHRvIGF2b2lkIGJsb2NraW5nIHRoZSBVSSB0aHJlYWQuIFRoaXMgY2FuIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgXCJ3b3JrZXJcIlxuICAgKiB0byBmYWxzZS5cbiAgICovXG4gIHdvcmtlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBsZXQgdmVyc2lvbjogc3RyaW5nO1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2J1aWxkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmV4cG9ydCB0eXBlIFBsYXRmb3JtID0gJ2Jyb3dzZXInIHwgJ25vZGUnIHwgJ25ldXRyYWwnO1xuZXhwb3J0IHR5cGUgRm9ybWF0ID0gJ2lpZmUnIHwgJ2NqcycgfCAnZXNtJztcbmV4cG9ydCB0eXBlIExvYWRlciA9ICdiYXNlNjQnIHwgJ2JpbmFyeScgfCAnY29weScgfCAnY3NzJyB8ICdkYXRhdXJsJyB8ICdkZWZhdWx0JyB8ICdlbXB0eScgfCAnZmlsZScgfCAnanMnIHwgJ2pzb24nIHwgJ2pzeCcgfCAndGV4dCcgfCAndHMnIHwgJ3RzeCc7XG5leHBvcnQgdHlwZSBMb2dMZXZlbCA9ICd2ZXJib3NlJyB8ICdkZWJ1ZycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZXJyb3InIHwgJ3NpbGVudCc7XG5leHBvcnQgdHlwZSBDaGFyc2V0ID0gJ2FzY2lpJyB8ICd1dGY4JztcbmV4cG9ydCB0eXBlIERyb3AgPSAnY29uc29sZScgfCAnZGVidWdnZXInO1xuXG5pbnRlcmZhY2UgQ29tbW9uT3B0aW9ucyB7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc291cmNlbWFwICovXG4gIHJlYWRvbmx5IHNvdXJjZW1hcD86IGJvb2xlYW4gfCAnbGlua2VkJyB8ICdpbmxpbmUnIHwgJ2V4dGVybmFsJyB8ICdib3RoJztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsZWdhbC1jb21tZW50cyAqL1xuICByZWFkb25seSBsZWdhbENvbW1lbnRzPzogJ25vbmUnIHwgJ2lubGluZScgfCAnZW9mJyB8ICdsaW5rZWQnIHwgJ2V4dGVybmFsJztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzb3VyY2Utcm9vdCAqL1xuICByZWFkb25seSBzb3VyY2VSb290Pzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZXMtY29udGVudCAqL1xuICByZWFkb25seSBzb3VyY2VzQ29udGVudD86IGJvb2xlYW47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNmb3JtYXQgKi9cbiAgcmVhZG9ubHkgZm9ybWF0PzogRm9ybWF0O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2dsb2JhbC1uYW1lICovXG4gIHJlYWRvbmx5IGdsb2JhbE5hbWU/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdGFyZ2V0ICovXG4gIHJlYWRvbmx5IHRhcmdldD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3N1cHBvcnRlZCAqL1xuICByZWFkb25seSBzdXBwb3J0ZWQ/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwbGF0Zm9ybSAqL1xuICByZWFkb25seSBwbGF0Zm9ybT86IFBsYXRmb3JtO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFuZ2xlLXByb3BzICovXG4gIHJlYWRvbmx5IG1hbmdsZVByb3BzPzogYW55O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSByZXNlcnZlUHJvcHM/OiBhbnk7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFuZ2xlLXByb3BzICovXG4gIHJlYWRvbmx5IG1hbmdsZVF1b3RlZD86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFuZ2xlLXByb3BzICovXG4gIHJlYWRvbmx5IG1hbmdsZUNhY2hlPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgZmFsc2U+O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Ryb3AgKi9cbiAgcmVhZG9ubHkgZHJvcD86IERyb3BbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtaW5pZnkgKi9cbiAgcmVhZG9ubHkgbWluaWZ5PzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtaW5pZnkgKi9cbiAgcmVhZG9ubHkgbWluaWZ5V2hpdGVzcGFjZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeUlkZW50aWZpZXJzPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtaW5pZnkgKi9cbiAgcmVhZG9ubHkgbWluaWZ5U3ludGF4PzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjaGFyc2V0ICovXG4gIHJlYWRvbmx5IGNoYXJzZXQ/OiBDaGFyc2V0O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyZWUtc2hha2luZyAqL1xuICByZWFkb25seSB0cmVlU2hha2luZz86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaWdub3JlLWFubm90YXRpb25zICovXG4gIHJlYWRvbmx5IGlnbm9yZUFubm90YXRpb25zPzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeCAqL1xuICByZWFkb25seSBqc3g/OiAndHJhbnNmb3JtJyB8ICdwcmVzZXJ2ZScgfCAnYXV0b21hdGljJztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3gtZmFjdG9yeSAqL1xuICByZWFkb25seSBqc3hGYWN0b3J5Pzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1mcmFnbWVudCAqL1xuICByZWFkb25seSBqc3hGcmFnbWVudD86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3gtaW1wb3J0LXNvdXJjZSAqL1xuICByZWFkb25seSBqc3hJbXBvcnRTb3VyY2U/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4LWRldmVsb3BtZW50ICovXG4gIHJlYWRvbmx5IGpzeERldj86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4LXNpZGUtZWZmZWN0cyAqL1xuICByZWFkb25seSBqc3hTaWRlRWZmZWN0cz86IGJvb2xlYW47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNkZWZpbmUgKi9cbiAgcmVhZG9ubHkgZGVmaW5lPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwdXJlICovXG4gIHJlYWRvbmx5IHB1cmU/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNrZWVwLW5hbWVzICovXG4gIHJlYWRvbmx5IGtlZXBOYW1lcz86IGJvb2xlYW47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjb2xvciAqL1xuICByZWFkb25seSBjb2xvcj86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9nLWxldmVsICovXG4gIHJlYWRvbmx5IGxvZ0xldmVsPzogTG9nTGV2ZWw7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9nLWxpbWl0ICovXG4gIHJlYWRvbmx5IGxvZ0xpbWl0PzogbnVtYmVyO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1vdmVycmlkZSAqL1xuICByZWFkb25seSBsb2dPdmVycmlkZT86IFJlY29yZDxzdHJpbmcsIExvZ0xldmVsPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZE9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidW5kbGUgKi9cbiAgcmVhZG9ubHkgYnVuZGxlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzcGxpdHRpbmcgKi9cbiAgcmVhZG9ubHkgc3BsaXR0aW5nPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwcmVzZXJ2ZS1zeW1saW5rcyAqL1xuICByZWFkb25seSBwcmVzZXJ2ZVN5bWxpbmtzPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXRmaWxlICovXG4gIHJlYWRvbmx5IG91dGZpbGU/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWV0YWZpbGUgKi9cbiAgcmVhZG9ubHkgbWV0YWZpbGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dGRpciAqL1xuICByZWFkb25seSBvdXRkaXI/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0YmFzZSAqL1xuICByZWFkb25seSBvdXRiYXNlPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2V4dGVybmFsICovXG4gIHJlYWRvbmx5IGV4dGVybmFsPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcGFja2FnZXMgKi9cbiAgcmVhZG9ubHkgcGFja2FnZXM/OiAnZXh0ZXJuYWwnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FsaWFzICovXG4gIHJlYWRvbmx5IGFsaWFzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2FkZXIgKi9cbiAgcmVhZG9ubHkgbG9hZGVyPzogeyBbZXh0OiBzdHJpbmddOiBMb2FkZXIgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNyZXNvbHZlLWV4dGVuc2lvbnMgKi9cbiAgcmVhZG9ubHkgcmVzb2x2ZUV4dGVuc2lvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYWluLWZpZWxkcyAqL1xuICByZWFkb25seSBtYWluRmllbGRzPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY29uZGl0aW9ucyAqL1xuICByZWFkb25seSBjb25kaXRpb25zPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd3JpdGUgKi9cbiAgcmVhZG9ubHkgd3JpdGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FsbG93LW92ZXJ3cml0ZSAqL1xuICByZWFkb25seSBhbGxvd092ZXJ3cml0ZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHNjb25maWcgKi9cbiAgcmVhZG9ubHkgdHNjb25maWc/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0LWV4dGVuc2lvbiAqL1xuICByZWFkb25seSBvdXRFeHRlbnNpb24/OiB7IFtleHQ6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3B1YmxpYy1wYXRoICovXG4gIHJlYWRvbmx5IHB1YmxpY1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZW50cnktbmFtZXMgKi9cbiAgcmVhZG9ubHkgZW50cnlOYW1lcz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjaHVuay1uYW1lcyAqL1xuICByZWFkb25seSBjaHVua05hbWVzPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Fzc2V0LW5hbWVzICovXG4gIHJlYWRvbmx5IGFzc2V0TmFtZXM/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5qZWN0ICovXG4gIHJlYWRvbmx5IGluamVjdD86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Jhbm5lciAqL1xuICByZWFkb25seSBiYW5uZXI/OiB7IFt0eXBlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNmb290ZXIgKi9cbiAgcmVhZG9ubHkgZm9vdGVyPzogeyBbdHlwZTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5jcmVtZW50YWwgKi9cbiAgcmVhZG9ubHkgaW5jcmVtZW50YWw/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3dvcmtpbmctZGlyZWN0b3J5ICovXG4gIHJlYWRvbmx5IGFic1dvcmtpbmdEaXI/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbm9kZS1wYXRocyAqL1xuICByZWFkb25seSBub2RlUGF0aHM/OiBzdHJpbmdbXTsgLy8gVGhlIFwiTk9ERV9QQVRIXCIgdmFyaWFibGUgZnJvbSBOb2RlLmpzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hNb2RlIHtcbiAgb25SZWJ1aWxkPzogKGVycm9yOiBCdWlsZEZhaWx1cmUgfCBudWxsLCByZXN1bHQ6IEJ1aWxkUmVzdWx0IHwgbnVsbCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGRpbk9wdGlvbnMge1xuICBjb250ZW50czogc3RyaW5nIHwgVWludDhBcnJheTtcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgc291cmNlZmlsZT86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICBpZDogc3RyaW5nO1xuICBwbHVnaW5OYW1lOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgbG9jYXRpb246IExvY2F0aW9uIHwgbnVsbDtcbiAgbm90ZXM6IE5vdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlci1zcGVjaWZpZWQgZGF0YSB0aGF0IGlzIHBhc3NlZCB0aHJvdWdoIHVubW9kaWZpZWQuIFlvdSBjYW5cbiAgICogdXNlIHRoaXMgdG8gc3Rhc2ggdGhlIG9yaWdpbmFsIGVycm9yLCBmb3IgZXhhbXBsZS5cbiAgICovXG4gIGRldGFpbDogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGUge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBMb2NhdGlvbiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb24ge1xuICBmaWxlOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICAvKiogMS1iYXNlZCAqL1xuICBsaW5lOiBudW1iZXI7XG4gIC8qKiAwLWJhc2VkLCBpbiBieXRlcyAqL1xuICBjb2x1bW46IG51bWJlcjtcbiAgLyoqIGluIGJ5dGVzICovXG4gIGxlbmd0aDogbnVtYmVyO1xuICBsaW5lVGV4dDogc3RyaW5nO1xuICBzdWdnZXN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRJbnZhbGlkYXRlIHtcbiAgKCk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbD47XG4gIGRpc3Bvc2UoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEluY3JlbWVudGFsIGV4dGVuZHMgQnVpbGRSZXN1bHQge1xuICByZWJ1aWxkOiBCdWlsZEludmFsaWRhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRSZXN1bHQge1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbiAgLyoqIE9ubHkgd2hlbiBcIndyaXRlOiBmYWxzZVwiICovXG4gIG91dHB1dEZpbGVzPzogT3V0cHV0RmlsZVtdO1xuICAvKiogT25seSB3aGVuIFwiaW5jcmVtZW50YWw6IHRydWVcIiAqL1xuICByZWJ1aWxkPzogQnVpbGRJbnZhbGlkYXRlO1xuICAvKiogT25seSB3aGVuIFwid2F0Y2g6IHRydWVcIiAqL1xuICBzdG9wPzogKCkgPT4gdm9pZDtcbiAgLyoqIE9ubHkgd2hlbiBcIm1ldGFmaWxlOiB0cnVlXCIgKi9cbiAgbWV0YWZpbGU/OiBNZXRhZmlsZTtcbiAgLyoqIE9ubHkgd2hlbiBcIm1hbmdsZUNhY2hlXCIgaXMgcHJlc2VudCAqL1xuICBtYW5nbGVDYWNoZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGZhbHNlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEZhaWx1cmUgZXh0ZW5kcyBFcnJvciB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xufVxuXG4vKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NlcnZlLWFyZ3VtZW50cyAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZU9wdGlvbnMge1xuICBwb3J0PzogbnVtYmVyO1xuICBob3N0Pzogc3RyaW5nO1xuICBzZXJ2ZWRpcj86IHN0cmluZztcbiAgb25SZXF1ZXN0PzogKGFyZ3M6IFNlcnZlT25SZXF1ZXN0QXJncykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZU9uUmVxdWVzdEFyZ3Mge1xuICByZW1vdGVBZGRyZXNzOiBzdHJpbmc7XG4gIG1ldGhvZDogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIHN0YXR1czogbnVtYmVyO1xuICAvKiogVGhlIHRpbWUgdG8gZ2VuZXJhdGUgdGhlIHJlc3BvbnNlLCBub3QgdG8gc2VuZCBpdCAqL1xuICB0aW1lSW5NUzogbnVtYmVyO1xufVxuXG4vKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NlcnZlLXJldHVybi12YWx1ZXMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVSZXN1bHQge1xuICBwb3J0OiBudW1iZXI7XG4gIGhvc3Q6IHN0cmluZztcbiAgd2FpdDogUHJvbWlzZTx2b2lkPjtcbiAgc3RvcDogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1PcHRpb25zIGV4dGVuZHMgQ29tbW9uT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHRzY29uZmlnUmF3Pzogc3RyaW5nIHwgVHNjb25maWdPcHRpb25zO1xuXG4gIHJlYWRvbmx5IHNvdXJjZWZpbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvYWRlcj86IExvYWRlcjtcbiAgcmVhZG9ubHkgYmFubmVyPzogc3RyaW5nO1xuICByZWFkb25seSBmb290ZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtUmVzdWx0IHtcbiAgY29kZTogc3RyaW5nO1xuICBtYXA6IHN0cmluZztcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbiAgLyoqIE9ubHkgd2hlbiBcIm1hbmdsZUNhY2hlXCIgaXMgcHJlc2VudCAqL1xuICBtYW5nbGVDYWNoZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGZhbHNlPjtcbiAgLyoqIE9ubHkgd2hlbiBcImxlZ2FsQ29tbWVudHNcIiBpcyBcImV4dGVybmFsXCIgKi9cbiAgbGVnYWxDb21tZW50cz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1GYWlsdXJlIGV4dGVuZHMgRXJyb3Ige1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHNldHVwOiAoYnVpbGQ6IFBsdWdpbkJ1aWxkKSA9PiAodm9pZCB8IFByb21pc2U8dm9pZD4pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbkJ1aWxkIHtcbiAgaW5pdGlhbE9wdGlvbnM6IEJ1aWxkT3B0aW9ucztcbiAgcmVzb2x2ZShwYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBSZXNvbHZlT3B0aW9ucyk6IFByb21pc2U8UmVzb2x2ZVJlc3VsdD47XG5cbiAgb25TdGFydChjYWxsYmFjazogKCkgPT5cbiAgKE9uU3RhcnRSZXN1bHQgfCBudWxsIHwgdm9pZCB8IFByb21pc2U8T25TdGFydFJlc3VsdCB8IG51bGwgfCB2b2lkPikpOiB2b2lkO1xuICBvbkVuZChjYWxsYmFjazogKHJlc3VsdDogQnVpbGRSZXN1bHQpID0+XG4gICh2b2lkIHwgUHJvbWlzZTx2b2lkPikpOiB2b2lkO1xuICBvblJlc29sdmUob3B0aW9uczogT25SZXNvbHZlT3B0aW9ucywgY2FsbGJhY2s6IChhcmdzOiBPblJlc29sdmVBcmdzKSA9PlxuICAoT25SZXNvbHZlUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZCB8IFByb21pc2U8T25SZXNvbHZlUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZD4pKTogdm9pZDtcbiAgb25Mb2FkKG9wdGlvbnM6IE9uTG9hZE9wdGlvbnMsIGNhbGxiYWNrOiAoYXJnczogT25Mb2FkQXJncykgPT5cbiAgKE9uTG9hZFJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQgfCBQcm9taXNlPE9uTG9hZFJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQ+KSk6IHZvaWQ7XG5cbiAgLy8gVGhpcyBpcyBhIGZ1bGwgY29weSBvZiB0aGUgZXNidWlsZCBsaWJyYXJ5IGluIGNhc2UgeW91IG5lZWQgaXRcbiAgZXNidWlsZDoge1xuICAgIHNlcnZlOiB0eXBlb2Ygc2VydmU7XG4gICAgYnVpbGQ6IHR5cGVvZiBidWlsZDtcbiAgICBidWlsZFN5bmM6IHR5cGVvZiBidWlsZFN5bmM7XG4gICAgdHJhbnNmb3JtOiB0eXBlb2YgdHJhbnNmb3JtO1xuICAgIHRyYW5zZm9ybVN5bmM6IHR5cGVvZiB0cmFuc2Zvcm1TeW5jO1xuICAgIGZvcm1hdE1lc3NhZ2VzOiB0eXBlb2YgZm9ybWF0TWVzc2FnZXM7XG4gICAgZm9ybWF0TWVzc2FnZXNTeW5jOiB0eXBlb2YgZm9ybWF0TWVzc2FnZXNTeW5jO1xuICAgIGFuYWx5emVNZXRhZmlsZTogdHlwZW9mIGFuYWx5emVNZXRhZmlsZTtcbiAgICBhbmFseXplTWV0YWZpbGVTeW5jOiB0eXBlb2YgYW5hbHl6ZU1ldGFmaWxlU3luYztcbiAgICBpbml0aWFsaXplOiB0eXBlb2YgaW5pdGlhbGl6ZTtcbiAgICB2ZXJzaW9uOiB0eXBlb2YgdmVyc2lvbjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlT3B0aW9ucyB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG4gIGltcG9ydGVyPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHJlc29sdmVEaXI/OiBzdHJpbmc7XG4gIGtpbmQ/OiBJbXBvcnRLaW5kO1xuICBwbHVnaW5EYXRhPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVSZXN1bHQge1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcblxuICBwYXRoOiBzdHJpbmc7XG4gIGV4dGVybmFsOiBib29sZWFuO1xuICBzaWRlRWZmZWN0czogYm9vbGVhbjtcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHN1ZmZpeDogc3RyaW5nO1xuICBwbHVnaW5EYXRhOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25TdGFydFJlc3VsdCB7XG4gIGVycm9ycz86IFBhcnRpYWxNZXNzYWdlW107XG4gIHdhcm5pbmdzPzogUGFydGlhbE1lc3NhZ2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPblJlc29sdmVPcHRpb25zIHtcbiAgZmlsdGVyOiBSZWdFeHA7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPblJlc29sdmVBcmdzIHtcbiAgcGF0aDogc3RyaW5nO1xuICBpbXBvcnRlcjogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgcmVzb2x2ZURpcjogc3RyaW5nO1xuICBraW5kOiBJbXBvcnRLaW5kO1xuICBwbHVnaW5EYXRhOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEltcG9ydEtpbmQgPVxuICB8ICdlbnRyeS1wb2ludCdcblxuICAvLyBKU1xuICB8ICdpbXBvcnQtc3RhdGVtZW50J1xuICB8ICdyZXF1aXJlLWNhbGwnXG4gIHwgJ2R5bmFtaWMtaW1wb3J0J1xuICB8ICdyZXF1aXJlLXJlc29sdmUnXG5cbiAgLy8gQ1NTXG4gIHwgJ2ltcG9ydC1ydWxlJ1xuICB8ICd1cmwtdG9rZW4nXG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlUmVzdWx0IHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcblxuICBlcnJvcnM/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuICB3YXJuaW5ncz86IFBhcnRpYWxNZXNzYWdlW107XG5cbiAgcGF0aD86IHN0cmluZztcbiAgZXh0ZXJuYWw/OiBib29sZWFuO1xuICBzaWRlRWZmZWN0cz86IGJvb2xlYW47XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgc3VmZml4Pzogc3RyaW5nO1xuICBwbHVnaW5EYXRhPzogYW55O1xuXG4gIHdhdGNoRmlsZXM/OiBzdHJpbmdbXTtcbiAgd2F0Y2hEaXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25Mb2FkT3B0aW9ucyB7XG4gIGZpbHRlcjogUmVnRXhwO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25Mb2FkQXJncyB7XG4gIHBhdGg6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHN1ZmZpeDogc3RyaW5nO1xuICBwbHVnaW5EYXRhOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25Mb2FkUmVzdWx0IHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcblxuICBlcnJvcnM/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuICB3YXJuaW5ncz86IFBhcnRpYWxNZXNzYWdlW107XG5cbiAgY29udGVudHM/OiBzdHJpbmcgfCBVaW50OEFycmF5O1xuICByZXNvbHZlRGlyPzogc3RyaW5nO1xuICBsb2FkZXI/OiBMb2FkZXI7XG4gIHBsdWdpbkRhdGE/OiBhbnk7XG5cbiAgd2F0Y2hGaWxlcz86IHN0cmluZ1tdO1xuICB3YXRjaERpcnM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWFsTWVzc2FnZSB7XG4gIGlkPzogc3RyaW5nO1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuICB0ZXh0Pzogc3RyaW5nO1xuICBsb2NhdGlvbj86IFBhcnRpYWw8TG9jYXRpb24+IHwgbnVsbDtcbiAgbm90ZXM/OiBQYXJ0aWFsTm90ZVtdO1xuICBkZXRhaWw/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbE5vdGUge1xuICB0ZXh0Pzogc3RyaW5nO1xuICBsb2NhdGlvbj86IFBhcnRpYWw8TG9jYXRpb24+IHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhZmlsZSB7XG4gIGlucHV0czoge1xuICAgIFtwYXRoOiBzdHJpbmddOiB7XG4gICAgICBieXRlczogbnVtYmVyO1xuICAgICAgaW1wb3J0czoge1xuICAgICAgICBwYXRoOiBzdHJpbmc7XG4gICAgICAgIGtpbmQ6IEltcG9ydEtpbmQ7XG4gICAgICAgIGV4dGVybmFsPzogYm9vbGVhbjtcbiAgICAgICAgb3JpZ2luYWw/OiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgfTtcbiAgfTtcbiAgb3V0cHV0czoge1xuICAgIFtwYXRoOiBzdHJpbmddOiB7XG4gICAgICBieXRlczogbnVtYmVyO1xuICAgICAgaW5wdXRzOiB7XG4gICAgICAgIFtwYXRoOiBzdHJpbmddOiB7XG4gICAgICAgICAgYnl0ZXNJbk91dHB1dDogbnVtYmVyO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICAgIGltcG9ydHM6IHtcbiAgICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgICBraW5kOiBJbXBvcnRLaW5kIHwgJ2ZpbGUtbG9hZGVyJztcbiAgICAgICAgZXh0ZXJuYWw/OiBib29sZWFuO1xuICAgICAgfVtdO1xuICAgICAgZXhwb3J0czogc3RyaW5nW107XG4gICAgICBlbnRyeVBvaW50Pzogc3RyaW5nO1xuICAgICAgY3NzQnVuZGxlPzogc3RyaW5nO1xuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0TWVzc2FnZXNPcHRpb25zIHtcbiAga2luZDogJ2Vycm9yJyB8ICd3YXJuaW5nJztcbiAgY29sb3I/OiBib29sZWFuO1xuICB0ZXJtaW5hbFdpZHRoPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFuYWx5emVNZXRhZmlsZU9wdGlvbnMge1xuICBjb2xvcj86IGJvb2xlYW47XG4gIHZlcmJvc2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gaW52b2tlcyB0aGUgXCJlc2J1aWxkXCIgY29tbWFuZC1saW5lIHRvb2wgZm9yIHlvdS4gSXQgcmV0dXJucyBhXG4gKiBwcm9taXNlIHRoYXQgZWl0aGVyIHJlc29sdmVzIHdpdGggYSBcIkJ1aWxkUmVzdWx0XCIgb2JqZWN0IG9yIHJlamVjdHMgd2l0aCBhXG4gKiBcIkJ1aWxkRmFpbHVyZVwiIG9iamVjdC5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYnVpbGQtYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgd3JpdGU6IGZhbHNlIH0pOiBQcm9taXNlPEJ1aWxkUmVzdWx0ICYgeyBvdXRwdXRGaWxlczogT3V0cHV0RmlsZVtdIH0+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyBpbmNyZW1lbnRhbDogdHJ1ZTsgbWV0YWZpbGU6IHRydWUgfSk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbCAmIHsgbWV0YWZpbGU6IE1ldGFmaWxlIH0+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyBpbmNyZW1lbnRhbDogdHJ1ZSB9KTogUHJvbWlzZTxCdWlsZEluY3JlbWVudGFsPjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgbWV0YWZpbGU6IHRydWUgfSk6IFByb21pc2U8QnVpbGRSZXN1bHQgJiB7IG1ldGFmaWxlOiBNZXRhZmlsZSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IFByb21pc2U8QnVpbGRSZXN1bHQ+O1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gaXMgc2ltaWxhciB0byBcImJ1aWxkXCIgYnV0IGl0IHNlcnZlcyB0aGUgcmVzdWx0aW5nIGZpbGVzIG92ZXJcbiAqIEhUVFAgb24gYSBsb2NhbGhvc3QgYWRkcmVzcyB3aXRoIHRoZSBzcGVjaWZpZWQgcG9ydC5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBzZXJ2ZShzZXJ2ZU9wdGlvbnM6IFNlcnZlT3B0aW9ucywgYnVpbGRPcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPFNlcnZlUmVzdWx0PjtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIHRyYW5zZm9ybXMgYSBzaW5nbGUgSmF2YVNjcmlwdCBmaWxlLiBJdCBjYW4gYmUgdXNlZCB0byBtaW5pZnlcbiAqIEphdmFTY3JpcHQsIGNvbnZlcnQgVHlwZVNjcmlwdC9KU1ggdG8gSmF2YVNjcmlwdCwgb3IgY29udmVydCBuZXdlciBKYXZhU2NyaXB0XG4gKiB0byBvbGRlciBKYXZhU2NyaXB0LiBJdCByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IGlzIGVpdGhlciByZXNvbHZlZCB3aXRoIGFcbiAqIFwiVHJhbnNmb3JtUmVzdWx0XCIgb2JqZWN0IG9yIHJlamVjdGVkIHdpdGggYSBcIlRyYW5zZm9ybUZhaWx1cmVcIiBvYmplY3QuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdHJhbnNmb3JtKGlucHV0OiBzdHJpbmcgfCBVaW50OEFycmF5LCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFByb21pc2U8VHJhbnNmb3JtUmVzdWx0PjtcblxuLyoqXG4gKiBDb252ZXJ0cyBsb2cgbWVzc2FnZXMgdG8gZm9ybWF0dGVkIG1lc3NhZ2Ugc3RyaW5ncyBzdWl0YWJsZSBmb3IgcHJpbnRpbmcgaW5cbiAqIHRoZSB0ZXJtaW5hbC4gVGhpcyBhbGxvd3MgeW91IHRvIHJldXNlIHRoZSBidWlsdC1pbiBiZWhhdmlvciBvZiBlc2J1aWxkJ3NcbiAqIGxvZyBtZXNzYWdlIGZvcm1hdHRlci4gVGhpcyBpcyBhIGJhdGNoLW9yaWVudGVkIEFQSSBmb3IgZWZmaWNpZW5jeS5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZm9ybWF0TWVzc2FnZXMobWVzc2FnZXM6IFBhcnRpYWxNZXNzYWdlW10sIG9wdGlvbnM6IEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nW10+O1xuXG4vKipcbiAqIFByZXR0eS1wcmludHMgYW4gYW5hbHlzaXMgb2YgdGhlIG1ldGFmaWxlIEpTT04gdG8gYSBzdHJpbmcuIFRoaXMgaXMganVzdCBmb3JcbiAqIGNvbnZlbmllbmNlIHRvIGJlIGFibGUgdG8gbWF0Y2ggZXNidWlsZCdzIHByZXR0eS1wcmludGluZyBleGFjdGx5LiBJZiB5b3Ugd2FudFxuICogdG8gY3VzdG9taXplIGl0LCB5b3UgY2FuIGp1c3QgaW5zcGVjdCB0aGUgZGF0YSBpbiB0aGUgbWV0YWZpbGUgeW91cnNlbGYuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FuYWx5emVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYW5hbHl6ZU1ldGFmaWxlKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYnVpbGRcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgd3JpdGU6IGZhbHNlIH0pOiBCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IEJ1aWxkUmVzdWx0O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcInRyYW5zZm9ybVwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdHJhbnNmb3JtU3luYyhpbnB1dDogc3RyaW5nLCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFRyYW5zZm9ybVJlc3VsdDtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJmb3JtYXRNZXNzYWdlc1wiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VzU3luYyhtZXNzYWdlczogUGFydGlhbE1lc3NhZ2VbXSwgb3B0aW9uczogRm9ybWF0TWVzc2FnZXNPcHRpb25zKTogc3RyaW5nW107XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYW5hbHl6ZU1ldGFmaWxlXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYW5hbHl6ZVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBhbmFseXplTWV0YWZpbGVTeW5jKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBzdHJpbmc7XG5cbi8qKlxuICogVGhpcyBjb25maWd1cmVzIHRoZSBicm93c2VyLWJhc2VkIHZlcnNpb24gb2YgZXNidWlsZC4gSXQgaXMgbmVjZXNzYXJ5IHRvXG4gKiBjYWxsIHRoaXMgZmlyc3QgYW5kIHdhaXQgZm9yIHRoZSByZXR1cm5lZCBwcm9taXNlIHRvIGJlIHJlc29sdmVkIGJlZm9yZVxuICogbWFraW5nIG90aGVyIEFQSSBjYWxscyB3aGVuIHVzaW5nIGVzYnVpbGQgaW4gdGhlIGJyb3dzZXIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzIChcIm9wdGlvbnNcIiBpcyByZXF1aXJlZClcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcnVubmluZy1pbi10aGUtYnJvd3NlclxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBpbml0aWFsaXplKG9wdGlvbnM6IEluaXRpYWxpemVPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsaXplT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBcImVzYnVpbGQud2FzbVwiIGZpbGUuIFRoaXMgbXVzdCBiZSBwcm92aWRlZCB3aGVuIHJ1bm5pbmdcbiAgICogZXNidWlsZCBpbiB0aGUgYnJvd3Nlci5cbiAgICovXG4gIHdhc21VUkw/OiBzdHJpbmcgfCBVUkw7XG5cbiAgLyoqXG4gICAqIFRoZSByZXN1bHQgb2YgY2FsbGluZyBcIm5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVyKVwiIHdoZXJlIFwiYnVmZmVyXCJcbiAgICogaXMgYSB0eXBlZCBhcnJheSBvciBBcnJheUJ1ZmZlciBjb250YWluaW5nIHRoZSBiaW5hcnkgY29kZSBvZiB0aGVcbiAgICogXCJlc2J1aWxkLndhc21cIiBmaWxlLlxuICAgKlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIGFzIGFuIGFsdGVybmF0aXZlIHRvIFwid2FzbVVSTFwiIGZvciBlbnZpcm9ubWVudHMgd2hlcmUgaXQnc1xuICAgKiBub3QgcG9zc2libGUgdG8gZG93bmxvYWQgdGhlIFdlYkFzc2VtYmx5IG1vZHVsZS5cbiAgICovXG4gIHdhc21Nb2R1bGU/OiBhbnk7XG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgZXNidWlsZCBydW5zIHRoZSBXZWJBc3NlbWJseS1iYXNlZCBicm93c2VyIEFQSSBpbiBhIHdlYiB3b3JrZXJcbiAgICogdG8gYXZvaWQgYmxvY2tpbmcgdGhlIFVJIHRocmVhZC4gVGhpcyBjYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZyBcIndvcmtlclwiXG4gICAqIHRvIGZhbHNlLlxuICAgKi9cbiAgd29ya2VyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGxldCB2ZXJzaW9uOiBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0RmlsZSB7XG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIFwidGV4dFwiIGFzIGJ5dGVzICovXG4gIGNvbnRlbnRzOiBVaW50OEFycmF5O1xuICAvKiogXCJjb250ZW50c1wiIGFzIHRleHQgKGNoYW5nZXMgYXV0b21hdGljYWxseSB3aXRoIFwiY29udGVudHNcIikgKi9cbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBpbGVyT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGpzeEZhY3Rvcnk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGpzeEZyYWdtZW50RmFjdG9yeT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHM/OiBib29sZWFuO1xuICByZWFkb25seSBpbXBvcnRzTm90VXNlZEFzVmFsdWVzPzogJ3JlbW92ZScgfCAncHJlc2VydmUnIHwgJ2Vycm9yJztcbiAgcmVhZG9ubHkgcHJlc2VydmVWYWx1ZUltcG9ydHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRzY29uZmlnT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNvbXBpbGVyT3B0aW9ucz86IENvbXBpbGVyT3B0aW9ucztcbn1cbiJdfQ==
package/lib/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- export { BuildOptions, TransformOptions, } from './esbuild-types';
1
+ export { AssetBaseProps, AssetProps, EsbuildAsset, JavaScriptAsset, TypeScriptAsset, } from './asset';
2
2
  export { EsbuildBundler, BundlerProps, } from './bundler';
3
- export { Asset, AssetBaseProps, AssetProps, JavaScriptAsset, TypeScriptAsset, } from './asset';
4
- export { Code, CodeConfig, JavaScriptCode, JavaScriptCodeProps, TypeScriptCode, TypeScriptCodeProps, } from './code';
5
- export { TransformerProps, InlineJavaScriptCode, InlineJsxCode, InlineTsxCode, InlineTypeScriptCode, } from './inline-code';
3
+ export { CodeConfig, EsbuildCode, JavaScriptCode, JavaScriptCodeProps, TypeScriptCode, TypeScriptCodeProps, } from './code';
4
+ export { BuildOptions, TransformOptions, TsconfigOptions, CompilerOptions, } from './esbuild-types';
5
+ export { TransformerProps, InlineJavaScriptCode, InlineTypeScriptCode, } from './inline-code';
6
+ export { EsbuildProvider, EsbuildProviderProps, EsbuildSource, IBuildProvider, IEsbuildProvider, ITransformProvider, ProviderBuildOptions, ProviderTransformOptions, } from './provider';
6
7
  export { JavaScriptSource, JavaScriptSourceProps, TypeScriptSource, TypeScriptSourceProps, } from './source';
package/lib/index.js CHANGED
@@ -1,21 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var bundler_1 = require("./bundler");
4
- Object.defineProperty(exports, "EsbuildBundler", { enumerable: true, get: function () { return bundler_1.EsbuildBundler; } });
5
3
  var asset_1 = require("./asset");
6
- Object.defineProperty(exports, "Asset", { enumerable: true, get: function () { return asset_1.Asset; } });
4
+ Object.defineProperty(exports, "EsbuildAsset", { enumerable: true, get: function () { return asset_1.EsbuildAsset; } });
7
5
  Object.defineProperty(exports, "JavaScriptAsset", { enumerable: true, get: function () { return asset_1.JavaScriptAsset; } });
8
6
  Object.defineProperty(exports, "TypeScriptAsset", { enumerable: true, get: function () { return asset_1.TypeScriptAsset; } });
7
+ var bundler_1 = require("./bundler");
8
+ Object.defineProperty(exports, "EsbuildBundler", { enumerable: true, get: function () { return bundler_1.EsbuildBundler; } });
9
9
  var code_1 = require("./code");
10
- Object.defineProperty(exports, "Code", { enumerable: true, get: function () { return code_1.Code; } });
10
+ Object.defineProperty(exports, "EsbuildCode", { enumerable: true, get: function () { return code_1.EsbuildCode; } });
11
11
  Object.defineProperty(exports, "JavaScriptCode", { enumerable: true, get: function () { return code_1.JavaScriptCode; } });
12
12
  Object.defineProperty(exports, "TypeScriptCode", { enumerable: true, get: function () { return code_1.TypeScriptCode; } });
13
13
  var inline_code_1 = require("./inline-code");
14
14
  Object.defineProperty(exports, "InlineJavaScriptCode", { enumerable: true, get: function () { return inline_code_1.InlineJavaScriptCode; } });
15
- Object.defineProperty(exports, "InlineJsxCode", { enumerable: true, get: function () { return inline_code_1.InlineJsxCode; } });
16
- Object.defineProperty(exports, "InlineTsxCode", { enumerable: true, get: function () { return inline_code_1.InlineTsxCode; } });
17
15
  Object.defineProperty(exports, "InlineTypeScriptCode", { enumerable: true, get: function () { return inline_code_1.InlineTypeScriptCode; } });
16
+ var provider_1 = require("./provider");
17
+ Object.defineProperty(exports, "EsbuildProvider", { enumerable: true, get: function () { return provider_1.EsbuildProvider; } });
18
+ Object.defineProperty(exports, "EsbuildSource", { enumerable: true, get: function () { return provider_1.EsbuildSource; } });
18
19
  var source_1 = require("./source");
19
20
  Object.defineProperty(exports, "JavaScriptSource", { enumerable: true, get: function () { return source_1.JavaScriptSource; } });
20
21
  Object.defineProperty(exports, "TypeScriptSource", { enumerable: true, get: function () { return source_1.TypeScriptSource; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxxQ0FHbUI7QUFGakIseUdBQUEsY0FBYyxPQUFBO0FBSWhCLGlDQU1pQjtBQUxmLDhGQUFBLEtBQUssT0FBQTtBQUdMLHdHQUFBLGVBQWUsT0FBQTtBQUNmLHdHQUFBLGVBQWUsT0FBQTtBQUdqQiwrQkFPZ0I7QUFOZCw0RkFBQSxJQUFJLE9BQUE7QUFFSixzR0FBQSxjQUFjLE9BQUE7QUFFZCxzR0FBQSxjQUFjLE9BQUE7QUFJaEIsNkNBTXVCO0FBSnJCLG1IQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDRHQUFBLGFBQWEsT0FBQTtBQUNiLDRHQUFBLGFBQWEsT0FBQTtBQUNiLG1IQUFBLG9CQUFvQixPQUFBO0FBR3RCLG1DQUtrQjtBQUpoQiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUVoQiwwR0FBQSxnQkFBZ0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IHtcbiAgQnVpbGRPcHRpb25zLFxuICBUcmFuc2Zvcm1PcHRpb25zLFxufSBmcm9tICcuL2VzYnVpbGQtdHlwZXMnO1xuXG5leHBvcnQge1xuICBFc2J1aWxkQnVuZGxlcixcbiAgQnVuZGxlclByb3BzLFxufSBmcm9tICcuL2J1bmRsZXInO1xuXG5leHBvcnQge1xuICBBc3NldCxcbiAgQXNzZXRCYXNlUHJvcHMsXG4gIEFzc2V0UHJvcHMsXG4gIEphdmFTY3JpcHRBc3NldCxcbiAgVHlwZVNjcmlwdEFzc2V0LFxufSBmcm9tICcuL2Fzc2V0JztcblxuZXhwb3J0IHtcbiAgQ29kZSxcbiAgQ29kZUNvbmZpZyxcbiAgSmF2YVNjcmlwdENvZGUsXG4gIEphdmFTY3JpcHRDb2RlUHJvcHMsXG4gIFR5cGVTY3JpcHRDb2RlLFxuICBUeXBlU2NyaXB0Q29kZVByb3BzLFxufSBmcm9tICcuL2NvZGUnO1xuXG5leHBvcnQge1xuICBUcmFuc2Zvcm1lclByb3BzLFxuICBJbmxpbmVKYXZhU2NyaXB0Q29kZSxcbiAgSW5saW5lSnN4Q29kZSxcbiAgSW5saW5lVHN4Q29kZSxcbiAgSW5saW5lVHlwZVNjcmlwdENvZGUsXG59IGZyb20gJy4vaW5saW5lLWNvZGUnO1xuXG5leHBvcnQge1xuICBKYXZhU2NyaXB0U291cmNlLFxuICBKYXZhU2NyaXB0U291cmNlUHJvcHMsXG4gIFR5cGVTY3JpcHRTb3VyY2UsXG4gIFR5cGVTY3JpcHRTb3VyY2VQcm9wcyxcbn0gZnJvbSAnLi9zb3VyY2UnOyJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FNaUI7QUFIZixxR0FBQSxZQUFZLE9BQUE7QUFDWix3R0FBQSxlQUFlLE9BQUE7QUFDZix3R0FBQSxlQUFlLE9BQUE7QUFHakIscUNBR21CO0FBRmpCLHlHQUFBLGNBQWMsT0FBQTtBQUloQiwrQkFPZ0I7QUFMZCxtR0FBQSxXQUFXLE9BQUE7QUFDWCxzR0FBQSxjQUFjLE9BQUE7QUFFZCxzR0FBQSxjQUFjLE9BQUE7QUFXaEIsNkNBSXVCO0FBRnJCLG1IQUFBLG9CQUFvQixPQUFBO0FBQ3BCLG1IQUFBLG9CQUFvQixPQUFBO0FBR3RCLHVDQVNvQjtBQVJsQiwyR0FBQSxlQUFlLE9BQUE7QUFFZix5R0FBQSxhQUFhLE9BQUE7QUFRZixtQ0FLa0I7QUFKaEIsMEdBQUEsZ0JBQWdCLE9BQUE7QUFFaEIsMEdBQUEsZ0JBQWdCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBBc3NldEJhc2VQcm9wcyxcbiAgQXNzZXRQcm9wcyxcbiAgRXNidWlsZEFzc2V0LFxuICBKYXZhU2NyaXB0QXNzZXQsXG4gIFR5cGVTY3JpcHRBc3NldCxcbn0gZnJvbSAnLi9hc3NldCc7XG5cbmV4cG9ydCB7XG4gIEVzYnVpbGRCdW5kbGVyLFxuICBCdW5kbGVyUHJvcHMsXG59IGZyb20gJy4vYnVuZGxlcic7XG5cbmV4cG9ydCB7XG4gIENvZGVDb25maWcsXG4gIEVzYnVpbGRDb2RlLFxuICBKYXZhU2NyaXB0Q29kZSxcbiAgSmF2YVNjcmlwdENvZGVQcm9wcyxcbiAgVHlwZVNjcmlwdENvZGUsXG4gIFR5cGVTY3JpcHRDb2RlUHJvcHMsXG59IGZyb20gJy4vY29kZSc7XG5cbmV4cG9ydCB7XG4gIEJ1aWxkT3B0aW9ucyxcbiAgVHJhbnNmb3JtT3B0aW9ucyxcbiAgVHNjb25maWdPcHRpb25zLFxuICBDb21waWxlck9wdGlvbnMsXG59IGZyb20gJy4vZXNidWlsZC10eXBlcyc7XG5cbmV4cG9ydCB7XG4gIFRyYW5zZm9ybWVyUHJvcHMsXG4gIElubGluZUphdmFTY3JpcHRDb2RlLFxuICBJbmxpbmVUeXBlU2NyaXB0Q29kZSxcbn0gZnJvbSAnLi9pbmxpbmUtY29kZSc7XG5cbmV4cG9ydCB7XG4gIEVzYnVpbGRQcm92aWRlcixcbiAgRXNidWlsZFByb3ZpZGVyUHJvcHMsXG4gIEVzYnVpbGRTb3VyY2UsXG4gIElCdWlsZFByb3ZpZGVyLFxuICBJRXNidWlsZFByb3ZpZGVyLFxuICBJVHJhbnNmb3JtUHJvdmlkZXIsXG4gIFByb3ZpZGVyQnVpbGRPcHRpb25zLFxuICBQcm92aWRlclRyYW5zZm9ybU9wdGlvbnMsXG59IGZyb20gJy4vcHJvdmlkZXInO1xuXG5leHBvcnQge1xuICBKYXZhU2NyaXB0U291cmNlLFxuICBKYXZhU2NyaXB0U291cmNlUHJvcHMsXG4gIFR5cGVTY3JpcHRTb3VyY2UsXG4gIFR5cGVTY3JpcHRTb3VyY2VQcm9wcyxcbn0gZnJvbSAnLi9zb3VyY2UnO1xuIl19