cdk8s 2.7.102 → 2.7.104

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 (133) hide show
  1. package/.jsii +41 -41
  2. package/lib/_child_process.d.ts +0 -1
  3. package/lib/api-object.d.ts +2 -0
  4. package/lib/api-object.js +31 -31
  5. package/lib/app.js +14 -14
  6. package/lib/chart.js +9 -9
  7. package/lib/cron.js +10 -10
  8. package/lib/dependency.js +2 -2
  9. package/lib/duration.js +9 -9
  10. package/lib/helm.js +1 -1
  11. package/lib/include.js +1 -1
  12. package/lib/index.js +7 -3
  13. package/lib/json-patch.js +6 -6
  14. package/lib/lazy.js +5 -5
  15. package/lib/metadata.d.ts +2 -0
  16. package/lib/metadata.js +4 -4
  17. package/lib/names.js +6 -6
  18. package/lib/size.js +10 -10
  19. package/lib/testing.js +6 -6
  20. package/lib/yaml.js +9 -9
  21. package/node_modules/yaml/README.md +4 -0
  22. package/node_modules/yaml/browser/dist/compose/compose-collection.js +46 -29
  23. package/node_modules/yaml/browser/dist/compose/compose-doc.js +1 -0
  24. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +1 -1
  25. package/node_modules/yaml/browser/dist/compose/composer.js +1 -1
  26. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +3 -2
  27. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +3 -2
  28. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +4 -5
  29. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +1 -1
  30. package/node_modules/yaml/browser/dist/doc/Document.js +12 -10
  31. package/node_modules/yaml/browser/dist/doc/anchors.js +1 -1
  32. package/node_modules/yaml/browser/dist/doc/createNode.js +6 -2
  33. package/node_modules/yaml/browser/dist/doc/directives.js +1 -1
  34. package/node_modules/yaml/browser/dist/index.js +1 -1
  35. package/node_modules/yaml/browser/dist/node_modules/tslib/tslib.es6.js +6 -149
  36. package/node_modules/yaml/browser/dist/nodes/Alias.js +9 -2
  37. package/node_modules/yaml/browser/dist/nodes/Collection.js +2 -1
  38. package/node_modules/yaml/browser/dist/nodes/Node.js +25 -35
  39. package/node_modules/yaml/browser/dist/nodes/Pair.js +1 -1
  40. package/node_modules/yaml/browser/dist/nodes/Scalar.js +2 -1
  41. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +30 -2
  42. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +17 -1
  43. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +1 -1
  44. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  45. package/node_modules/yaml/browser/dist/nodes/toJS.js +1 -1
  46. package/node_modules/yaml/browser/dist/schema/Schema.js +1 -1
  47. package/node_modules/yaml/browser/dist/schema/common/map.js +3 -28
  48. package/node_modules/yaml/browser/dist/schema/common/seq.js +3 -19
  49. package/node_modules/yaml/browser/dist/schema/tags.js +1 -1
  50. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +9 -8
  51. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +1 -1
  52. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +14 -13
  53. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +1 -1
  54. package/node_modules/yaml/browser/dist/stringify/stringify.js +1 -1
  55. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +1 -1
  56. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +1 -1
  57. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +1 -1
  58. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +10 -1
  59. package/node_modules/yaml/browser/dist/util.js +2 -0
  60. package/node_modules/yaml/browser/dist/visit.js +1 -1
  61. package/node_modules/yaml/dist/compose/compose-collection.d.ts +1 -1
  62. package/node_modules/yaml/dist/compose/compose-collection.js +47 -30
  63. package/node_modules/yaml/dist/compose/compose-doc.d.ts +2 -1
  64. package/node_modules/yaml/dist/compose/compose-doc.js +1 -0
  65. package/node_modules/yaml/dist/compose/compose-scalar.js +7 -7
  66. package/node_modules/yaml/dist/compose/composer.d.ts +5 -5
  67. package/node_modules/yaml/dist/compose/composer.js +3 -3
  68. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +2 -1
  69. package/node_modules/yaml/dist/compose/resolve-block-map.js +3 -2
  70. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +2 -1
  71. package/node_modules/yaml/dist/compose/resolve-block-seq.js +3 -2
  72. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +2 -1
  73. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +5 -6
  74. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +3 -3
  75. package/node_modules/yaml/dist/compose/util-map-includes.js +3 -3
  76. package/node_modules/yaml/dist/doc/Document.d.ts +11 -9
  77. package/node_modules/yaml/dist/doc/Document.js +22 -20
  78. package/node_modules/yaml/dist/doc/anchors.d.ts +4 -4
  79. package/node_modules/yaml/dist/doc/anchors.js +2 -2
  80. package/node_modules/yaml/dist/doc/createNode.d.ts +1 -1
  81. package/node_modules/yaml/dist/doc/createNode.js +13 -9
  82. package/node_modules/yaml/dist/doc/directives.js +3 -3
  83. package/node_modules/yaml/dist/errors.d.ts +1 -1
  84. package/node_modules/yaml/dist/index.d.ts +2 -1
  85. package/node_modules/yaml/dist/index.js +9 -9
  86. package/node_modules/yaml/dist/nodes/Alias.d.ts +1 -1
  87. package/node_modules/yaml/dist/nodes/Alias.js +12 -5
  88. package/node_modules/yaml/dist/nodes/Collection.d.ts +3 -2
  89. package/node_modules/yaml/dist/nodes/Collection.js +10 -9
  90. package/node_modules/yaml/dist/nodes/Node.d.ts +5 -18
  91. package/node_modules/yaml/dist/nodes/Node.js +25 -51
  92. package/node_modules/yaml/dist/nodes/Pair.d.ts +2 -2
  93. package/node_modules/yaml/dist/nodes/Pair.js +4 -4
  94. package/node_modules/yaml/dist/nodes/Scalar.js +2 -1
  95. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +7 -1
  96. package/node_modules/yaml/dist/nodes/YAMLMap.js +37 -9
  97. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +3 -1
  98. package/node_modules/yaml/dist/nodes/YAMLSeq.js +21 -5
  99. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +7 -7
  100. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  101. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  102. package/node_modules/yaml/dist/nodes/toJS.d.ts +2 -5
  103. package/node_modules/yaml/dist/nodes/toJS.js +2 -2
  104. package/node_modules/yaml/dist/public-api.d.ts +3 -3
  105. package/node_modules/yaml/dist/schema/Schema.d.ts +1 -1
  106. package/node_modules/yaml/dist/schema/Schema.js +4 -4
  107. package/node_modules/yaml/dist/schema/common/map.js +4 -29
  108. package/node_modules/yaml/dist/schema/common/seq.js +4 -20
  109. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -1
  110. package/node_modules/yaml/dist/schema/json/schema.d.ts +1 -1
  111. package/node_modules/yaml/dist/schema/tags.d.ts +1 -1
  112. package/node_modules/yaml/dist/schema/types.d.ts +11 -3
  113. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +4 -1
  114. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +11 -10
  115. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +1 -1
  116. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +5 -5
  117. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -1
  118. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +3 -1
  119. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +17 -16
  120. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +1 -1
  121. package/node_modules/yaml/dist/stringify/stringify.js +8 -8
  122. package/node_modules/yaml/dist/stringify/stringifyCollection.js +8 -8
  123. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -3
  124. package/node_modules/yaml/dist/stringify/stringifyDocument.js +2 -2
  125. package/node_modules/yaml/dist/stringify/stringifyPair.js +9 -9
  126. package/node_modules/yaml/dist/stringify/stringifyString.js +10 -1
  127. package/node_modules/yaml/dist/test-events.js +8 -8
  128. package/node_modules/yaml/dist/util.d.ts +4 -1
  129. package/node_modules/yaml/dist/util.js +4 -0
  130. package/node_modules/yaml/dist/visit.js +18 -18
  131. package/node_modules/yaml/package.json +6 -5
  132. package/package.json +10 -12
  133. package/node_modules/yaml/util.d.ts +0 -3
package/lib/app.js CHANGED
@@ -22,22 +22,11 @@ var YamlOutputType;
22
22
  YamlOutputType[YamlOutputType["FILE_PER_RESOURCE"] = 2] = "FILE_PER_RESOURCE";
23
23
  /** Each chart in its own folder and each resource in its own file */
24
24
  YamlOutputType[YamlOutputType["FOLDER_PER_CHART_FILE_PER_RESOURCE"] = 3] = "FOLDER_PER_CHART_FILE_PER_RESOURCE";
25
- })(YamlOutputType = exports.YamlOutputType || (exports.YamlOutputType = {}));
25
+ })(YamlOutputType || (exports.YamlOutputType = YamlOutputType = {}));
26
26
  /**
27
27
  * Represents a cdk8s application.
28
28
  */
29
29
  class App extends constructs_1.Construct {
30
- /**
31
- * Defines an app
32
- * @param props configuration options
33
- */
34
- constructor(props = {}) {
35
- super(undefined, '');
36
- this.outdir = props.outdir ?? process.env.CDK8S_OUTDIR ?? 'dist';
37
- this.outputFileExtension = props.outputFileExtension ?? '.k8s.yaml';
38
- this.yamlOutputType = props.yamlOutputType ?? YamlOutputType.FILE_PER_CHART;
39
- this.recordConstructMetadata = props.recordConstructMetadata ?? (process.env.CDK8S_RECORD_CONSTRUCT_METADATA === 'true' ? true : false);
40
- }
41
30
  /**
42
31
  * Synthesize a single chart.
43
32
  *
@@ -79,6 +68,17 @@ class App extends constructs_1.Construct {
79
68
  .topology()
80
69
  .filter(isChart);
81
70
  }
71
+ /**
72
+ * Defines an app
73
+ * @param props configuration options
74
+ */
75
+ constructor(props = {}) {
76
+ super(undefined, '');
77
+ this.outdir = props.outdir ?? process.env.CDK8S_OUTDIR ?? 'dist';
78
+ this.outputFileExtension = props.outputFileExtension ?? '.k8s.yaml';
79
+ this.yamlOutputType = props.yamlOutputType ?? YamlOutputType.FILE_PER_CHART;
80
+ this.recordConstructMetadata = props.recordConstructMetadata ?? (process.env.CDK8S_RECORD_CONSTRUCT_METADATA === 'true' ? true : false);
81
+ }
82
82
  /**
83
83
  * Synthesizes all manifests to the output directory
84
84
  */
@@ -174,7 +174,7 @@ class App extends constructs_1.Construct {
174
174
  }
175
175
  exports.App = App;
176
176
  _a = JSII_RTTI_SYMBOL_1;
177
- App[_a] = { fqn: "cdk8s.App", version: "2.7.102" };
177
+ App[_a] = { fqn: "cdk8s.App", version: "2.7.104" };
178
178
  function validate(app) {
179
179
  const errors = [];
180
180
  for (const child of app.node.findAll()) {
@@ -272,4 +272,4 @@ class IndexedChartFolderNamer extends SimpleChartFolderNamer {
272
272
  return name;
273
273
  }
274
274
  }
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsMkNBQW1EO0FBQ25ELDZDQUF5QztBQUN6QyxtQ0FBZ0M7QUFDaEMsNkNBQStDO0FBQy9DLG1DQUFnQztBQUNoQyxpQ0FBOEI7QUFFOUIsa0RBQWtEO0FBQ2xELElBQVksY0FTWDtBQVRELFdBQVksY0FBYztJQUN4Qix1REFBdUQ7SUFDdkQsbUVBQVksQ0FBQTtJQUNaLHVEQUF1RDtJQUN2RCx1RUFBYyxDQUFBO0lBQ2QsOENBQThDO0lBQzlDLDZFQUFpQixDQUFBO0lBQ2pCLHFFQUFxRTtJQUNyRSwrR0FBa0MsQ0FBQTtBQUNwQyxDQUFDLEVBVFcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUFTekI7QUFxQ0Q7O0dBRUc7QUFDSCxNQUFhLEdBQUksU0FBUSxzQkFBUztJQXNFaEM7OztPQUdHO0lBQ0gsWUFBWSxRQUFrQixFQUFHO1FBQy9CLEtBQUssQ0FBQyxTQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUM7UUFDakUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxXQUFXLENBQUM7UUFDcEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUM7UUFFNUUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFJLENBQUM7SUFq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Q0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLHVCQUF3QixTQUFRLHNCQUFzQjtJQUUxRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBRkYsVUFBSyxHQUFXLENBQUMsQ0FBQztJQUcxQixDQUFDO0lBRU0sSUFBSSxDQUFDLEtBQVk7UUFDdEIsTUFBTSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXBpT2JqZWN0IH0gZnJvbSAnLi9hcGktb2JqZWN0JztcbmltcG9ydCB7IENoYXJ0IH0gZnJvbSAnLi9jaGFydCc7XG5pbXBvcnQgeyBEZXBlbmRlbmN5R3JhcGggfSBmcm9tICcuL2RlcGVuZGVuY3knO1xuaW1wb3J0IHsgTmFtZXMgfSBmcm9tICcuL25hbWVzJztcbmltcG9ydCB7IFlhbWwgfSBmcm9tICcuL3lhbWwnO1xuXG4vKiogVGhlIG1ldGhvZCB0byBkaXZpZGUgWUFNTCBvdXRwdXQgaW50byBmaWxlcyAqL1xuZXhwb3J0IGVudW0gWWFtbE91dHB1dFR5cGUge1xuICAvKiogQWxsIHJlc291cmNlcyBhcmUgb3V0cHV0IGludG8gYSBzaW5nbGUgWUFNTCBmaWxlICovXG4gIEZJTEVfUEVSX0FQUCxcbiAgLyoqIFJlc291cmNlcyBhcmUgc3BsaXQgaW50byBzZXBlcmF0ZSBmaWxlcyBieSBjaGFydCAqL1xuICBGSUxFX1BFUl9DSEFSVCxcbiAgLyoqIEVhY2ggcmVzb3VyY2UgaXMgb3V0cHV0IHRvIGl0cyBvd24gZmlsZSAqL1xuICBGSUxFX1BFUl9SRVNPVVJDRSxcbiAgLyoqIEVhY2ggY2hhcnQgaW4gaXRzIG93biBmb2xkZXIgYW5kIGVhY2ggcmVzb3VyY2UgaW4gaXRzIG93biBmaWxlICovXG4gIEZPTERFUl9QRVJfQ0hBUlRfRklMRV9QRVJfUkVTT1VSQ0UsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwUHJvcHMge1xuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB0byBvdXRwdXQgS3ViZXJuZXRlcyBtYW5pZmVzdHMuXG4gICAqXG4gICAqIElmIHlvdSBzeW50aGVzaXplIHlvdXIgYXBwbGljYXRpb24gdXNpbmcgYGNkazhzIHN5bnRoYCwgeW91IG11c3RcbiAgICogYWxzbyBwYXNzIHRoaXMgdmFsdWUgdG8gdGhlIENMSSB1c2luZyB0aGUgYC0tb3V0cHV0YCBvcHRpb24gb3JcbiAgICogdGhlIGBvdXRwdXRgIHByb3BlcnR5IGluIHRoZSBgY2RrOHMueWFtbGAgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKiBPdGhlcndpc2UsIHRoZSBDTEkgd2lsbCBub3Qga25vdyBhYm91dCB0aGUgb3V0cHV0IGRpcmVjdG9yeSxcbiAgICogYW5kIHN5bnRoZXNpcyB3aWxsIGZhaWwuXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgaW50ZW5kZWQgZm9yIGludGVybmFsIGFuZCB0ZXN0aW5nIHVzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBDREs4U19PVVRESVIgaWYgZGVmaW5lZCwgb3RoZXJ3aXNlIFwiZGlzdFwiXG4gICAqL1xuICByZWFkb25seSBvdXRkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAgVGhlIGZpbGUgZXh0ZW5zaW9uIHRvIHVzZSBmb3IgcmVuZGVyZWQgWUFNTCBmaWxlc1xuICAgKiBAZGVmYXVsdCAuazhzLnlhbWxcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dEZpbGVFeHRlbnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAgSG93IHRvIGRpdmlkZSB0aGUgWUFNTCBvdXRwdXQgaW50byBmaWxlc1xuICAgKiBAZGVmYXVsdCBZYW1sT3V0cHV0VHlwZS5GSUxFX1BFUl9DSEFSVFxuICAgKi9cbiAgcmVhZG9ubHkgeWFtbE91dHB1dFR5cGU/OiBZYW1sT3V0cHV0VHlwZTtcblxuICAvKipcbiAgICogV2hlbiBzZXQgdG8gdHJ1ZSwgdGhlIG91dHB1dCBkaXJlY3Rvcnkgd2lsbCBjb250YWluIGEgYGNvbnN0cnVjdC1tZXRhZGF0YS5qc29uYCBmaWxlXG4gICAqIHRoYXQgaG9sZHMgY29uc3RydWN0IHJlbGF0ZWQgbWV0YWRhdGEgb24gZXZlcnkgcmVzb3VyY2UgaW4gdGhlIGFwcC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlY29yZENvbnN0cnVjdE1ldGFkYXRhPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY2RrOHMgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBBcHAgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogU3ludGhlc2l6ZSBhIHNpbmdsZSBjaGFydC5cbiAgICpcbiAgICogRWFjaCBlbGVtZW50IHJldHVybmVkIGluIHRoZSByZXN1bHRpbmcgYXJyYXkgcmVwcmVzZW50cyBhIGRpZmZlcmVudCBBcGlPYmplY3RcbiAgICogaW4gdGhlIHNjb3BlIG9mIHRoZSBjaGFydC5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoZSByZXR1cm5lZCBhcnJheSBvcmRlciBpcyBpbXBvcnRhbnQuIEl0IGlzIGRldGVybWluZWQgYnkgdGhlIHZhcmlvdXMgZGVwZW5kZW5jaWVzIGJldHdlZW5cbiAgICogdGhlIGNvbnN0cnVjdHMgaW4gdGhlIGNoYXJ0LCB3aGVyZSB0aGUgZmlyc3QgZWxlbWVudCBpcyB0aGUgb25lIHdpdGhvdXQgZGVwZW5kZW5jaWVzLCBhbmQgc28gb24uLi5cbiAgICpcbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgSlNPTiBvYmplY3RzLlxuICAgKiBAcGFyYW0gY2hhcnQgdGhlIGNoYXJ0IHRvIHN5bnRoZXNpemUuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBfc3ludGhDaGFydChjaGFydDogQ2hhcnQpOiBhbnlbXSB7XG5cbiAgICBjb25zdCBhcHA6IEFwcCA9IEFwcC5vZihjaGFydCk7XG5cbiAgICAvLyB3ZSBtdXN0IHByZXBhcmUgdGhlIGVudGlyZSBhcHAgYmVmb3JlIHN5bnRoZXNpemluZyB0aGUgY2hhcnRcbiAgICAvLyBiZWNhdXNlIHRoZSBkZXBlbmRlbmN5IGluZmVyZW5jZSBoYXBwZW5zIG9uIHRoZSBhcHAgbGV2ZWwuXG4gICAgcmVzb2x2ZURlcGVuZGVuY2llcyhhcHApO1xuXG4gICAgLy8gdmFsaWRhdGUgdGhlIGFwcCBzaW5jZSB3ZSB3YW50IHRvIGNhbGwgb25WYWxpZGF0ZSBvZiB0aGUgcmVsZXZhbnQgY29uc3RydWN0cy5cbiAgICAvLyBub3RlIHRoaXMgd2lsbCBhbHNvIGNhbGwgb25WYWxpZGF0ZSBvbiBjb25zdHJ1Y3RzIGZyb20gcG9zc2libHkgZGlmZmVyZW50IGNoYXJ0cyxcbiAgICAvLyBidXQgdGhhdHMgb2sgdG9vIHNpbmNlIHdlIG5vIGxvbmdlciB0cmVhdCBjb25zdHJ1Y3RzIGFzIGEgc2VsZi1jb250YWluZWQgc3ludGhlc2lzIHVuaXQuXG4gICAgdmFsaWRhdGUoYXBwKTtcblxuICAgIHJldHVybiBjaGFydFRvS3ViZShjaGFydCkubWFwKG9iaiA9PiBvYmoudG9Kc29uKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgb2YoYzogSUNvbnN0cnVjdCk6IEFwcCB7XG5cbiAgICBjb25zdCBzY29wZSA9IGMubm9kZS5zY29wZTtcblxuICAgIGlmICghc2NvcGUpIHtcbiAgICAgIC8vIHRoZSBhcHAgaXMgdGhlIG9ubHkgY29uc3RydWN0IHdpdGhvdXQgYSBzY29wZS5cbiAgICAgIHJldHVybiBjIGFzIEFwcDtcbiAgICB9XG5cbiAgICByZXR1cm4gQXBwLm9mKHNjb3BlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgb3V0cHV0IGRpcmVjdG9yeSBpbnRvIHdoaWNoIG1hbmlmZXN0cyB3aWxsIGJlIHN5bnRoZXNpemVkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG91dGRpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiAgVGhlIGZpbGUgZXh0ZW5zaW9uIHRvIHVzZSBmb3IgcmVuZGVyZWQgWUFNTCBmaWxlc1xuICAgKiBAZGVmYXVsdCAuazhzLnlhbWxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvdXRwdXRGaWxlRXh0ZW5zaW9uOiBzdHJpbmc7XG5cbiAgLyoqIEhvdyB0byBkaXZpZGUgdGhlIFlBTUwgb3V0cHV0IGludG8gZmlsZXNcbiAgICogQGRlZmF1bHQgWWFtbE91dHB1dFR5cGUuRklMRV9QRVJfQ0hBUlRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB5YW1sT3V0cHV0VHlwZTogWWFtbE91dHB1dFR5cGU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZWNvcmRDb25zdHJ1Y3RNZXRhZGF0YTogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgdGhlIGNoYXJ0cyBpbiB0aGlzIGFwcCwgc29ydGVkIHRvcG9sb2dpY2FsbHkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNoYXJ0cygpOiBDaGFydFtdIHtcbiAgICBjb25zdCBpc0NoYXJ0ID0gKHg6IElDb25zdHJ1Y3QpOiB4IGlzIENoYXJ0ID0+IHggaW5zdGFuY2VvZiBDaGFydDtcbiAgICByZXR1cm4gbmV3IERlcGVuZGVuY3lHcmFwaCh0aGlzLm5vZGUpXG4gICAgICAudG9wb2xvZ3koKVxuICAgICAgLmZpbHRlcihpc0NoYXJ0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGFuIGFwcFxuICAgKiBAcGFyYW0gcHJvcHMgY29uZmlndXJhdGlvbiBvcHRpb25zXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogQXBwUHJvcHMgPSB7IH0pIHtcbiAgICBzdXBlcih1bmRlZmluZWQgYXMgYW55LCAnJyk7XG4gICAgdGhpcy5vdXRkaXIgPSBwcm9wcy5vdXRkaXIgPz8gcHJvY2Vzcy5lbnYuQ0RLOFNfT1VURElSID8/ICdkaXN0JztcbiAgICB0aGlzLm91dHB1dEZpbGVFeHRlbnNpb24gPSBwcm9wcy5vdXRwdXRGaWxlRXh0ZW5zaW9uID8/ICcuazhzLnlhbWwnO1xuICAgIHRoaXMueWFtbE91dHB1dFR5cGUgPSBwcm9wcy55YW1sT3V0cHV0VHlwZSA/PyBZYW1sT3V0cHV0VHlwZS5GSUxFX1BFUl9DSEFSVDtcblxuICAgIHRoaXMucmVjb3JkQ29uc3RydWN0TWV0YWRhdGEgPSBwcm9wcy5yZWNvcmRDb25zdHJ1Y3RNZXRhZGF0YSA/PyAocHJvY2Vzcy5lbnYuQ0RLOFNfUkVDT1JEX0NPTlNUUlVDVF9NRVRBREFUQSA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIFN5bnRoZXNpemVzIGFsbCBtYW5pZmVzdHMgdG8gdGhlIG91dHB1dCBkaXJlY3RvcnlcbiAgICovXG4gIHB1YmxpYyBzeW50aCgpOiB2b2lkIHtcblxuICAgIGZzLm1rZGlyU3luYyh0aGlzLm91dGRpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICAvLyBTaW5jZSB3ZSBwbGFuIG9uIHJlbW92aW5nIHRoZSBkaXN0cmlidXRlZCBzeW50aCBtZWNoYW5pc20sIHdlIG5vIGxvbmdlciBjYWxsIGBOb2RlLnN5bnRoZXNpemVgLCBidXQgcmF0aGVyIHNpbXBseSBpbXBsZW1lbnRcbiAgICAvLyB0aGUgbmVjZXNzYXJ5IG9wZXJhdGlvbnMuIFdlIGRvIGhvd2V2ZXIgd2FudCB0byBwcmVzZXJ2ZSB0aGUgZGlzdHJpYnV0ZWQgdmFsaWRhdGlvbi5cbiAgICB2YWxpZGF0ZSh0aGlzKTtcblxuICAgIC8vIHRoaXMgaXMga2luZCBvZiBzdWNreSwgZXZlbnR1YWxseSBJIHdvdWxkIGxpa2UgdGhlIERlcGVuZGVuY3lHcmFwaFxuICAgIC8vIHRvIGJlIGFibGUgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24uXG4gICAgY29uc3QgaGFzRGVwZW5kYW50Q2hhcnRzID0gcmVzb2x2ZURlcGVuZGVuY2llcyh0aGlzKTtcbiAgICBjb25zdCBjaGFydHMgPSB0aGlzLmNoYXJ0cztcblxuICAgIHN3aXRjaCAodGhpcy55YW1sT3V0cHV0VHlwZSkge1xuICAgICAgY2FzZSBZYW1sT3V0cHV0VHlwZS5GSUxFX1BFUl9BUFA6XG4gICAgICAgIGxldCBhcGlPYmplY3RzTGlzdDogQXBpT2JqZWN0W10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGNoYXJ0IG9mIGNoYXJ0cykge1xuICAgICAgICAgIGFwaU9iamVjdHNMaXN0LnB1c2goLi4uT2JqZWN0LnZhbHVlcyhjaGFydC50b0pzb24oKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYXJ0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgWWFtbC5zYXZlKFxuICAgICAgICAgICAgcGF0aC5qb2luKHRoaXMub3V0ZGlyLCBgYXBwJHt0aGlzLm91dHB1dEZpbGVFeHRlbnNpb259YCksIC8vIFRoZXJlIGlzIG5vIFwiYXBwIG5hbWVcIiwgc28gd2UganVzdCBoYXJkY29kZSB0aGUgZmlsZSBuYW1lXG4gICAgICAgICAgICBhcGlPYmplY3RzTGlzdCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgWWFtbE91dHB1dFR5cGUuRklMRV9QRVJfQ0hBUlQ6XG4gICAgICAgIGNvbnN0IG5hbWVyOiBDaGFydE5hbWVyID0gaGFzRGVwZW5kYW50Q2hhcnRzID8gbmV3IEluZGV4ZWRDaGFydE5hbWVyKCkgOiBuZXcgU2ltcGxlQ2hhcnROYW1lcigpO1xuICAgICAgICBmb3IgKGNvbnN0IGNoYXJ0IG9mIGNoYXJ0cykge1xuICAgICAgICAgIGNvbnN0IGNoYXJ0TmFtZSA9IG5hbWVyLm5hbWUoY2hhcnQpO1xuICAgICAgICAgIGNvbnN0IG9iamVjdHMgPSBPYmplY3QudmFsdWVzKGNoYXJ0LnRvSnNvbigpKTtcbiAgICAgICAgICBZYW1sLnNhdmUocGF0aC5qb2luKHRoaXMub3V0ZGlyLCBjaGFydE5hbWUrdGhpcy5vdXRwdXRGaWxlRXh0ZW5zaW9uKSwgb2JqZWN0cyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgWWFtbE91dHB1dFR5cGUuRklMRV9QRVJfUkVTT1VSQ0U6XG4gICAgICAgIGZvciAoY29uc3QgY2hhcnQgb2YgY2hhcnRzKSB7XG4gICAgICAgICAgY29uc3QgYXBpT2JqZWN0cyA9IE9iamVjdC52YWx1ZXMoY2hhcnQudG9Kc29uKCkpO1xuXG4gICAgICAgICAgYXBpT2JqZWN0cy5mb3JFYWNoKChhcGlPYmplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICghKGFwaU9iamVjdCA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGAke2Ake2FwaU9iamVjdC5raW5kfS4ke2FwaU9iamVjdC5tZXRhZGF0YS5uYW1lfWBcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvW14wLTlhLXpBLVotXy5dL2csICcnKX1gO1xuICAgICAgICAgICAgICBZYW1sLnNhdmUocGF0aC5qb2luKHRoaXMub3V0ZGlyLCBmaWxlTmFtZSt0aGlzLm91dHB1dEZpbGVFeHRlbnNpb24pLCBbYXBpT2JqZWN0XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgWWFtbE91dHB1dFR5cGUuRk9MREVSX1BFUl9DSEFSVF9GSUxFX1BFUl9SRVNPVVJDRTpcbiAgICAgICAgY29uc3QgZm9sZGVyTmFtZXI6IENoYXJ0TmFtZXIgPSBoYXNEZXBlbmRhbnRDaGFydHMgPyBuZXcgSW5kZXhlZENoYXJ0Rm9sZGVyTmFtZXIoKSA6IG5ldyBTaW1wbGVDaGFydEZvbGRlck5hbWVyKCk7XG4gICAgICAgIGZvciAoY29uc3QgY2hhcnQgb2YgY2hhcnRzKSB7XG4gICAgICAgICAgY29uc3QgY2hhcnROYW1lID0gZm9sZGVyTmFtZXIubmFtZShjaGFydCk7XG4gICAgICAgICAgY29uc3QgYXBpT2JqZWN0cyA9IGNoYXJ0VG9LdWJlKGNoYXJ0KTtcbiAgICAgICAgICBjb25zdCBmdWxsT3V0RGlyID0gcGF0aC5qb2luKHRoaXMub3V0ZGlyLCBjaGFydE5hbWUpO1xuICAgICAgICAgIGZzLm1rZGlyU3luYyhmdWxsT3V0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgICAgICAgIGFwaU9iamVjdHMuZm9yRWFjaCgoYXBpT2JqZWN0KSA9PiB7XG4gICAgICAgICAgICBpZiAoIShhcGlPYmplY3QgPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgJHtgJHthcGlPYmplY3Qua2luZH0uJHthcGlPYmplY3QubWV0YWRhdGEubmFtZX1gXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1teMC05YS16QS1aLV8uXS9nLCAnJyl9YDtcbiAgICAgICAgICAgICAgWWFtbC5zYXZlKHBhdGguam9pbihmdWxsT3V0RGlyLCBmaWxlTmFtZSt0aGlzLm91dHB1dEZpbGVFeHRlbnNpb24pLCBbYXBpT2JqZWN0LnRvSnNvbigpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlY29yZENvbnN0cnVjdE1ldGFkYXRhKSB7XG4gICAgICBjb25zdCBhbGxPYmplY3RzID0gdGhpcy5jaGFydHMuZmxhdE1hcChjaGFydFRvS3ViZSk7XG4gICAgICB0aGlzLndyaXRlQ29uc3RydWN0TWV0YWRhdGEoYWxsT2JqZWN0cyk7XG4gICAgfVxuXG4gIH1cblxuICAvKipcbiAgICogU3ludGhlc2l6ZXMgdGhlIGFwcCBpbnRvIGEgWUFNTCBzdHJpbmcuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgc3RyaW5nIHdpdGggYWxsIFlBTUwgb2JqZWN0cyBhY3Jvc3MgYWxsIGNoYXJ0cyBpbiB0aGlzIGFwcC5cbiAgICovXG4gIHB1YmxpYyBzeW50aFlhbWwoKTogc3RyaW5nIHtcblxuICAgIHJlc29sdmVEZXBlbmRlbmNpZXModGhpcyk7XG5cbiAgICB2YWxpZGF0ZSh0aGlzKTtcblxuICAgIGNvbnN0IGNoYXJ0cyA9IHRoaXMuY2hhcnRzO1xuICAgIGNvbnN0IGRvY3M6IGFueVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGNoYXJ0IG9mIGNoYXJ0cykge1xuICAgICAgZG9jcy5wdXNoKC4uLk9iamVjdC52YWx1ZXMoY2hhcnQudG9Kc29uKCkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gWWFtbC5zdHJpbmdpZnkoLi4uZG9jcyk7XG4gIH1cblxuICBwcml2YXRlIHdyaXRlQ29uc3RydWN0TWV0YWRhdGEoYXBpT2JqZWN0czogQXBpT2JqZWN0W10pIHtcbiAgICBjb25zdCByZXNvdXJjZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGFwaU9iamVjdCBvZiBhcGlPYmplY3RzKSB7XG4gICAgICByZXNvdXJjZXNbYXBpT2JqZWN0Lm5hbWVdID0geyBwYXRoOiBhcGlPYmplY3Qubm9kZS5wYXRoIH07XG4gICAgfVxuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHRoaXMub3V0ZGlyLCAnY29uc3RydWN0LW1ldGFkYXRhLmpzb24nKSwgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgdmVyc2lvbjogJzEuMC4wJyxcbiAgICAgIHJlc291cmNlczogcmVzb3VyY2VzLFxuICAgIH0pKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZShhcHA6IEFwcCkge1xuICBjb25zdCBlcnJvcnMgPSBbXTtcbiAgZm9yIChjb25zdCBjaGlsZCBvZiBhcHAubm9kZS5maW5kQWxsKCkpIHtcbiAgICBjb25zdCBjaGlsZEVycm9ycyA9IGNoaWxkLm5vZGUudmFsaWRhdGUoKTtcbiAgICBmb3IgKGNvbnN0IGVycm9yIG9mIGNoaWxkRXJyb3JzKSB7XG4gICAgICBlcnJvcnMucHVzaChgWyR7Y2hpbGQubm9kZS5wYXRofV0gJHtlcnJvcn1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbGlkYXRpb24gZmFpbGVkIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvcnM6XFxuICAke2Vycm9ycy5qb2luKCdcXG4gICcpfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJ1aWxkRGVwZW5kZW5jaWVzKGFwcDogQXBwKSB7XG5cbiAgY29uc3QgZGVwcyA9IFtdO1xuICBmb3IgKGNvbnN0IGNoaWxkIG9mIGFwcC5ub2RlLmZpbmRBbGwoKSkge1xuICAgIGZvciAoY29uc3QgZGVwIG9mIGNoaWxkLm5vZGUuZGVwZW5kZW5jaWVzKSB7XG4gICAgICBkZXBzLnB1c2goeyBzb3VyY2U6IGNoaWxkLCB0YXJnZXQ6IGRlcCB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGVwcztcblxufVxuXG5mdW5jdGlvbiByZXNvbHZlRGVwZW5kZW5jaWVzKGFwcDogQXBwKSB7XG5cbiAgbGV0IGhhc0RlcGVuZGFudENoYXJ0cyA9IGZhbHNlO1xuXG4gIC8vIGNyZWF0ZSBhbiBleHBsaWNpdCBjaGFydCBkZXBlbmRlbmN5IGZyb20gbmVzdGVkIGNoYXJ0IHJlbGF0aW9uc2hpcHNcbiAgZm9yIChjb25zdCBwYXJlbnRDaGFydCBvZiBhcHAubm9kZS5maW5kQWxsKCkuZmlsdGVyKHggPT4geCBpbnN0YW5jZW9mIENoYXJ0KSkge1xuICAgIGZvciAoY29uc3QgY2hpbGRDaGFydCBvZiBwYXJlbnRDaGFydC5ub2RlLmNoaWxkcmVuLmZpbHRlcih4ID0+IHggaW5zdGFuY2VvZiBDaGFydCkpIHtcbiAgICAgIHBhcmVudENoYXJ0Lm5vZGUuYWRkRGVwZW5kZW5jeShjaGlsZENoYXJ0KTtcbiAgICAgIGhhc0RlcGVuZGFudENoYXJ0cyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLy8gY3JlYXRlIGFuIGV4cGxpY2l0IGNoYXJ0IGRlcGVuZGVuY3kgZnJvbSBpbXBsaWNpdCBjb25zdHJ1Y3QgZGVwZW5kZW5jaWVzXG4gIGZvciAoY29uc3QgZGVwIG9mIGJ1aWxkRGVwZW5kZW5jaWVzKGFwcCkpIHtcblxuICAgIGNvbnN0IHNvdXJjZUNoYXJ0ID0gQ2hhcnQub2YoZGVwLnNvdXJjZSk7XG4gICAgY29uc3QgdGFyZ2V0Q2hhcnQgPSBDaGFydC5vZihkZXAudGFyZ2V0KTtcblxuICAgIGlmIChzb3VyY2VDaGFydCAhPT0gdGFyZ2V0Q2hhcnQpIHtcbiAgICAgIHNvdXJjZUNoYXJ0Lm5vZGUuYWRkRGVwZW5kZW5jeSh0YXJnZXRDaGFydCk7XG4gICAgICBoYXNEZXBlbmRhbnRDaGFydHMgPSB0cnVlO1xuICAgIH1cblxuICB9XG5cbiAgLy8gY3JlYXRlIGV4cGxpY2l0IGFwaSBvYmplY3QgZGVwZW5kZW5jaWVzIGZyb20gaW1wbGljaXQgY29uc3RydWN0IGRlcGVuZGVuY2llc1xuICBmb3IgKGNvbnN0IGRlcCBvZiBidWlsZERlcGVuZGVuY2llcyhhcHApKSB7XG5cbiAgICBjb25zdCBzb3VyY2VDaGFydCA9IENoYXJ0Lm9mKGRlcC5zb3VyY2UpO1xuICAgIGNvbnN0IHRhcmdldENoYXJ0ID0gQ2hhcnQub2YoZGVwLnRhcmdldCk7XG5cbiAgICBjb25zdCB0YXJnZXRBcGlPYmplY3RzID0gZGVwLnRhcmdldC5ub2RlLmZpbmRBbGwoKS5maWx0ZXIoYyA9PiBjIGluc3RhbmNlb2YgQXBpT2JqZWN0KS5maWx0ZXIoeCA9PiBDaGFydC5vZih4KSA9PT0gdGFyZ2V0Q2hhcnQpO1xuICAgIGNvbnN0IHNvdXJjZUFwaU9iamVjdHMgPSBkZXAuc291cmNlLm5vZGUuZmluZEFsbCgpLmZpbHRlcihjID0+IGMgaW5zdGFuY2VvZiBBcGlPYmplY3QpLmZpbHRlcih4ID0+IENoYXJ0Lm9mKHgpID09PSBzb3VyY2VDaGFydCk7XG5cbiAgICBmb3IgKGNvbnN0IHRhcmdldCBvZiB0YXJnZXRBcGlPYmplY3RzKSB7XG4gICAgICBmb3IgKGNvbnN0IHNvdXJjZSBvZiBzb3VyY2VBcGlPYmplY3RzKSB7XG4gICAgICAgIGlmICh0YXJnZXQgIT09IHNvdXJjZSkge1xuICAgICAgICAgIHNvdXJjZS5ub2RlLmFkZERlcGVuZGVuY3kodGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBoYXNEZXBlbmRhbnRDaGFydHM7XG5cbn1cblxuZnVuY3Rpb24gY2hhcnRUb0t1YmUoY2hhcnQ6IENoYXJ0KSB7XG4gIHJldHVybiBuZXcgRGVwZW5kZW5jeUdyYXBoKGNoYXJ0Lm5vZGUpLnRvcG9sb2d5KClcbiAgICAuZmlsdGVyKHggPT4geCBpbnN0YW5jZW9mIEFwaU9iamVjdClcbiAgICAuZmlsdGVyKHggPT4gQ2hhcnQub2YoeCkgPT09IGNoYXJ0KSAvLyBpbmNsdWRlIGFuIG9iamVjdCBvbmx5IGluIGl0cyBjbG9zZXN0IHBhcmVudCBjaGFydFxuICAgIC5tYXAoeCA9PiAoeCBhcyBBcGlPYmplY3QpKTtcbn1cblxuaW50ZXJmYWNlIENoYXJ0TmFtZXIge1xuICBuYW1lKGNoYXJ0OiBDaGFydCk6IHN0cmluZztcbn1cblxuY2xhc3MgU2ltcGxlQ2hhcnROYW1lciBpbXBsZW1lbnRzIENoYXJ0TmFtZXIge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIHB1YmxpYyBuYW1lKGNoYXJ0OiBDaGFydCkge1xuICAgIHJldHVybiBgJHtOYW1lcy50b0Ruc0xhYmVsKGNoYXJ0KX1gO1xuICB9XG59XG5cbmNsYXNzIEluZGV4ZWRDaGFydE5hbWVyIGV4dGVuZHMgU2ltcGxlQ2hhcnROYW1lciBpbXBsZW1lbnRzIENoYXJ0TmFtZXIge1xuICBwcml2YXRlIGluZGV4OiBudW1iZXIgPSAwO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5hbWUoY2hhcnQ6IENoYXJ0KSB7XG4gICAgY29uc3QgbmFtZSA9IGAke3RoaXMuaW5kZXgudG9TdHJpbmcoKS5wYWRTdGFydCg0LCAnMCcpfS0ke3N1cGVyLm5hbWUoY2hhcnQpfWA7XG4gICAgdGhpcy5pbmRleCsrO1xuICAgIHJldHVybiBuYW1lO1xuICB9XG59XG5cbmNsYXNzIFNpbXBsZUNoYXJ0Rm9sZGVyTmFtZXIgaW1wbGVtZW50cyBDaGFydE5hbWVyIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBwdWJsaWMgbmFtZShjaGFydDogQ2hhcnQpIHtcbiAgICByZXR1cm4gTmFtZXMudG9EbnNMYWJlbChjaGFydCk7XG4gIH1cbn1cblxuY2xhc3MgSW5kZXhlZENoYXJ0Rm9sZGVyTmFtZXIgZXh0ZW5kcyBTaW1wbGVDaGFydEZvbGRlck5hbWVyIGltcGxlbWVudHMgQ2hhcnROYW1lciB7XG4gIHByaXZhdGUgaW5kZXg6IG51bWJlciA9IDA7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmFtZShjaGFydDogQ2hhcnQpIHtcbiAgICBjb25zdCBuYW1lID0gYCR7dGhpcy5pbmRleC50b1N0cmluZygpLnBhZFN0YXJ0KDQsICcwJyl9LSR7c3VwZXIubmFtZShjaGFydCl9YDtcbiAgICB0aGlzLmluZGV4Kys7XG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cbn0iXX0=
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsMkNBQW1EO0FBQ25ELDZDQUF5QztBQUN6QyxtQ0FBZ0M7QUFDaEMsNkNBQStDO0FBQy9DLG1DQUFnQztBQUNoQyxpQ0FBOEI7QUFFOUIsa0RBQWtEO0FBQ2xELElBQVksY0FTWDtBQVRELFdBQVksY0FBYztJQUN4Qix1REFBdUQ7SUFDdkQsbUVBQVksQ0FBQTtJQUNaLHVEQUF1RDtJQUN2RCx1RUFBYyxDQUFBO0lBQ2QsOENBQThDO0lBQzlDLDZFQUFpQixDQUFBO0lBQ2pCLHFFQUFxRTtJQUNyRSwrR0FBa0MsQ0FBQTtBQUNwQyxDQUFDLEVBVFcsY0FBYyw4QkFBZCxjQUFjLFFBU3pCO0FBcUNEOztHQUVHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsc0JBQVM7SUFDaEM7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFZO1FBRXBDLE1BQU0sR0FBRyxHQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IsK0RBQStEO1FBQy9ELDZEQUE2RDtRQUM3RCxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV6QixnRkFBZ0Y7UUFDaEYsb0ZBQW9GO1FBQ3BGLDJGQUEyRjtRQUMzRixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFZCxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFhO1FBRTdCLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRTNCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixp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QztDQUNGO0FBRUQsTUFBTSx1QkFBd0IsU0FBUSxzQkFBc0I7SUFFMUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUZGLFVBQUssR0FBVyxDQUFDLENBQUM7SUFHMUIsQ0FBQztJQUVNLElBQUksQ0FBQyxLQUFZO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5RSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEFwaU9iamVjdCB9IGZyb20gJy4vYXBpLW9iamVjdCc7XG5pbXBvcnQgeyBDaGFydCB9IGZyb20gJy4vY2hhcnQnO1xuaW1wb3J0IHsgRGVwZW5kZW5jeUdyYXBoIH0gZnJvbSAnLi9kZXBlbmRlbmN5JztcbmltcG9ydCB7IE5hbWVzIH0gZnJvbSAnLi9uYW1lcyc7XG5pbXBvcnQgeyBZYW1sIH0gZnJvbSAnLi95YW1sJztcblxuLyoqIFRoZSBtZXRob2QgdG8gZGl2aWRlIFlBTUwgb3V0cHV0IGludG8gZmlsZXMgKi9cbmV4cG9ydCBlbnVtIFlhbWxPdXRwdXRUeXBlIHtcbiAgLyoqIEFsbCByZXNvdXJjZXMgYXJlIG91dHB1dCBpbnRvIGEgc2luZ2xlIFlBTUwgZmlsZSAqL1xuICBGSUxFX1BFUl9BUFAsXG4gIC8qKiBSZXNvdXJjZXMgYXJlIHNwbGl0IGludG8gc2VwZXJhdGUgZmlsZXMgYnkgY2hhcnQgKi9cbiAgRklMRV9QRVJfQ0hBUlQsXG4gIC8qKiBFYWNoIHJlc291cmNlIGlzIG91dHB1dCB0byBpdHMgb3duIGZpbGUgKi9cbiAgRklMRV9QRVJfUkVTT1VSQ0UsXG4gIC8qKiBFYWNoIGNoYXJ0IGluIGl0cyBvd24gZm9sZGVyIGFuZCBlYWNoIHJlc291cmNlIGluIGl0cyBvd24gZmlsZSAqL1xuICBGT0xERVJfUEVSX0NIQVJUX0ZJTEVfUEVSX1JFU09VUkNFLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBkaXJlY3RvcnkgdG8gb3V0cHV0IEt1YmVybmV0ZXMgbWFuaWZlc3RzLlxuICAgKlxuICAgKiBJZiB5b3Ugc3ludGhlc2l6ZSB5b3VyIGFwcGxpY2F0aW9uIHVzaW5nIGBjZGs4cyBzeW50aGAsIHlvdSBtdXN0XG4gICAqIGFsc28gcGFzcyB0aGlzIHZhbHVlIHRvIHRoZSBDTEkgdXNpbmcgdGhlIGAtLW91dHB1dGAgb3B0aW9uIG9yXG4gICAqIHRoZSBgb3V0cHV0YCBwcm9wZXJ0eSBpbiB0aGUgYGNkazhzLnlhbWxgIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICogT3RoZXJ3aXNlLCB0aGUgQ0xJIHdpbGwgbm90IGtub3cgYWJvdXQgdGhlIG91dHB1dCBkaXJlY3RvcnksXG4gICAqIGFuZCBzeW50aGVzaXMgd2lsbCBmYWlsLlxuICAgKlxuICAgKiBUaGlzIHByb3BlcnR5IGlzIGludGVuZGVkIGZvciBpbnRlcm5hbCBhbmQgdGVzdGluZyB1c2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ0RLOFNfT1VURElSIGlmIGRlZmluZWQsIG90aGVyd2lzZSBcImRpc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0ZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogIFRoZSBmaWxlIGV4dGVuc2lvbiB0byB1c2UgZm9yIHJlbmRlcmVkIFlBTUwgZmlsZXNcbiAgICogQGRlZmF1bHQgLms4cy55YW1sXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRGaWxlRXh0ZW5zaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogIEhvdyB0byBkaXZpZGUgdGhlIFlBTUwgb3V0cHV0IGludG8gZmlsZXNcbiAgICogQGRlZmF1bHQgWWFtbE91dHB1dFR5cGUuRklMRV9QRVJfQ0hBUlRcbiAgICovXG4gIHJlYWRvbmx5IHlhbWxPdXRwdXRUeXBlPzogWWFtbE91dHB1dFR5cGU7XG5cbiAgLyoqXG4gICAqIFdoZW4gc2V0IHRvIHRydWUsIHRoZSBvdXRwdXQgZGlyZWN0b3J5IHdpbGwgY29udGFpbiBhIGBjb25zdHJ1Y3QtbWV0YWRhdGEuanNvbmAgZmlsZVxuICAgKiB0aGF0IGhvbGRzIGNvbnN0cnVjdCByZWxhdGVkIG1ldGFkYXRhIG9uIGV2ZXJ5IHJlc291cmNlIGluIHRoZSBhcHAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByZWNvcmRDb25zdHJ1Y3RNZXRhZGF0YT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNkazhzIGFwcGxpY2F0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQXBwIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFN5bnRoZXNpemUgYSBzaW5nbGUgY2hhcnQuXG4gICAqXG4gICAqIEVhY2ggZWxlbWVudCByZXR1cm5lZCBpbiB0aGUgcmVzdWx0aW5nIGFycmF5IHJlcHJlc2VudHMgYSBkaWZmZXJlbnQgQXBpT2JqZWN0XG4gICAqIGluIHRoZSBzY29wZSBvZiB0aGUgY2hhcnQuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGUgcmV0dXJuZWQgYXJyYXkgb3JkZXIgaXMgaW1wb3J0YW50LiBJdCBpcyBkZXRlcm1pbmVkIGJ5IHRoZSB2YXJpb3VzIGRlcGVuZGVuY2llcyBiZXR3ZWVuXG4gICAqIHRoZSBjb25zdHJ1Y3RzIGluIHRoZSBjaGFydCwgd2hlcmUgdGhlIGZpcnN0IGVsZW1lbnQgaXMgdGhlIG9uZSB3aXRob3V0IGRlcGVuZGVuY2llcywgYW5kIHNvIG9uLi4uXG4gICAqXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIEpTT04gb2JqZWN0cy5cbiAgICogQHBhcmFtIGNoYXJ0IHRoZSBjaGFydCB0byBzeW50aGVzaXplLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgX3N5bnRoQ2hhcnQoY2hhcnQ6IENoYXJ0KTogYW55W10ge1xuXG4gICAgY29uc3QgYXBwOiBBcHAgPSBBcHAub2YoY2hhcnQpO1xuXG4gICAgLy8gd2UgbXVzdCBwcmVwYXJlIHRoZSBlbnRpcmUgYXBwIGJlZm9yZSBzeW50aGVzaXppbmcgdGhlIGNoYXJ0XG4gICAgLy8gYmVjYXVzZSB0aGUgZGVwZW5kZW5jeSBpbmZlcmVuY2UgaGFwcGVucyBvbiB0aGUgYXBwIGxldmVsLlxuICAgIHJlc29sdmVEZXBlbmRlbmNpZXMoYXBwKTtcblxuICAgIC8vIHZhbGlkYXRlIHRoZSBhcHAgc2luY2Ugd2Ugd2FudCB0byBjYWxsIG9uVmFsaWRhdGUgb2YgdGhlIHJlbGV2YW50IGNvbnN0cnVjdHMuXG4gICAgLy8gbm90ZSB0aGlzIHdpbGwgYWxzbyBjYWxsIG9uVmFsaWRhdGUgb24gY29uc3RydWN0cyBmcm9tIHBvc3NpYmx5IGRpZmZlcmVudCBjaGFydHMsXG4gICAgLy8gYnV0IHRoYXRzIG9rIHRvbyBzaW5jZSB3ZSBubyBsb25nZXIgdHJlYXQgY29uc3RydWN0cyBhcyBhIHNlbGYtY29udGFpbmVkIHN5bnRoZXNpcyB1bml0LlxuICAgIHZhbGlkYXRlKGFwcCk7XG5cbiAgICByZXR1cm4gY2hhcnRUb0t1YmUoY2hhcnQpLm1hcChvYmogPT4gb2JqLnRvSnNvbigpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG9mKGM6IElDb25zdHJ1Y3QpOiBBcHAge1xuXG4gICAgY29uc3Qgc2NvcGUgPSBjLm5vZGUuc2NvcGU7XG5cbiAgICBpZiAoIXNjb3BlKSB7XG4gICAgICAvLyB0aGUgYXBwIGlzIHRoZSBvbmx5IGNvbnN0cnVjdCB3aXRob3V0IGEgc2NvcGUuXG4gICAgICByZXR1cm4gYyBhcyBBcHA7XG4gICAgfVxuXG4gICAgcmV0dXJuIEFwcC5vZihzY29wZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG91dHB1dCBkaXJlY3RvcnkgaW50byB3aGljaCBtYW5pZmVzdHMgd2lsbCBiZSBzeW50aGVzaXplZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvdXRkaXI6IHN0cmluZztcblxuICAvKipcbiAgICogIFRoZSBmaWxlIGV4dGVuc2lvbiB0byB1c2UgZm9yIHJlbmRlcmVkIFlBTUwgZmlsZXNcbiAgICogQGRlZmF1bHQgLms4cy55YW1sXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0RmlsZUV4dGVuc2lvbjogc3RyaW5nO1xuXG4gIC8qKiBIb3cgdG8gZGl2aWRlIHRoZSBZQU1MIG91dHB1dCBpbnRvIGZpbGVzXG4gICAqIEBkZWZhdWx0IFlhbWxPdXRwdXRUeXBlLkZJTEVfUEVSX0NIQVJUXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgeWFtbE91dHB1dFR5cGU6IFlhbWxPdXRwdXRUeXBlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVjb3JkQ29uc3RydWN0TWV0YWRhdGE6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIHRoZSBjaGFydHMgaW4gdGhpcyBhcHAsIHNvcnRlZCB0b3BvbG9naWNhbGx5LlxuICAgKi9cbiAgcHVibGljIGdldCBjaGFydHMoKTogQ2hhcnRbXSB7XG4gICAgY29uc3QgaXNDaGFydCA9ICh4OiBJQ29uc3RydWN0KTogeCBpcyBDaGFydCA9PiB4IGluc3RhbmNlb2YgQ2hhcnQ7XG4gICAgcmV0dXJuIG5ldyBEZXBlbmRlbmN5R3JhcGgodGhpcy5ub2RlKVxuICAgICAgLnRvcG9sb2d5KClcbiAgICAgIC5maWx0ZXIoaXNDaGFydCk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lcyBhbiBhcHBcbiAgICogQHBhcmFtIHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9uc1xuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IEFwcFByb3BzID0geyB9KSB7XG4gICAgc3VwZXIodW5kZWZpbmVkIGFzIGFueSwgJycpO1xuICAgIHRoaXMub3V0ZGlyID0gcHJvcHMub3V0ZGlyID8/IHByb2Nlc3MuZW52LkNESzhTX09VVERJUiA/PyAnZGlzdCc7XG4gICAgdGhpcy5vdXRwdXRGaWxlRXh0ZW5zaW9uID0gcHJvcHMub3V0cHV0RmlsZUV4dGVuc2lvbiA/PyAnLms4cy55YW1sJztcbiAgICB0aGlzLnlhbWxPdXRwdXRUeXBlID0gcHJvcHMueWFtbE91dHB1dFR5cGUgPz8gWWFtbE91dHB1dFR5cGUuRklMRV9QRVJfQ0hBUlQ7XG5cbiAgICB0aGlzLnJlY29yZENvbnN0cnVjdE1ldGFkYXRhID0gcHJvcHMucmVjb3JkQ29uc3RydWN0TWV0YWRhdGEgPz8gKHByb2Nlc3MuZW52LkNESzhTX1JFQ09SRF9DT05TVFJVQ1RfTUVUQURBVEEgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZSk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBTeW50aGVzaXplcyBhbGwgbWFuaWZlc3RzIHRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5XG4gICAqL1xuICBwdWJsaWMgc3ludGgoKTogdm9pZCB7XG5cbiAgICBmcy5ta2RpclN5bmModGhpcy5vdXRkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgLy8gU2luY2Ugd2UgcGxhbiBvbiByZW1vdmluZyB0aGUgZGlzdHJpYnV0ZWQgc3ludGggbWVjaGFuaXNtLCB3ZSBubyBsb25nZXIgY2FsbCBgTm9kZS5zeW50aGVzaXplYCwgYnV0IHJhdGhlciBzaW1wbHkgaW1wbGVtZW50XG4gICAgLy8gdGhlIG5lY2Vzc2FyeSBvcGVyYXRpb25zLiBXZSBkbyBob3dldmVyIHdhbnQgdG8gcHJlc2VydmUgdGhlIGRpc3RyaWJ1dGVkIHZhbGlkYXRpb24uXG4gICAgdmFsaWRhdGUodGhpcyk7XG5cbiAgICAvLyB0aGlzIGlzIGtpbmQgb2Ygc3Vja3ksIGV2ZW50dWFsbHkgSSB3b3VsZCBsaWtlIHRoZSBEZXBlbmRlbmN5R3JhcGhcbiAgICAvLyB0byBiZSBhYmxlIHRvIGFuc3dlciB0aGlzIHF1ZXN0aW9uLlxuICAgIGNvbnN0IGhhc0RlcGVuZGFudENoYXJ0cyA9IHJlc29sdmVEZXBlbmRlbmNpZXModGhpcyk7XG4gICAgY29uc3QgY2hhcnRzID0gdGhpcy5jaGFydHM7XG5cbiAgICBzd2l0Y2ggKHRoaXMueWFtbE91dHB1dFR5cGUpIHtcbiAgICAgIGNhc2UgWWFtbE91dHB1dFR5cGUuRklMRV9QRVJfQVBQOlxuICAgICAgICBsZXQgYXBpT2JqZWN0c0xpc3Q6IEFwaU9iamVjdFtdID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCBjaGFydCBvZiBjaGFydHMpIHtcbiAgICAgICAgICBhcGlPYmplY3RzTGlzdC5wdXNoKC4uLk9iamVjdC52YWx1ZXMoY2hhcnQudG9Kc29uKCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFydHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIFlhbWwuc2F2ZShcbiAgICAgICAgICAgIHBhdGguam9pbih0aGlzLm91dGRpciwgYGFwcCR7dGhpcy5vdXRwdXRGaWxlRXh0ZW5zaW9ufWApLCAvLyBUaGVyZSBpcyBubyBcImFwcCBuYW1lXCIsIHNvIHdlIGp1c3QgaGFyZGNvZGUgdGhlIGZpbGUgbmFtZVxuICAgICAgICAgICAgYXBpT2JqZWN0c0xpc3QpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFlhbWxPdXRwdXRUeXBlLkZJTEVfUEVSX0NIQVJUOlxuICAgICAgICBjb25zdCBuYW1lcjogQ2hhcnROYW1lciA9IGhhc0RlcGVuZGFudENoYXJ0cyA/IG5ldyBJbmRleGVkQ2hhcnROYW1lcigpIDogbmV3IFNpbXBsZUNoYXJ0TmFtZXIoKTtcbiAgICAgICAgZm9yIChjb25zdCBjaGFydCBvZiBjaGFydHMpIHtcbiAgICAgICAgICBjb25zdCBjaGFydE5hbWUgPSBuYW1lci5uYW1lKGNoYXJ0KTtcbiAgICAgICAgICBjb25zdCBvYmplY3RzID0gT2JqZWN0LnZhbHVlcyhjaGFydC50b0pzb24oKSk7XG4gICAgICAgICAgWWFtbC5zYXZlKHBhdGguam9pbih0aGlzLm91dGRpciwgY2hhcnROYW1lK3RoaXMub3V0cHV0RmlsZUV4dGVuc2lvbiksIG9iamVjdHMpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFlhbWxPdXRwdXRUeXBlLkZJTEVfUEVSX1JFU09VUkNFOlxuICAgICAgICBmb3IgKGNvbnN0IGNoYXJ0IG9mIGNoYXJ0cykge1xuICAgICAgICAgIGNvbnN0IGFwaU9iamVjdHMgPSBPYmplY3QudmFsdWVzKGNoYXJ0LnRvSnNvbigpKTtcblxuICAgICAgICAgIGFwaU9iamVjdHMuZm9yRWFjaCgoYXBpT2JqZWN0KSA9PiB7XG4gICAgICAgICAgICBpZiAoIShhcGlPYmplY3QgPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBgJHtgJHthcGlPYmplY3Qua2luZH0uJHthcGlPYmplY3QubWV0YWRhdGEubmFtZX1gXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1teMC05YS16QS1aLV8uXS9nLCAnJyl9YDtcbiAgICAgICAgICAgICAgWWFtbC5zYXZlKHBhdGguam9pbih0aGlzLm91dGRpciwgZmlsZU5hbWUrdGhpcy5vdXRwdXRGaWxlRXh0ZW5zaW9uKSwgW2FwaU9iamVjdF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFlhbWxPdXRwdXRUeXBlLkZPTERFUl9QRVJfQ0hBUlRfRklMRV9QRVJfUkVTT1VSQ0U6XG4gICAgICAgIGNvbnN0IGZvbGRlck5hbWVyOiBDaGFydE5hbWVyID0gaGFzRGVwZW5kYW50Q2hhcnRzID8gbmV3IEluZGV4ZWRDaGFydEZvbGRlck5hbWVyKCkgOiBuZXcgU2ltcGxlQ2hhcnRGb2xkZXJOYW1lcigpO1xuICAgICAgICBmb3IgKGNvbnN0IGNoYXJ0IG9mIGNoYXJ0cykge1xuICAgICAgICAgIGNvbnN0IGNoYXJ0TmFtZSA9IGZvbGRlck5hbWVyLm5hbWUoY2hhcnQpO1xuICAgICAgICAgIGNvbnN0IGFwaU9iamVjdHMgPSBjaGFydFRvS3ViZShjaGFydCk7XG4gICAgICAgICAgY29uc3QgZnVsbE91dERpciA9IHBhdGguam9pbih0aGlzLm91dGRpciwgY2hhcnROYW1lKTtcbiAgICAgICAgICBmcy5ta2RpclN5bmMoZnVsbE91dERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICAgICAgICBhcGlPYmplY3RzLmZvckVhY2goKGFwaU9iamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKCEoYXBpT2JqZWN0ID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7YCR7YXBpT2JqZWN0LmtpbmR9LiR7YXBpT2JqZWN0Lm1ldGFkYXRhLm5hbWV9YFxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXjAtOWEtekEtWi1fLl0vZywgJycpfWA7XG4gICAgICAgICAgICAgIFlhbWwuc2F2ZShwYXRoLmpvaW4oZnVsbE91dERpciwgZmlsZU5hbWUrdGhpcy5vdXRwdXRGaWxlRXh0ZW5zaW9uKSwgW2FwaU9iamVjdC50b0pzb24oKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZWNvcmRDb25zdHJ1Y3RNZXRhZGF0YSkge1xuICAgICAgY29uc3QgYWxsT2JqZWN0cyA9IHRoaXMuY2hhcnRzLmZsYXRNYXAoY2hhcnRUb0t1YmUpO1xuICAgICAgdGhpcy53cml0ZUNvbnN0cnVjdE1ldGFkYXRhKGFsbE9iamVjdHMpO1xuICAgIH1cblxuICB9XG5cbiAgLyoqXG4gICAqIFN5bnRoZXNpemVzIHRoZSBhcHAgaW50byBhIFlBTUwgc3RyaW5nLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHN0cmluZyB3aXRoIGFsbCBZQU1MIG9iamVjdHMgYWNyb3NzIGFsbCBjaGFydHMgaW4gdGhpcyBhcHAuXG4gICAqL1xuICBwdWJsaWMgc3ludGhZYW1sKCk6IHN0cmluZyB7XG5cbiAgICByZXNvbHZlRGVwZW5kZW5jaWVzKHRoaXMpO1xuXG4gICAgdmFsaWRhdGUodGhpcyk7XG5cbiAgICBjb25zdCBjaGFydHMgPSB0aGlzLmNoYXJ0cztcbiAgICBjb25zdCBkb2NzOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjaGFydCBvZiBjaGFydHMpIHtcbiAgICAgIGRvY3MucHVzaCguLi5PYmplY3QudmFsdWVzKGNoYXJ0LnRvSnNvbigpKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFlhbWwuc3RyaW5naWZ5KC4uLmRvY3MpO1xuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZUNvbnN0cnVjdE1ldGFkYXRhKGFwaU9iamVjdHM6IEFwaU9iamVjdFtdKSB7XG4gICAgY29uc3QgcmVzb3VyY2VzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgZm9yIChjb25zdCBhcGlPYmplY3Qgb2YgYXBpT2JqZWN0cykge1xuICAgICAgcmVzb3VyY2VzW2FwaU9iamVjdC5uYW1lXSA9IHsgcGF0aDogYXBpT2JqZWN0Lm5vZGUucGF0aCB9O1xuICAgIH1cbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbih0aGlzLm91dGRpciwgJ2NvbnN0cnVjdC1tZXRhZGF0YS5qc29uJyksIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIHZlcnNpb246ICcxLjAuMCcsXG4gICAgICByZXNvdXJjZXM6IHJlc291cmNlcyxcbiAgICB9KSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGUoYXBwOiBBcHApIHtcbiAgY29uc3QgZXJyb3JzID0gW107XG4gIGZvciAoY29uc3QgY2hpbGQgb2YgYXBwLm5vZGUuZmluZEFsbCgpKSB7XG4gICAgY29uc3QgY2hpbGRFcnJvcnMgPSBjaGlsZC5ub2RlLnZhbGlkYXRlKCk7XG4gICAgZm9yIChjb25zdCBlcnJvciBvZiBjaGlsZEVycm9ycykge1xuICAgICAgZXJyb3JzLnB1c2goYFske2NoaWxkLm5vZGUucGF0aH1dICR7ZXJyb3J9YCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBWYWxpZGF0aW9uIGZhaWxlZCB3aXRoIHRoZSBmb2xsb3dpbmcgZXJyb3JzOlxcbiAgJHtlcnJvcnMuam9pbignXFxuICAnKX1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBidWlsZERlcGVuZGVuY2llcyhhcHA6IEFwcCkge1xuXG4gIGNvbnN0IGRlcHMgPSBbXTtcbiAgZm9yIChjb25zdCBjaGlsZCBvZiBhcHAubm9kZS5maW5kQWxsKCkpIHtcbiAgICBmb3IgKGNvbnN0IGRlcCBvZiBjaGlsZC5ub2RlLmRlcGVuZGVuY2llcykge1xuICAgICAgZGVwcy5wdXNoKHsgc291cmNlOiBjaGlsZCwgdGFyZ2V0OiBkZXAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcHM7XG5cbn1cblxuZnVuY3Rpb24gcmVzb2x2ZURlcGVuZGVuY2llcyhhcHA6IEFwcCkge1xuXG4gIGxldCBoYXNEZXBlbmRhbnRDaGFydHMgPSBmYWxzZTtcblxuICAvLyBjcmVhdGUgYW4gZXhwbGljaXQgY2hhcnQgZGVwZW5kZW5jeSBmcm9tIG5lc3RlZCBjaGFydCByZWxhdGlvbnNoaXBzXG4gIGZvciAoY29uc3QgcGFyZW50Q2hhcnQgb2YgYXBwLm5vZGUuZmluZEFsbCgpLmZpbHRlcih4ID0+IHggaW5zdGFuY2VvZiBDaGFydCkpIHtcbiAgICBmb3IgKGNvbnN0IGNoaWxkQ2hhcnQgb2YgcGFyZW50Q2hhcnQubm9kZS5jaGlsZHJlbi5maWx0ZXIoeCA9PiB4IGluc3RhbmNlb2YgQ2hhcnQpKSB7XG4gICAgICBwYXJlbnRDaGFydC5ub2RlLmFkZERlcGVuZGVuY3koY2hpbGRDaGFydCk7XG4gICAgICBoYXNEZXBlbmRhbnRDaGFydHMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIGNyZWF0ZSBhbiBleHBsaWNpdCBjaGFydCBkZXBlbmRlbmN5IGZyb20gaW1wbGljaXQgY29uc3RydWN0IGRlcGVuZGVuY2llc1xuICBmb3IgKGNvbnN0IGRlcCBvZiBidWlsZERlcGVuZGVuY2llcyhhcHApKSB7XG5cbiAgICBjb25zdCBzb3VyY2VDaGFydCA9IENoYXJ0Lm9mKGRlcC5zb3VyY2UpO1xuICAgIGNvbnN0IHRhcmdldENoYXJ0ID0gQ2hhcnQub2YoZGVwLnRhcmdldCk7XG5cbiAgICBpZiAoc291cmNlQ2hhcnQgIT09IHRhcmdldENoYXJ0KSB7XG4gICAgICBzb3VyY2VDaGFydC5ub2RlLmFkZERlcGVuZGVuY3kodGFyZ2V0Q2hhcnQpO1xuICAgICAgaGFzRGVwZW5kYW50Q2hhcnRzID0gdHJ1ZTtcbiAgICB9XG5cbiAgfVxuXG4gIC8vIGNyZWF0ZSBleHBsaWNpdCBhcGkgb2JqZWN0IGRlcGVuZGVuY2llcyBmcm9tIGltcGxpY2l0IGNvbnN0cnVjdCBkZXBlbmRlbmNpZXNcbiAgZm9yIChjb25zdCBkZXAgb2YgYnVpbGREZXBlbmRlbmNpZXMoYXBwKSkge1xuXG4gICAgY29uc3Qgc291cmNlQ2hhcnQgPSBDaGFydC5vZihkZXAuc291cmNlKTtcbiAgICBjb25zdCB0YXJnZXRDaGFydCA9IENoYXJ0Lm9mKGRlcC50YXJnZXQpO1xuXG4gICAgY29uc3QgdGFyZ2V0QXBpT2JqZWN0cyA9IGRlcC50YXJnZXQubm9kZS5maW5kQWxsKCkuZmlsdGVyKGMgPT4gYyBpbnN0YW5jZW9mIEFwaU9iamVjdCkuZmlsdGVyKHggPT4gQ2hhcnQub2YoeCkgPT09IHRhcmdldENoYXJ0KTtcbiAgICBjb25zdCBzb3VyY2VBcGlPYmplY3RzID0gZGVwLnNvdXJjZS5ub2RlLmZpbmRBbGwoKS5maWx0ZXIoYyA9PiBjIGluc3RhbmNlb2YgQXBpT2JqZWN0KS5maWx0ZXIoeCA9PiBDaGFydC5vZih4KSA9PT0gc291cmNlQ2hhcnQpO1xuXG4gICAgZm9yIChjb25zdCB0YXJnZXQgb2YgdGFyZ2V0QXBpT2JqZWN0cykge1xuICAgICAgZm9yIChjb25zdCBzb3VyY2Ugb2Ygc291cmNlQXBpT2JqZWN0cykge1xuICAgICAgICBpZiAodGFyZ2V0ICE9PSBzb3VyY2UpIHtcbiAgICAgICAgICBzb3VyY2Uubm9kZS5hZGREZXBlbmRlbmN5KHRhcmdldCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gaGFzRGVwZW5kYW50Q2hhcnRzO1xuXG59XG5cbmZ1bmN0aW9uIGNoYXJ0VG9LdWJlKGNoYXJ0OiBDaGFydCkge1xuICByZXR1cm4gbmV3IERlcGVuZGVuY3lHcmFwaChjaGFydC5ub2RlKS50b3BvbG9neSgpXG4gICAgLmZpbHRlcih4ID0+IHggaW5zdGFuY2VvZiBBcGlPYmplY3QpXG4gICAgLmZpbHRlcih4ID0+IENoYXJ0Lm9mKHgpID09PSBjaGFydCkgLy8gaW5jbHVkZSBhbiBvYmplY3Qgb25seSBpbiBpdHMgY2xvc2VzdCBwYXJlbnQgY2hhcnRcbiAgICAubWFwKHggPT4gKHggYXMgQXBpT2JqZWN0KSk7XG59XG5cbmludGVyZmFjZSBDaGFydE5hbWVyIHtcbiAgbmFtZShjaGFydDogQ2hhcnQpOiBzdHJpbmc7XG59XG5cbmNsYXNzIFNpbXBsZUNoYXJ0TmFtZXIgaW1wbGVtZW50cyBDaGFydE5hbWVyIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBwdWJsaWMgbmFtZShjaGFydDogQ2hhcnQpIHtcbiAgICByZXR1cm4gYCR7TmFtZXMudG9EbnNMYWJlbChjaGFydCl9YDtcbiAgfVxufVxuXG5jbGFzcyBJbmRleGVkQ2hhcnROYW1lciBleHRlbmRzIFNpbXBsZUNoYXJ0TmFtZXIgaW1wbGVtZW50cyBDaGFydE5hbWVyIHtcbiAgcHJpdmF0ZSBpbmRleDogbnVtYmVyID0gMDtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuYW1lKGNoYXJ0OiBDaGFydCkge1xuICAgIGNvbnN0IG5hbWUgPSBgJHt0aGlzLmluZGV4LnRvU3RyaW5nKCkucGFkU3RhcnQoNCwgJzAnKX0tJHtzdXBlci5uYW1lKGNoYXJ0KX1gO1xuICAgIHRoaXMuaW5kZXgrKztcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxufVxuXG5jbGFzcyBTaW1wbGVDaGFydEZvbGRlck5hbWVyIGltcGxlbWVudHMgQ2hhcnROYW1lciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgcHVibGljIG5hbWUoY2hhcnQ6IENoYXJ0KSB7XG4gICAgcmV0dXJuIE5hbWVzLnRvRG5zTGFiZWwoY2hhcnQpO1xuICB9XG59XG5cbmNsYXNzIEluZGV4ZWRDaGFydEZvbGRlck5hbWVyIGV4dGVuZHMgU2ltcGxlQ2hhcnRGb2xkZXJOYW1lciBpbXBsZW1lbnRzIENoYXJ0TmFtZXIge1xuICBwcml2YXRlIGluZGV4OiBudW1iZXIgPSAwO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5hbWUoY2hhcnQ6IENoYXJ0KSB7XG4gICAgY29uc3QgbmFtZSA9IGAke3RoaXMuaW5kZXgudG9TdHJpbmcoKS5wYWRTdGFydCg0LCAnMCcpfS0ke3N1cGVyLm5hbWUoY2hhcnQpfWA7XG4gICAgdGhpcy5pbmRleCsrO1xuICAgIHJldHVybiBuYW1lO1xuICB9XG59Il19
package/lib/chart.js CHANGED
@@ -9,13 +9,6 @@ const names_1 = require("./names");
9
9
  const CHART_SYMBOL = Symbol.for('cdk8s.Chart');
10
10
  const CRONJOB = 'CronJob';
11
11
  class Chart extends constructs_1.Construct {
12
- constructor(scope, id, props = {}) {
13
- super(scope, id);
14
- this.namespace = props.namespace;
15
- this._labels = props.labels ?? {};
16
- this._disableResourceNameHashes = props.disableResourceNameHashes ?? false;
17
- Object.defineProperty(this, CHART_SYMBOL, { value: true });
18
- }
19
12
  /**
20
13
  * Return whether the given object is a Chart.
21
14
  *
@@ -47,6 +40,13 @@ class Chart extends constructs_1.Construct {
47
40
  }
48
41
  return Chart.of(parent);
49
42
  }
43
+ constructor(scope, id, props = {}) {
44
+ super(scope, id);
45
+ this.namespace = props.namespace;
46
+ this._labels = props.labels ?? {};
47
+ this._disableResourceNameHashes = props.disableResourceNameHashes ?? false;
48
+ Object.defineProperty(this, CHART_SYMBOL, { value: true });
49
+ }
50
50
  /**
51
51
  * Labels applied to all resources in this chart.
52
52
  *
@@ -99,5 +99,5 @@ class Chart extends constructs_1.Construct {
99
99
  }
100
100
  }
101
101
  exports.Chart = Chart;
102
- Chart[_a] = { fqn: "cdk8s.Chart", version: "2.7.102" };
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2hhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBbUQ7QUFFbkQsK0JBQTRCO0FBQzVCLG1DQUFnQztBQUVoQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQy9DLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQTZCMUIsTUFBYSxLQUFNLFNBQVEsc0JBQVM7SUFvRGxDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBb0IsRUFBRztRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxLQUFLLENBQUMseUJBQXlCLElBQUksS0FBSyxDQUFDO1FBRTNFLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUExREQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBTTtRQUMxQixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsSUFBSSxZQUFZLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQywyQkFBQyxNQUFNLENBQUMsV0FBVyxFQUFDLENBQUMsQ0FBVTtRQUNwQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBYTtRQUM1QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBa0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUEwQkQ7Ozs7T0FJRztJQUNILElBQVcsTUFBTTtRQUNmLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQkc7SUFDSSxrQkFBa0IsQ0FBQyxTQUFvQjtRQUM1QyxPQUFPLGFBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFO1lBQ2pDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQywwQkFBMEI7WUFDN0MsTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksYUFBYSxDQUFDLEdBQUcsWUFBMEI7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTTtRQUNYLE9BQU8sU0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDOztBQWpISCxzQkFrSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QsIElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEFwaU9iamVjdCB9IGZyb20gJy4vYXBpLW9iamVjdCc7XG5pbXBvcnQgeyBBcHAgfSBmcm9tICcuL2FwcCc7XG5pbXBvcnQgeyBOYW1lcyB9IGZyb20gJy4vbmFtZXMnO1xuXG5jb25zdCBDSEFSVF9TWU1CT0wgPSBTeW1ib2wuZm9yKCdjZGs4cy5DaGFydCcpO1xuY29uc3QgQ1JPTkpPQiA9ICdDcm9uSm9iJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGFydFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IG5hbWVzcGFjZSBmb3IgYWxsIG9iamVjdHMgZGVmaW5lZCBpbiB0aGlzIGNoYXJ0IChkaXJlY3RseSBvclxuICAgKiBpbmRpcmVjdGx5KS4gVGhpcyBuYW1lc3BhY2Ugd2lsbCBvbmx5IGFwcGx5IHRvIG9iamVjdHMgdGhhdCBkb24ndCBoYXZlIGFcbiAgICogYG5hbWVzcGFjZWAgZXhwbGljaXRseSBkZWZpbmVkIGZvciB0aGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5hbWVzcGFjZSBpcyBzeW50aGVzaXplZCAodXN1YWxseSB0aGlzIGltcGxpZXMgXCJkZWZhdWx0XCIpXG4gICAqL1xuICByZWFkb25seSBuYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExhYmVscyB0byBhcHBseSB0byBhbGwgcmVzb3VyY2VzIGluIHRoaXMgY2hhcnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29tbW9uIGxhYmVsc1xuICAgKi9cbiAgcmVhZG9ubHkgbGFiZWxzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFRoZSBhdXRvZ2VuZXJhdGVkIHJlc291cmNlIG5hbWUgYnkgZGVmYXVsdCBpcyBzdWZmaXhlZCB3aXRoIGEgc3RhYmxlIGhhc2hcbiAgICogb2YgdGhlIGNvbnN0cnVjdCBwYXRoLiBTZXR0aW5nIHRoaXMgcHJvcGVydHkgdG8gdHJ1ZSBkcm9wcyB0aGUgaGFzaCBzdWZmaXguXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlUmVzb3VyY2VOYW1lSGFzaGVzPzogYm9vbGVhbjtcblxufVxuXG5leHBvcnQgY2xhc3MgQ2hhcnQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhlIGdpdmVuIG9iamVjdCBpcyBhIENoYXJ0LlxuICAgKlxuICAgKiBXZSBkbyBhdHRyaWJ1dGUgZGV0ZWN0aW9uIHNpbmNlIHdlIGNhbid0IHJlbGlhYmx5IHVzZSAnaW5zdGFuY2VvZicuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzQ2hhcnQoeDogYW55KTogeCBpcyBDaGFydCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mKHgpID09PSAnb2JqZWN0JyAmJiBDSEFSVF9TWU1CT0wgaW4geDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRzIGBpbnN0YW5jZW9mIENoYXJ0YCB1c2luZyB0aGUgbW9yZSByZWxpYWJsZSBgQ2hhcnQuaXNDaGFydGAgc3RhdGljIG1ldGhvZFxuICAgKlxuICAgKiBAcGFyYW0gbyBUaGUgb2JqZWN0IHRvIGNoZWNrXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc3RhdGljIFtTeW1ib2wuaGFzSW5zdGFuY2VdKG86IHVua25vd24pIHtcbiAgICByZXR1cm4gQ2hhcnQuaXNDaGFydChvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgY2hhcnQgaW4gd2hpY2ggYSBub2RlIGlzIGRlZmluZWQuXG4gICAqIEBwYXJhbSBjIGEgY29uc3RydWN0IG5vZGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb2YoYzogSUNvbnN0cnVjdCk6IENoYXJ0IHtcbiAgICBpZiAoQ2hhcnQuaXNDaGFydChjKSkge1xuICAgICAgcmV0dXJuIGM7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW50ID0gYy5ub2RlLnNjb3BlIGFzIENvbnN0cnVjdDtcbiAgICBpZiAoIXBhcmVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjYW5ub3QgZmluZCBhIHBhcmVudCBjaGFydCAoZGlyZWN0bHkgb3IgaW5kaXJlY3RseSknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQ2hhcnQub2YocGFyZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBuYW1lc3BhY2UgZm9yIGFsbCBvYmplY3RzIGluIHRoaXMgY2hhcnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDaGFydC1sZXZlbCBsYWJlbHMuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9sYWJlbHM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiByZXNvdXJjZSBuYW1lcyBpbiB0aGUgY2hhcnQgaGF2ZSB0aGUgc3VmZml4ZWQgaGFzaC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rpc2FibGVSZXNvdXJjZU5hbWVIYXNoZXM/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDaGFydFByb3BzID0geyB9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLm5hbWVzcGFjZSA9IHByb3BzLm5hbWVzcGFjZTtcbiAgICB0aGlzLl9sYWJlbHMgPSBwcm9wcy5sYWJlbHMgPz8ge307XG4gICAgdGhpcy5fZGlzYWJsZVJlc291cmNlTmFtZUhhc2hlcyA9IHByb3BzLmRpc2FibGVSZXNvdXJjZU5hbWVIYXNoZXMgPz8gZmFsc2U7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgQ0hBUlRfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExhYmVscyBhcHBsaWVkIHRvIGFsbCByZXNvdXJjZXMgaW4gdGhpcyBjaGFydC5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBpbW11dGFibGUgY29weS5cbiAgICovXG4gIHB1YmxpYyBnZXQgbGFiZWxzKCk6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4geyAuLi50aGlzLl9sYWJlbHMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBhcHAtdW5pcXVlIG5hbWUgZm9yIGFuIG9iamVjdCBnaXZlbiBpdCdzIGNvbnN0cnVjdCBub2RlIHBhdGguXG4gICAqXG4gICAqIERpZmZlcmVudCByZXNvdXJjZSB0eXBlcyBtYXkgaGF2ZSBkaWZmZXJlbnQgY29uc3RyYWludHMgb24gbmFtZXNcbiAgICogKGBtZXRhZGF0YS5uYW1lYCkuIFRoZSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoZSBuYW1lIGdlbmVyYXRvciB3YXNcbiAgICogY29tcGF0aWJsZSB3aXRoIEROU19TVUJET01BSU4gYnV0IG5vdCB3aXRoIEROU19MQUJFTC5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGBEZXBsb3ltZW50YCBuYW1lcyBtdXN0IGNvbXBseSB3aXRoIEROU19TVUJET01BSU4gd2hpbGVcbiAgICogYFNlcnZpY2VgIG5hbWVzIG11c3QgY29tcGx5IHdpdGggRE5TX0xBQkVMLlxuICAgKlxuICAgKiBTaW5jZSB0aGVyZSBpcyBubyBmb3JtYWwgc3BlY2lmaWNhdGlvbiBmb3IgdGhpcywgdGhlIGRlZmF1bHQgbmFtZVxuICAgKiBnZW5lcmF0aW9uIHNjaGVtZSBmb3Iga3ViZXJuZXRlcyBvYmplY3RzIGluIGNkazhzIHdhcyBjaGFuZ2VkIHRvIEROU19MQUJFTCxcbiAgICogc2luY2UgaXTigJlzIHRoZSBjb21tb24gZGVub21pbmF0b3IgZm9yIGFsbCBrdWJlcm5ldGVzIHJlc291cmNlc1xuICAgKiAoc3VwcG9zZWRseSkuXG4gICAqXG4gICAqIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBtZXRob2QgaWYgeW91IHdpc2ggdG8gY3VzdG9taXplIG9iamVjdCBuYW1lcyBhdCB0aGVcbiAgICogY2hhcnQgbGV2ZWwuXG4gICAqXG4gICAqIEBwYXJhbSBhcGlPYmplY3QgVGhlIEFQSSBvYmplY3QgdG8gZ2VuZXJhdGUgYSBuYW1lIGZvci5cbiAgICovXG4gIHB1YmxpYyBnZW5lcmF0ZU9iamVjdE5hbWUoYXBpT2JqZWN0OiBBcGlPYmplY3QpIHtcbiAgICByZXR1cm4gTmFtZXMudG9EbnNMYWJlbChhcGlPYmplY3QsIHtcbiAgICAgIGluY2x1ZGVIYXNoOiAhdGhpcy5fZGlzYWJsZVJlc291cmNlTmFtZUhhc2hlcyxcbiAgICAgIG1heExlbjogYXBpT2JqZWN0LmtpbmQgPT0gQ1JPTkpPQiA/IDUyIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGRlcGVuZGVuY3kgYmV0d2VlbiB0aGlzIENoYXJ0IGFuZCBvdGhlciBjb25zdHJ1Y3RzLlxuICAgKiBUaGVzZSBjYW4gYmUgb3RoZXIgQXBpT2JqZWN0cywgQ2hhcnRzLCBvciBjdXN0b20uXG4gICAqXG4gICAqIEBwYXJhbSBkZXBlbmRlbmNpZXMgdGhlIGRlcGVuZGVuY2llcyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkRGVwZW5kZW5jeSguLi5kZXBlbmRlbmNpZXM6IElDb25zdHJ1Y3RbXSkge1xuICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KC4uLmRlcGVuZGVuY2llcyk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyB0aGlzIGNoYXJ0IHRvIGEgc2V0IG9mIEt1YmVybmV0ZXMgSlNPTiByZXNvdXJjZXMuXG4gICAqIEByZXR1cm5zIGFycmF5IG9mIHJlc291cmNlIG1hbmlmZXN0c1xuICAgKi9cbiAgcHVibGljIHRvSnNvbigpOiBhbnlbXSB7XG4gICAgcmV0dXJuIEFwcC5fc3ludGhDaGFydCh0aGlzKTtcbiAgfVxufVxuXG4iXX0=
102
+ Chart[_a] = { fqn: "cdk8s.Chart", version: "2.7.104" };
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2hhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBbUQ7QUFFbkQsK0JBQTRCO0FBQzVCLG1DQUFnQztBQUVoQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQy9DLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQTZCMUIsTUFBYSxLQUFNLFNBQVEsc0JBQVM7SUFDbEM7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBTTtRQUMxQixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsSUFBSSxZQUFZLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQywyQkFBQyxNQUFNLENBQUMsV0FBVyxFQUFDLENBQUMsQ0FBVTtRQUNwQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBYTtRQUM1QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBa0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFpQkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUFvQixFQUFHO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxLQUFLLENBQUM7UUFFM0UsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0ksa0JBQWtCLENBQUMsU0FBb0I7UUFDNUMsT0FBTyxhQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtZQUNqQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsMEJBQTBCO1lBQzdDLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxHQUFHLFlBQTBCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU07UUFDWCxPQUFPLFNBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7QUFqSEgsc0JBa0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0LCBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBBcGlPYmplY3QgfSBmcm9tICcuL2FwaS1vYmplY3QnO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSAnLi9hcHAnO1xuaW1wb3J0IHsgTmFtZXMgfSBmcm9tICcuL25hbWVzJztcblxuY29uc3QgQ0hBUlRfU1lNQk9MID0gU3ltYm9sLmZvcignY2RrOHMuQ2hhcnQnKTtcbmNvbnN0IENST05KT0IgPSAnQ3JvbkpvYic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBuYW1lc3BhY2UgZm9yIGFsbCBvYmplY3RzIGRlZmluZWQgaW4gdGhpcyBjaGFydCAoZGlyZWN0bHkgb3JcbiAgICogaW5kaXJlY3RseSkuIFRoaXMgbmFtZXNwYWNlIHdpbGwgb25seSBhcHBseSB0byBvYmplY3RzIHRoYXQgZG9uJ3QgaGF2ZSBhXG4gICAqIGBuYW1lc3BhY2VgIGV4cGxpY2l0bHkgZGVmaW5lZCBmb3IgdGhlbS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBuYW1lc3BhY2UgaXMgc3ludGhlc2l6ZWQgKHVzdWFsbHkgdGhpcyBpbXBsaWVzIFwiZGVmYXVsdFwiKVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMYWJlbHMgdG8gYXBwbHkgdG8gYWxsIHJlc291cmNlcyBpbiB0aGlzIGNoYXJ0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbW1vbiBsYWJlbHNcbiAgICovXG4gIHJlYWRvbmx5IGxhYmVscz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgYXV0b2dlbmVyYXRlZCByZXNvdXJjZSBuYW1lIGJ5IGRlZmF1bHQgaXMgc3VmZml4ZWQgd2l0aCBhIHN0YWJsZSBoYXNoXG4gICAqIG9mIHRoZSBjb25zdHJ1Y3QgcGF0aC4gU2V0dGluZyB0aGlzIHByb3BlcnR5IHRvIHRydWUgZHJvcHMgdGhlIGhhc2ggc3VmZml4LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVJlc291cmNlTmFtZUhhc2hlcz86IGJvb2xlYW47XG5cbn1cblxuZXhwb3J0IGNsYXNzIENoYXJ0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoZSBnaXZlbiBvYmplY3QgaXMgYSBDaGFydC5cbiAgICpcbiAgICogV2UgZG8gYXR0cmlidXRlIGRldGVjdGlvbiBzaW5jZSB3ZSBjYW4ndCByZWxpYWJseSB1c2UgJ2luc3RhbmNlb2YnLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc0NoYXJ0KHg6IGFueSk6IHggaXMgQ2hhcnQge1xuICAgIHJldHVybiB4ICE9PSBudWxsICYmIHR5cGVvZih4KSA9PT0gJ29iamVjdCcgJiYgQ0hBUlRfU1lNQk9MIGluIHg7XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50cyBgaW5zdGFuY2VvZiBDaGFydGAgdXNpbmcgdGhlIG1vcmUgcmVsaWFibGUgYENoYXJ0LmlzQ2hhcnRgIHN0YXRpYyBtZXRob2RcbiAgICpcbiAgICogQHBhcmFtIG8gVGhlIG9iamVjdCB0byBjaGVja1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHN0YXRpYyBbU3ltYm9sLmhhc0luc3RhbmNlXShvOiB1bmtub3duKSB7XG4gICAgcmV0dXJuIENoYXJ0LmlzQ2hhcnQobyk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGNoYXJ0IGluIHdoaWNoIGEgbm9kZSBpcyBkZWZpbmVkLlxuICAgKiBAcGFyYW0gYyBhIGNvbnN0cnVjdCBub2RlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG9mKGM6IElDb25zdHJ1Y3QpOiBDaGFydCB7XG4gICAgaWYgKENoYXJ0LmlzQ2hhcnQoYykpIHtcbiAgICAgIHJldHVybiBjO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudCA9IGMubm9kZS5zY29wZSBhcyBDb25zdHJ1Y3Q7XG4gICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY2Fubm90IGZpbmQgYSBwYXJlbnQgY2hhcnQgKGRpcmVjdGx5IG9yIGluZGlyZWN0bHkpJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENoYXJ0Lm9mKHBhcmVudCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgbmFtZXNwYWNlIGZvciBhbGwgb2JqZWN0cyBpbiB0aGlzIGNoYXJ0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ2hhcnQtbGV2ZWwgbGFiZWxzLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfbGFiZWxzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgcmVzb3VyY2UgbmFtZXMgaW4gdGhlIGNoYXJ0IGhhdmUgdGhlIHN1ZmZpeGVkIGhhc2guXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNhYmxlUmVzb3VyY2VOYW1lSGFzaGVzPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2hhcnRQcm9wcyA9IHsgfSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBwcm9wcy5uYW1lc3BhY2U7XG4gICAgdGhpcy5fbGFiZWxzID0gcHJvcHMubGFiZWxzID8/IHt9O1xuICAgIHRoaXMuX2Rpc2FibGVSZXNvdXJjZU5hbWVIYXNoZXMgPSBwcm9wcy5kaXNhYmxlUmVzb3VyY2VOYW1lSGFzaGVzID8/IGZhbHNlO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIENIQVJUX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMYWJlbHMgYXBwbGllZCB0byBhbGwgcmVzb3VyY2VzIGluIHRoaXMgY2hhcnQuXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gaW1tdXRhYmxlIGNvcHkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGxhYmVscygpOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5fbGFiZWxzIH07XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgYXBwLXVuaXF1ZSBuYW1lIGZvciBhbiBvYmplY3QgZ2l2ZW4gaXQncyBjb25zdHJ1Y3Qgbm9kZSBwYXRoLlxuICAgKlxuICAgKiBEaWZmZXJlbnQgcmVzb3VyY2UgdHlwZXMgbWF5IGhhdmUgZGlmZmVyZW50IGNvbnN0cmFpbnRzIG9uIG5hbWVzXG4gICAqIChgbWV0YWRhdGEubmFtZWApLiBUaGUgcHJldmlvdXMgdmVyc2lvbiBvZiB0aGUgbmFtZSBnZW5lcmF0b3Igd2FzXG4gICAqIGNvbXBhdGlibGUgd2l0aCBETlNfU1VCRE9NQUlOIGJ1dCBub3Qgd2l0aCBETlNfTEFCRUwuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBgRGVwbG95bWVudGAgbmFtZXMgbXVzdCBjb21wbHkgd2l0aCBETlNfU1VCRE9NQUlOIHdoaWxlXG4gICAqIGBTZXJ2aWNlYCBuYW1lcyBtdXN0IGNvbXBseSB3aXRoIEROU19MQUJFTC5cbiAgICpcbiAgICogU2luY2UgdGhlcmUgaXMgbm8gZm9ybWFsIHNwZWNpZmljYXRpb24gZm9yIHRoaXMsIHRoZSBkZWZhdWx0IG5hbWVcbiAgICogZ2VuZXJhdGlvbiBzY2hlbWUgZm9yIGt1YmVybmV0ZXMgb2JqZWN0cyBpbiBjZGs4cyB3YXMgY2hhbmdlZCB0byBETlNfTEFCRUwsXG4gICAqIHNpbmNlIGl04oCZcyB0aGUgY29tbW9uIGRlbm9taW5hdG9yIGZvciBhbGwga3ViZXJuZXRlcyByZXNvdXJjZXNcbiAgICogKHN1cHBvc2VkbHkpLlxuICAgKlxuICAgKiBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgbWV0aG9kIGlmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBvYmplY3QgbmFtZXMgYXQgdGhlXG4gICAqIGNoYXJ0IGxldmVsLlxuICAgKlxuICAgKiBAcGFyYW0gYXBpT2JqZWN0IFRoZSBBUEkgb2JqZWN0IHRvIGdlbmVyYXRlIGEgbmFtZSBmb3IuXG4gICAqL1xuICBwdWJsaWMgZ2VuZXJhdGVPYmplY3ROYW1lKGFwaU9iamVjdDogQXBpT2JqZWN0KSB7XG4gICAgcmV0dXJuIE5hbWVzLnRvRG5zTGFiZWwoYXBpT2JqZWN0LCB7XG4gICAgICBpbmNsdWRlSGFzaDogIXRoaXMuX2Rpc2FibGVSZXNvdXJjZU5hbWVIYXNoZXMsXG4gICAgICBtYXhMZW46IGFwaU9iamVjdC5raW5kID09IENST05KT0IgPyA1MiA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBkZXBlbmRlbmN5IGJldHdlZW4gdGhpcyBDaGFydCBhbmQgb3RoZXIgY29uc3RydWN0cy5cbiAgICogVGhlc2UgY2FuIGJlIG90aGVyIEFwaU9iamVjdHMsIENoYXJ0cywgb3IgY3VzdG9tLlxuICAgKlxuICAgKiBAcGFyYW0gZGVwZW5kZW5jaWVzIHRoZSBkZXBlbmRlbmNpZXMgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFkZERlcGVuZGVuY3koLi4uZGVwZW5kZW5jaWVzOiBJQ29uc3RydWN0W10pIHtcbiAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeSguLi5kZXBlbmRlbmNpZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhpcyBjaGFydCB0byBhIHNldCBvZiBLdWJlcm5ldGVzIEpTT04gcmVzb3VyY2VzLlxuICAgKiBAcmV0dXJucyBhcnJheSBvZiByZXNvdXJjZSBtYW5pZmVzdHNcbiAgICovXG4gIHB1YmxpYyB0b0pzb24oKTogYW55W10ge1xuICAgIHJldHVybiBBcHAuX3N5bnRoQ2hhcnQodGhpcyk7XG4gIH1cbn1cblxuIl19
package/lib/cron.js CHANGED
@@ -7,14 +7,6 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7
7
  * Represents a cron schedule
8
8
  */
9
9
  class Cron {
10
- constructor(cronOptions = {}) {
11
- const minute = fallback(cronOptions.minute, '*');
12
- const hour = fallback(cronOptions.hour, '*');
13
- const month = fallback(cronOptions.month, '*');
14
- const day = fallback(cronOptions.day, '*');
15
- const weekDay = fallback(cronOptions.weekDay, '*');
16
- this.expressionString = `${minute} ${hour} ${day} ${month} ${weekDay}`;
17
- }
18
10
  /**
19
11
  * Create a cron schedule which runs every minute
20
12
  */
@@ -58,11 +50,19 @@ class Cron {
58
50
  return new Cron(options);
59
51
  }
60
52
  ;
53
+ constructor(cronOptions = {}) {
54
+ const minute = fallback(cronOptions.minute, '*');
55
+ const hour = fallback(cronOptions.hour, '*');
56
+ const month = fallback(cronOptions.month, '*');
57
+ const day = fallback(cronOptions.day, '*');
58
+ const weekDay = fallback(cronOptions.weekDay, '*');
59
+ this.expressionString = `${minute} ${hour} ${day} ${month} ${weekDay}`;
60
+ }
61
61
  }
62
62
  exports.Cron = Cron;
63
63
  _a = JSII_RTTI_SYMBOL_1;
64
- Cron[_a] = { fqn: "cdk8s.Cron", version: "2.7.102" };
64
+ Cron[_a] = { fqn: "cdk8s.Cron", version: "2.7.104" };
65
65
  function fallback(x, def) {
66
66
  return x ?? def;
67
67
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jcm9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7O0dBRUc7QUFDSCxNQUFhLElBQUk7SUF1RGYsWUFBWSxjQUEyQixFQUFFO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLE1BQU0sSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBOUREOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVc7UUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTTtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU07UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFvQjtRQUN6QyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFBQSxDQUFDOztBQWhESixvQkFnRUM7OztBQTZDRCxTQUFTLFFBQVEsQ0FBSSxDQUFnQixFQUFFLEdBQU07SUFDM0MsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgYSBjcm9uIHNjaGVkdWxlXG4gKi9cbmV4cG9ydCBjbGFzcyBDcm9uIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNyb24gc2NoZWR1bGUgd2hpY2ggcnVucyBldmVyeSBtaW51dGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXZlcnlNaW51dGUoKTogQ3JvbiB7XG4gICAgcmV0dXJuIENyb24uc2NoZWR1bGUoeyBtaW51dGU6ICcqJywgaG91cjogJyonLCBkYXk6ICcqJywgbW9udGg6ICcqJywgd2Vla0RheTogJyonIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNyb24gc2NoZWR1bGUgd2hpY2ggcnVucyBldmVyeSBob3VyXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvdXJseSgpOiBDcm9uIHtcbiAgICByZXR1cm4gQ3Jvbi5zY2hlZHVsZSh7IG1pbnV0ZTogJzAnLCBob3VyOiAnKicsIGRheTogJyonLCBtb250aDogJyonLCB3ZWVrRGF5OiAnKicgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY3JvbiBzY2hlZHVsZSB3aGljaCBydW5zIGV2ZXJ5IGRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkYWlseSgpOiBDcm9uIHtcbiAgICByZXR1cm4gQ3Jvbi5zY2hlZHVsZSh7IG1pbnV0ZTogJzAnLCBob3VyOiAnMCcsIGRheTogJyonLCBtb250aDogJyonLCB3ZWVrRGF5OiAnKicgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY3JvbiBzY2hlZHVsZSB3aGljaCBydW5zIGV2ZXJ5IHdlZWsgb24gU3VuZGF5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdlZWtseSgpOiBDcm9uIHtcbiAgICByZXR1cm4gQ3Jvbi5zY2hlZHVsZSh7IG1pbnV0ZTogJzAnLCBob3VyOiAnMCcsIGRheTogJyonLCBtb250aDogJyonLCB3ZWVrRGF5OiAnMCcgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY3JvbiBzY2hlZHVsZSB3aGljaCBydW5zIGZpcnN0IGRheSBvZiBldmVyeSBtb250aFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtb250aGx5KCk6IENyb24ge1xuICAgIHJldHVybiBDcm9uLnNjaGVkdWxlKHsgbWludXRlOiAnMCcsIGhvdXI6ICcwJywgZGF5OiAnMScsIG1vbnRoOiAnKicsIHdlZWtEYXk6ICcqJyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjcm9uIHNjaGVkdWxlIHdoaWNoIHJ1bnMgZmlyc3QgZGF5IG9mIEphbnVhcnkgZXZlcnkgeWVhclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhbm51YWxseSgpOiBDcm9uIHtcbiAgICByZXR1cm4gQ3Jvbi5zY2hlZHVsZSh7IG1pbnV0ZTogJzAnLCBob3VyOiAnMCcsIGRheTogJzEnLCBtb250aDogJzEnLCB3ZWVrRGF5OiAnKicgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY3VzdG9tIGNyb24gc2NoZWR1bGUgZnJvbSBhIHNldCBvZiBjcm9uIGZpZWxkc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzY2hlZHVsZShvcHRpb25zOiBDcm9uT3B0aW9ucyk6IENyb24ge1xuICAgIHJldHVybiBuZXcgQ3JvbihvcHRpb25zKTtcbiAgfTtcblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGV4cHJlc3Npb24gZm9yIHRoaXMgc2NoZWR1bGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBleHByZXNzaW9uU3RyaW5nOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoY3Jvbk9wdGlvbnM6IENyb25PcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBtaW51dGUgPSBmYWxsYmFjayhjcm9uT3B0aW9ucy5taW51dGUsICcqJyk7XG4gICAgY29uc3QgaG91ciA9IGZhbGxiYWNrKGNyb25PcHRpb25zLmhvdXIsICcqJyk7XG4gICAgY29uc3QgbW9udGggPSBmYWxsYmFjayhjcm9uT3B0aW9ucy5tb250aCwgJyonKTtcbiAgICBjb25zdCBkYXkgPSBmYWxsYmFjayhjcm9uT3B0aW9ucy5kYXksICcqJyk7XG4gICAgY29uc3Qgd2Vla0RheSA9IGZhbGxiYWNrKGNyb25PcHRpb25zLndlZWtEYXksICcqJyk7XG5cbiAgICB0aGlzLmV4cHJlc3Npb25TdHJpbmcgPSBgJHttaW51dGV9ICR7aG91cn0gJHtkYXl9ICR7bW9udGh9ICR7d2Vla0RheX1gO1xuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyB0byBjb25maWd1cmUgYSBjcm9uIGV4cHJlc3Npb25cbiAqXG4gKiBBbGwgZmllbGRzIGFyZSBzdHJpbmdzIHNvIHlvdSBjYW4gdXNlIGNvbXBsZXggZXhwcmVzc2lvbnMuIEFic2VuY2Ugb2ZcbiAqIGEgZmllbGQgaW1wbGllcyAnKidcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcm9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWludXRlIHRvIHJ1biB0aGlzIHJ1bGUgYXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBFdmVyeSBtaW51dGVcbiAgICovXG4gIHJlYWRvbmx5IG1pbnV0ZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGhvdXIgdG8gcnVuIHRoaXMgcnVsZSBhdFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEV2ZXJ5IGhvdXJcbiAgICovXG4gIHJlYWRvbmx5IGhvdXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkYXkgb2YgdGhlIG1vbnRoIHRvIHJ1biB0aGlzIHJ1bGUgYXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBFdmVyeSBkYXkgb2YgdGhlIG1vbnRoXG4gICAqL1xuICByZWFkb25seSBkYXk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtb250aCB0byBydW4gdGhpcyBydWxlIGF0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRXZlcnkgbW9udGhcbiAgICovXG4gIHJlYWRvbmx5IG1vbnRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF5IG9mIHRoZSB3ZWVrIHRvIHJ1biB0aGlzIHJ1bGUgYXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbnkgZGF5IG9mIHRoZSB3ZWVrXG4gICAqL1xuICByZWFkb25seSB3ZWVrRGF5Pzogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBmYWxsYmFjazxUPih4OiBUIHwgdW5kZWZpbmVkLCBkZWY6IFQpOiBUIHtcbiAgcmV0dXJuIHggPz8gZGVmO1xufSJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jcm9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7O0dBRUc7QUFDSCxNQUFhLElBQUk7SUFDZjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU07UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSztRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsUUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBb0I7UUFDekMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQUEsQ0FBQztJQU9GLFlBQVksY0FBMkIsRUFBRTtRQUN2QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMvQyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxNQUFNLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7SUFDekUsQ0FBQzs7QUEvREgsb0JBZ0VDOzs7QUE2Q0QsU0FBUyxRQUFRLENBQUksQ0FBZ0IsRUFBRSxHQUFNO0lBQzNDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXByZXNlbnRzIGEgY3JvbiBzY2hlZHVsZVxuICovXG5leHBvcnQgY2xhc3MgQ3JvbiB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjcm9uIHNjaGVkdWxlIHdoaWNoIHJ1bnMgZXZlcnkgbWludXRlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGV2ZXJ5TWludXRlKCk6IENyb24ge1xuICAgIHJldHVybiBDcm9uLnNjaGVkdWxlKHsgbWludXRlOiAnKicsIGhvdXI6ICcqJywgZGF5OiAnKicsIG1vbnRoOiAnKicsIHdlZWtEYXk6ICcqJyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjcm9uIHNjaGVkdWxlIHdoaWNoIHJ1bnMgZXZlcnkgaG91clxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3VybHkoKTogQ3JvbiB7XG4gICAgcmV0dXJuIENyb24uc2NoZWR1bGUoeyBtaW51dGU6ICcwJywgaG91cjogJyonLCBkYXk6ICcqJywgbW9udGg6ICcqJywgd2Vla0RheTogJyonIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNyb24gc2NoZWR1bGUgd2hpY2ggcnVucyBldmVyeSBkYXkgYXQgbWlkbmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZGFpbHkoKTogQ3JvbiB7XG4gICAgcmV0dXJuIENyb24uc2NoZWR1bGUoeyBtaW51dGU6ICcwJywgaG91cjogJzAnLCBkYXk6ICcqJywgbW9udGg6ICcqJywgd2Vla0RheTogJyonIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNyb24gc2NoZWR1bGUgd2hpY2ggcnVucyBldmVyeSB3ZWVrIG9uIFN1bmRheVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3ZWVrbHkoKTogQ3JvbiB7XG4gICAgcmV0dXJuIENyb24uc2NoZWR1bGUoeyBtaW51dGU6ICcwJywgaG91cjogJzAnLCBkYXk6ICcqJywgbW9udGg6ICcqJywgd2Vla0RheTogJzAnIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNyb24gc2NoZWR1bGUgd2hpY2ggcnVucyBmaXJzdCBkYXkgb2YgZXZlcnkgbW9udGhcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbW9udGhseSgpOiBDcm9uIHtcbiAgICByZXR1cm4gQ3Jvbi5zY2hlZHVsZSh7IG1pbnV0ZTogJzAnLCBob3VyOiAnMCcsIGRheTogJzEnLCBtb250aDogJyonLCB3ZWVrRGF5OiAnKicgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY3JvbiBzY2hlZHVsZSB3aGljaCBydW5zIGZpcnN0IGRheSBvZiBKYW51YXJ5IGV2ZXJ5IHllYXJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYW5udWFsbHkoKTogQ3JvbiB7XG4gICAgcmV0dXJuIENyb24uc2NoZWR1bGUoeyBtaW51dGU6ICcwJywgaG91cjogJzAnLCBkYXk6ICcxJywgbW9udGg6ICcxJywgd2Vla0RheTogJyonIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGN1c3RvbSBjcm9uIHNjaGVkdWxlIGZyb20gYSBzZXQgb2YgY3JvbiBmaWVsZHNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2NoZWR1bGUob3B0aW9uczogQ3Jvbk9wdGlvbnMpOiBDcm9uIHtcbiAgICByZXR1cm4gbmV3IENyb24ob3B0aW9ucyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBleHByZXNzaW9uIGZvciB0aGlzIHNjaGVkdWxlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZXhwcmVzc2lvblN0cmluZzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGNyb25PcHRpb25zOiBDcm9uT3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgbWludXRlID0gZmFsbGJhY2soY3Jvbk9wdGlvbnMubWludXRlLCAnKicpO1xuICAgIGNvbnN0IGhvdXIgPSBmYWxsYmFjayhjcm9uT3B0aW9ucy5ob3VyLCAnKicpO1xuICAgIGNvbnN0IG1vbnRoID0gZmFsbGJhY2soY3Jvbk9wdGlvbnMubW9udGgsICcqJyk7XG4gICAgY29uc3QgZGF5ID0gZmFsbGJhY2soY3Jvbk9wdGlvbnMuZGF5LCAnKicpO1xuICAgIGNvbnN0IHdlZWtEYXkgPSBmYWxsYmFjayhjcm9uT3B0aW9ucy53ZWVrRGF5LCAnKicpO1xuXG4gICAgdGhpcy5leHByZXNzaW9uU3RyaW5nID0gYCR7bWludXRlfSAke2hvdXJ9ICR7ZGF5fSAke21vbnRofSAke3dlZWtEYXl9YDtcbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgdG8gY29uZmlndXJlIGEgY3JvbiBleHByZXNzaW9uXG4gKlxuICogQWxsIGZpZWxkcyBhcmUgc3RyaW5ncyBzbyB5b3UgY2FuIHVzZSBjb21wbGV4IGV4cHJlc3Npb25zLiBBYnNlbmNlIG9mXG4gKiBhIGZpZWxkIGltcGxpZXMgJyonXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3Jvbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1pbnV0ZSB0byBydW4gdGhpcyBydWxlIGF0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRXZlcnkgbWludXRlXG4gICAqL1xuICByZWFkb25seSBtaW51dGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBob3VyIHRvIHJ1biB0aGlzIHJ1bGUgYXRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBFdmVyeSBob3VyXG4gICAqL1xuICByZWFkb25seSBob3VyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF5IG9mIHRoZSBtb250aCB0byBydW4gdGhpcyBydWxlIGF0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRXZlcnkgZGF5IG9mIHRoZSBtb250aFxuICAgKi9cbiAgcmVhZG9ubHkgZGF5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9udGggdG8gcnVuIHRoaXMgcnVsZSBhdFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEV2ZXJ5IG1vbnRoXG4gICAqL1xuICByZWFkb25seSBtb250aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRheSBvZiB0aGUgd2VlayB0byBydW4gdGhpcyBydWxlIGF0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQW55IGRheSBvZiB0aGUgd2Vla1xuICAgKi9cbiAgcmVhZG9ubHkgd2Vla0RheT86IHN0cmluZztcbn1cblxuZnVuY3Rpb24gZmFsbGJhY2s8VD4oeDogVCB8IHVuZGVmaW5lZCwgZGVmOiBUKTogVCB7XG4gIHJldHVybiB4ID8/IGRlZjtcbn0iXX0=
package/lib/dependency.js CHANGED
@@ -75,7 +75,7 @@ class DependencyGraph {
75
75
  }
76
76
  exports.DependencyGraph = DependencyGraph;
77
77
  _a = JSII_RTTI_SYMBOL_1;
78
- DependencyGraph[_a] = { fqn: "cdk8s.DependencyGraph", version: "2.7.102" };
78
+ DependencyGraph[_a] = { fqn: "cdk8s.DependencyGraph", version: "2.7.104" };
79
79
  /**
80
80
  * Represents a vertex in the graph.
81
81
  *
@@ -168,5 +168,5 @@ class DependencyVertex {
168
168
  }
169
169
  exports.DependencyVertex = DependencyVertex;
170
170
  _b = JSII_RTTI_SYMBOL_1;
171
- DependencyVertex[_b] = { fqn: "cdk8s.DependencyVertex", version: "2.7.102" };
171
+ DependencyVertex[_b] = { fqn: "cdk8s.DependencyVertex", version: "2.7.104" };
172
172
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBlbmRlbmN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0E7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxlQUFlO0lBSTFCLFlBQVksSUFBVTtRQUVwQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUU1QyxNQUFNLEtBQUssR0FBcUMsRUFBRSxDQUFDO1FBRW5ELFNBQVMsU0FBUyxDQUFDLFNBQXFCO1lBQ3RDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUVELFNBQVMsU0FBUyxDQUFDLFNBQXFCO1lBQ3RDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELG9DQUFvQztRQUNwQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM5QixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDZDtRQUVELE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzthQUMzQztTQUNGO1FBRUQscUNBQXFDO1FBQ3JDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1lBRXRCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUMxQiwrQkFB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XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgZGVwZW5kZW5jeSBncmFwaCBmb3IgYSBnaXZlbiBOb2RlLlxuICpcbiAqIFRoaXMgZ3JhcGggaW5jbHVkZXMgdGhlIGRlcGVuZGVuY3kgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIGFsbCBub2RlcyBpbiB0aGVcbiAqIG5vZGUgKGNvbnN0cnVjdCkgc3ViLXRyZWUgd2hvJ3Mgcm9vdCBpcyB0aGlzIE5vZGUuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgbWVhbnMgdGhhdCBsb25lbHkgbm9kZXMgKG5vIGRlcGVuZGVuY2llcyBhbmQgbm8gZGVwZW5kYW50cykgYXJlIGFsc28gaW5jbHVkZWQgaW4gdGhpcyBncmFwaCBhc1xuICogY2hpbGRsZXNzIGNoaWxkcmVuIG9mIHRoZSByb290IG5vZGUgb2YgdGhlIGdyYXBoLlxuICpcbiAqIFRoZSBncmFwaCBkb2VzIG5vdCBpbmNsdWRlIGNyb3NzLXNjb3BlIGRlcGVuZGVuY2llcy4gVGhhdCBpcywgaWYgYSBjaGlsZCBvbiB0aGUgY3VycmVudCBzY29wZSBkZXBlbmRzIG9uIGEgbm9kZVxuICogZnJvbSBhIGRpZmZlcmVudCBzY29wZSwgdGhhdCByZWxhdGlvbnNoaXAgaXMgbm90IHJlcHJlc2VudGVkIGluIHRoaXMgZ3JhcGguXG4gKlxuICovXG5leHBvcnQgY2xhc3MgRGVwZW5kZW5jeUdyYXBoIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mb3N0ZXJQYXJlbnQ6IERlcGVuZGVuY3lWZXJ0ZXg7XG5cbiAgY29uc3RydWN0b3Iobm9kZTogTm9kZSkge1xuXG4gICAgdGhpcy5fZm9zdGVyUGFyZW50ID0gbmV3IERlcGVuZGVuY3lWZXJ0ZXgoKTtcblxuICAgIGNvbnN0IG5vZGVzOiBSZWNvcmQ8c3RyaW5nLCBEZXBlbmRlbmN5VmVydGV4PiA9IHt9O1xuXG4gICAgZnVuY3Rpb24gcHV0VmVydGV4KGNvbnN0cnVjdDogSUNvbnN0cnVjdCkge1xuICAgICAgbm9kZXNbY29uc3RydWN0Lm5vZGUucGF0aF0gPSBuZXcgRGVwZW5kZW5jeVZlcnRleChjb25zdHJ1Y3QpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFZlcnRleChjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QpOiBEZXBlbmRlbmN5VmVydGV4IHtcbiAgICAgIHJldHVybiBub2Rlc1tjb25zdHJ1Y3Qubm9kZS5wYXRoXTtcbiAgICB9XG5cbiAgICAvLyBjcmVhdGUgYWxsIHZlcnRpY2VzIG9mIHRoZSBncmFwaC5cbiAgICBmb3IgKGNvbnN0IG4gb2Ygbm9kZS5maW5kQWxsKCkpIHtcbiAgICAgIHB1dFZlcnRleChuKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBzID0gW107XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBub2RlLmZpbmRBbGwoKSkge1xuICAgICAgZm9yIChjb25zdCBkZXAgb2YgY2hpbGQubm9kZS5kZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgZGVwcy5wdXNoKHsgc291cmNlOiBjaGlsZCwgdGFyZ2V0OiBkZXAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIGFsbCB0aGUgZWRnZXMgb2YgdGhlIGdyYXBoLlxuICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcblxuICAgICAgaWYgKCFnZXRWZXJ0ZXgoZGVwLnRhcmdldCkpIHtcbiAgICAgICAgLy8gZG9udCBjcm9zcyBzY29wZSBib3VuZGFyaWVzLlxuICAgICAgICAvLyBzaW5jZSBjaGFydHMgb25seSByZW5kZXJzIGl0cyBvd24gY2hpbGRyZW4sIHRoaXMgaXMgb2sgYW5kXG4gICAgICAgIC8vIGhhcyB0aGUgYmVuZWZpdCBvZiBzaW1wbGlmeWluZyB0aGUgZ3JhcGguIHdlIHNob3VsZCByZWNvbnNpZGVyIHRoaXMgYmVoYXZpb3Igd2hlbiBtb3ZpbmdcbiAgICAgICAgLy8gdG8gYSBtb3JlIGdlbmVyYWwgcHVycG9zZSB1c2UtY2FzZS5cbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNvdXJjZURlcE5vZGUgPSBnZXRWZXJ0ZXgoZGVwLnNvdXJjZSk7XG4gICAgICBjb25zdCB0YXJnZXREZXBOb2RlID0gZ2V0VmVydGV4KGRlcC50YXJnZXQpO1xuXG4gICAgICBzb3VyY2VEZXBOb2RlLmFkZENoaWxkKHRhcmdldERlcE5vZGUpO1xuXG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIHRoZSByb290LlxuICAgIGZvciAoY29uc3QgbiBvZiBPYmplY3QudmFsdWVzKG5vZGVzKSkge1xuICAgICAgaWYgKG4uaW5ib3VuZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgLy8gb3JwaGFucyBhcmUgZGVwZW5kZW5jeSByb290cy4gbGV0cyBhZG9wdCB0aGVtIVxuICAgICAgICB0aGlzLl9mb3N0ZXJQYXJlbnQuYWRkQ2hpbGQobik7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcm9vdCBvZiB0aGUgZ3JhcGguXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGlzIHZlcnRleCB3aWxsIGFsd2F5cyBoYXZlIGBudWxsYCBhcyBpdHMgYC52YWx1ZWAgc2luY2UgaXQgaXMgYW4gYXJ0aWZpY2FsIHJvb3RcbiAgICogdGhhdCBiaW5kcyBhbGwgdGhlIGNvbm5lY3RlZCBzcGFjZXMgb2YgdGhlIGdyYXBoLlxuICAgKi9cbiAgcHVibGljIGdldCByb290KCk6IERlcGVuZGVuY3lWZXJ0ZXgge1xuICAgIHJldHVybiB0aGlzLl9mb3N0ZXJQYXJlbnQ7XG4gIH1cblxuICAvKipcbiAgICogQHNlZSBWZXJ0ZXgudG9wb2xvZ3koKVxuICAgKi9cbiAgcHVibGljIHRvcG9sb2d5KCk6IElDb25zdHJ1Y3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvc3RlclBhcmVudC50b3BvbG9neSgpO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHZlcnRleCBpbiB0aGUgZ3JhcGguXG4gKlxuICogVGhlIHZhbHVlIG9mIGVhY2ggdmVydGV4IGlzIGFuIGBJQ29uc3RydWN0YCB0aGF0IGlzIGFjY2Vzc2libGUgdmlhIHRoZSBgLnZhbHVlYCBnZXR0ZXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZXBlbmRlbmN5VmVydGV4IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF92YWx1ZTogSUNvbnN0cnVjdCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2hpbGRyZW46IFNldDxEZXBlbmRlbmN5VmVydGV4PiA9IG5ldyBTZXQ8RGVwZW5kZW5jeVZlcnRleD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50czogU2V0PERlcGVuZGVuY3lWZXJ0ZXg+ID0gbmV3IFNldDxEZXBlbmRlbmN5VmVydGV4PigpO1xuXG4gIGNvbnN0cnVjdG9yKHZhbHVlOiBJQ29uc3RydWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBJQ29uc3RydWN0IHRoaXMgZ3JhcGggdmVydGV4IHJlcHJlc2VudHMuXG4gICAqXG4gICAqIGBudWxsYCBpbiBjYXNlIHRoaXMgaXMgdGhlIHJvb3Qgb2YgdGhlIGdyYXBoLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBJQ29uc3RydWN0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY2hpbGRyZW4gb2YgdGhlIHZlcnRleCAoaS5lIGRlcGVuZGVuY2llcylcbiAgICovXG4gIHB1YmxpYyBnZXQgb3V0Ym91bmQoKTogQXJyYXk8RGVwZW5kZW5jeVZlcnRleD4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2NoaWxkcmVuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBwYXJlbnRzIG9mIHRoZSB2ZXJ0ZXggKGkuZSBkZXBlbmRhbnRzKVxuICAgKi9cbiAgcHVibGljIGdldCBpbmJvdW5kKCk6IEFycmF5PERlcGVuZGVuY3lWZXJ0ZXg+IHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9wYXJlbnRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgdG9wb2xvZ2ljYWxseSBzb3J0ZWQgYXJyYXkgb2YgdGhlIGNvbnN0cnVjdHMgaW4gdGhlIHN1Yi1ncmFwaC5cbiAgICovXG4gIHB1YmxpYyB0b3BvbG9neSgpOiBJQ29uc3RydWN0W10ge1xuXG4gICAgY29uc3QgZm91bmQgPSBuZXcgU2V0PERlcGVuZGVuY3lWZXJ0ZXg+KCk7XG4gICAgY29uc3QgdG9wb2xvZ3k6IERlcGVuZGVuY3lWZXJ0ZXhbXSA9IFtdO1xuXG4gICAgZnVuY3Rpb24gdmlzaXQobjogRGVwZW5kZW5jeVZlcnRleCkge1xuICAgICAgZm9yIChjb25zdCBjIG9mIG4ub3V0Ym91bmQpIHtcbiAgICAgICAgdmlzaXQoYyk7XG4gICAgICB9XG4gICAgICBpZiAoIWZvdW5kLmhhcyhuKSkge1xuICAgICAgICB0b3BvbG9neS5wdXNoKG4pO1xuICAgICAgICBmb3VuZC5hZGQobik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmlzaXQodGhpcyk7XG5cbiAgICByZXR1cm4gdG9wb2xvZ3kuZmlsdGVyKGQgPT4gZC52YWx1ZSkubWFwKGQgPT4gZC52YWx1ZSEpO1xuXG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHZlcnRleCBhcyBhIGRlcGVuZGVuY3kgb2YgdGhlIGN1cnJlbnQgbm9kZS5cbiAgICogQWxzbyB1cGRhdGVzIHRoZSBwYXJlbnRzIG9mIGBkZXBgLCBzbyB0aGF0IGl0IGNvbnRhaW5zIHRoaXMgbm9kZSBhcyBhIHBhcmVudC5cbiAgICpcbiAgICogVGhpcyBvcGVyYXRpb24gd2lsbCBmYWlsIGluIGNhc2UgaXQgY3JlYXRlcyBhIGN5Y2xlIGluIHRoZSBncmFwaC5cbiAgICpcbiAgICogQHBhcmFtIGRlcCBUaGUgZGVwZW5kZW5jeVxuICAgKi9cbiAgcHVibGljIGFkZENoaWxkKGRlcDogRGVwZW5kZW5jeVZlcnRleCkge1xuXG4gICAgY29uc3QgY3ljbGU6IERlcGVuZGVuY3lWZXJ0ZXhbXSA9IGRlcC5maW5kUm91dGUodGhpcyk7XG4gICAgaWYgKGN5Y2xlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgY3ljbGUucHVzaChkZXApO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXBlbmRlbmN5IGN5Y2xlIGRldGVjdGVkOiAke2N5Y2xlLmZpbHRlcihkID0+IGQudmFsdWUpLm1hcChkID0+IGQudmFsdWUhLm5vZGUucGF0aCkuam9pbignID0+ICcpfWApO1xuICAgIH1cblxuICAgIHRoaXMuX2NoaWxkcmVuLmFkZChkZXApO1xuICAgIGRlcC5hZGRQYXJlbnQodGhpcyk7XG4gIH1cblxuICBwcml2YXRlIGFkZFBhcmVudChkZXA6IERlcGVuZGVuY3lWZXJ0ZXgpIHtcbiAgICB0aGlzLl9wYXJlbnRzLmFkZChkZXApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUm91dGUoZHN0OiBEZXBlbmRlbmN5VmVydGV4KTogRGVwZW5kZW5jeVZlcnRleFtdIHtcblxuICAgIGNvbnN0IHJvdXRlOiBEZXBlbmRlbmN5VmVydGV4W10gPSBbXTtcbiAgICB2aXNpdCh0aGlzKTtcbiAgICByZXR1cm4gcm91dGU7XG5cbiAgICBmdW5jdGlvbiB2aXNpdChuOiBEZXBlbmRlbmN5VmVydGV4KTogYm9vbGVhbiB7XG4gICAgICByb3V0ZS5wdXNoKG4pO1xuICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgICBmb3IgKGNvbnN0IGMgb2Ygbi5vdXRib3VuZCkge1xuICAgICAgICBpZiAoYyA9PT0gZHN0KSB7XG4gICAgICAgICAgcm91dGUucHVzaChjKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBmb3VuZCA9IHZpc2l0KGMpO1xuICAgICAgfVxuICAgICAgaWYgKCFmb3VuZCkge1xuICAgICAgICByb3V0ZS5wb3AoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmb3VuZDtcblxuICAgIH1cblxuICB9XG59XG4iXX0=
package/lib/duration.js CHANGED
@@ -11,13 +11,6 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
11
11
  *
12
12
  */
13
13
  class Duration {
14
- constructor(amount, unit) {
15
- if (amount < 0) {
16
- throw new Error(`Duration amounts cannot be negative. Received: ${amount}`);
17
- }
18
- this.amount = amount;
19
- this.unit = unit;
20
- }
21
14
  /**
22
15
  * Create a Duration representing an amount of milliseconds
23
16
  *
@@ -90,6 +83,13 @@ class Duration {
90
83
  return Number(str);
91
84
  }
92
85
  }
86
+ constructor(amount, unit) {
87
+ if (amount < 0) {
88
+ throw new Error(`Duration amounts cannot be negative. Received: ${amount}`);
89
+ }
90
+ this.amount = amount;
91
+ this.unit = unit;
92
+ }
93
93
  /**
94
94
  * Return the total number of milliseconds in this Duration
95
95
  *
@@ -198,7 +198,7 @@ class Duration {
198
198
  }
199
199
  exports.Duration = Duration;
200
200
  _a = JSII_RTTI_SYMBOL_1;
201
- Duration[_a] = { fqn: "cdk8s.Duration", version: "2.7.102" };
201
+ Duration[_a] = { fqn: "cdk8s.Duration", version: "2.7.104" };
202
202
  class TimeUnit {
203
203
  constructor(label, inMillis) {
204
204
  this.label = label;
@@ -230,4 +230,4 @@ function convert(amount, fromUnit, toUnit, { integral = true }) {
230
230
  }
231
231
  return value;
232
232
  }
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZHVyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFhLFFBQVE7SUFtRm5CLFlBQW9CLE1BQWMsRUFBRSxJQUFjO1FBQ2hELElBQUksTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDN0U7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBekZEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFjO1FBQ2pDLE9BQU8sSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWM7UUFDbEMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBYztRQUNsQyxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFjO1FBQ2hDLE9BQU8sSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQWM7UUFDL0IsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUks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LENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDekMsSUFBSSxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxNQUFNLDhCQUE4QixNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ25FO1FBQ0QsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUNELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUV2RCxNQUFNLEtBQUssR0FBRyxNQUFNLEdBQUcsVUFBVSxDQUFDO0lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsRUFBRTtRQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksTUFBTSxJQUFJLFFBQVEsZ0RBQWdELE1BQU0sR0FBRyxDQUFDLENBQUM7S0FDbEc7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgYSBsZW5ndGggb2YgdGltZS5cbiAqXG4gKiBUaGUgYW1vdW50IGNhbiBiZSBzcGVjaWZpZWQgZWl0aGVyIGFzIGEgbGl0ZXJhbCB2YWx1ZSAoZS5nOiBgMTBgKSB3aGljaFxuICogY2Fubm90IGJlIG5lZ2F0aXZlLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIER1cmF0aW9uIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIER1cmF0aW9uIHJlcHJlc2VudGluZyBhbiBhbW91bnQgb2YgbWlsbGlzZWNvbmRzXG4gICAqXG4gICAqIEBwYXJhbSBhbW91bnQgdGhlIGFtb3VudCBvZiBNaWxsaXNlY29uZHMgdGhlIGBEdXJhdGlvbmAgd2lsbCByZXByZXNlbnQuXG4gICAqIEByZXR1cm5zIGEgbmV3IGBEdXJhdGlvbmAgcmVwcmVzZW50aW5nIGBhbW91bnRgIG1zLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtaWxsaXMoYW1vdW50OiBudW1iZXIpOiBEdXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEdXJhdGlvbihhbW91bnQsIFRpbWVVbml0Lk1pbGxpc2Vjb25kcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gcmVwcmVzZW50aW5nIGFuIGFtb3VudCBvZiBzZWNvbmRzXG4gICAqXG4gICAqIEBwYXJhbSBhbW91bnQgdGhlIGFtb3VudCBvZiBTZWNvbmRzIHRoZSBgRHVyYXRpb25gIHdpbGwgcmVwcmVzZW50LlxuICAgKiBAcmV0dXJucyBhIG5ldyBgRHVyYXRpb25gIHJlcHJlc2VudGluZyBgYW1vdW50YCBTZWNvbmRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzZWNvbmRzKGFtb3VudDogbnVtYmVyKTogRHVyYXRpb24ge1xuICAgIHJldHVybiBuZXcgRHVyYXRpb24oYW1vdW50LCBUaW1lVW5pdC5TZWNvbmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEdXJhdGlvbiByZXByZXNlbnRpbmcgYW4gYW1vdW50IG9mIG1pbnV0ZXNcbiAgICpcbiAgICogQHBhcmFtIGFtb3VudCB0aGUgYW1vdW50IG9mIE1pbnV0ZXMgdGhlIGBEdXJhdGlvbmAgd2lsbCByZXByZXNlbnQuXG4gICAqIEByZXR1cm5zIGEgbmV3IGBEdXJhdGlvbmAgcmVwcmVzZW50aW5nIGBhbW91bnRgIE1pbnV0ZXMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1pbnV0ZXMoYW1vdW50OiBudW1iZXIpOiBEdXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEdXJhdGlvbihhbW91bnQsIFRpbWVVbml0Lk1pbnV0ZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIER1cmF0aW9uIHJlcHJlc2VudGluZyBhbiBhbW91bnQgb2YgaG91cnNcbiAgICpcbiAgICogQHBhcmFtIGFtb3VudCB0aGUgYW1vdW50IG9mIEhvdXJzIHRoZSBgRHVyYXRpb25gIHdpbGwgcmVwcmVzZW50LlxuICAgKiBAcmV0dXJucyBhIG5ldyBgRHVyYXRpb25gIHJlcHJlc2VudGluZyBgYW1vdW50YCBIb3Vycy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG91cnMoYW1vdW50OiBudW1iZXIpOiBEdXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEdXJhdGlvbihhbW91bnQsIFRpbWVVbml0LkhvdXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEdXJhdGlvbiByZXByZXNlbnRpbmcgYW4gYW1vdW50IG9mIGRheXNcbiAgICpcbiAgICogQHBhcmFtIGFtb3VudCB0aGUgYW1vdW50IG9mIERheXMgdGhlIGBEdXJhdGlvbmAgd2lsbCByZXByZXNlbnQuXG4gICAqIEByZXR1cm5zIGEgbmV3IGBEdXJhdGlvbmAgcmVwcmVzZW50aW5nIGBhbW91bnRgIERheXMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRheXMoYW1vdW50OiBudW1iZXIpOiBEdXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEdXJhdGlvbihhbW91bnQsIFRpbWVVbml0LkRheXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIGEgcGVyaW9kIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlIElTTyA4NjAxIHN0YW5kYXJkXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93d3cuaXNvLm9yZy9mci9zdGFuZGFyZC83MDkwNy5odG1sXG4gICAqIEBwYXJhbSBkdXJhdGlvbiBhbiBJU08tZm9ybXR0ZWQgZHVyYXRpb24gdG8gYmUgcGFyc2VkLlxuICAgKiBAcmV0dXJucyB0aGUgcGFyc2VkIGBEdXJhdGlvbmAuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBhcnNlKGR1cmF0aW9uOiBzdHJpbmcpOiBEdXJhdGlvbiB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IGR1cmF0aW9uLm1hdGNoKC9eUFQoPzooXFxkKylEKT8oPzooXFxkKylIKT8oPzooXFxkKylNKT8oPzooXFxkKylTKT8kLyk7XG4gICAgaWYgKCFtYXRjaGVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vdCBhIHZhbGlkIElTTyBkdXJhdGlvbjogJHtkdXJhdGlvbn1gKTtcbiAgICB9XG4gICAgY29uc3QgWywgZGF5cywgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHNdID0gbWF0Y2hlcztcbiAgICBpZiAoIWRheXMgJiYgIWhvdXJzICYmICFtaW51dGVzICYmICFzZWNvbmRzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vdCBhIHZhbGlkIElTTyBkdXJhdGlvbjogJHtkdXJhdGlvbn1gKTtcbiAgICB9XG4gICAgcmV0dXJuIER1cmF0aW9uLm1pbGxpcyhcbiAgICAgIF90b0ludChzZWNvbmRzKSAqIFRpbWVVbml0LlNlY29uZHMuaW5NaWxsaXNcbiAgICAgICsgKF90b0ludChtaW51dGVzKSAqIFRpbWVVbml0Lk1pbnV0ZXMuaW5NaWxsaXMpXG4gICAgICArIChfdG9JbnQoaG91cnMpICogVGltZVVuaXQuSG91cnMuaW5NaWxsaXMpXG4gICAgICArIChfdG9JbnQoZGF5cykgKiBUaW1lVW5pdC5EYXlzLmluTWlsbGlzKSxcbiAgICApO1xuXG4gICAgZnVuY3Rpb24gX3RvSW50KHN0cjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgIGlmICghc3RyKSB7IHJldHVybiAwOyB9XG4gICAgICByZXR1cm4gTnVtYmVyKHN0cik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhbW91bnQ6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB1bml0OiBUaW1lVW5pdDtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGFtb3VudDogbnVtYmVyLCB1bml0OiBUaW1lVW5pdCkge1xuICAgIGlmIChhbW91bnQgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYER1cmF0aW9uIGFtb3VudHMgY2Fubm90IGJlIG5lZ2F0aXZlLiBSZWNlaXZlZDogJHthbW91bnR9YCk7XG4gICAgfVxuXG4gICAgdGhpcy5hbW91bnQgPSBhbW91bnQ7XG4gICAgdGhpcy51bml0ID0gdW5pdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZiBtaWxsaXNlY29uZHMgaW4gdGhpcyBEdXJhdGlvblxuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgb2YgdGhpcyBgRHVyYXRpb25gIGV4cHJlc3NlZCBpbiBNaWxsaXNlY29uZHMuXG4gICAqL1xuICBwdWJsaWMgdG9NaWxsaXNlY29uZHMob3B0czogVGltZUNvbnZlcnNpb25PcHRpb25zID0ge30pOiBudW1iZXIge1xuICAgIHJldHVybiBjb252ZXJ0KHRoaXMuYW1vdW50LCB0aGlzLnVuaXQsIFRpbWVVbml0Lk1pbGxpc2Vjb25kcywgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2Vjb25kcyBpbiB0aGlzIER1cmF0aW9uXG4gICAqXG4gICAqIEByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGlzIGBEdXJhdGlvbmAgZXhwcmVzc2VkIGluIFNlY29uZHMuXG4gICAqL1xuICBwdWJsaWMgdG9TZWNvbmRzKG9wdHM6IFRpbWVDb252ZXJzaW9uT3B0aW9ucyA9IHt9KTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29udmVydCh0aGlzLmFtb3VudCwgdGhpcy51bml0LCBUaW1lVW5pdC5TZWNvbmRzLCBvcHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZiBtaW51dGVzIGluIHRoaXMgRHVyYXRpb25cbiAgICpcbiAgICogQHJldHVybnMgdGhlIHZhbHVlIG9mIHRoaXMgYER1cmF0aW9uYCBleHByZXNzZWQgaW4gTWludXRlcy5cbiAgICovXG4gIHB1YmxpYyB0b01pbnV0ZXMob3B0czogVGltZUNvbnZlcnNpb25PcHRpb25zID0ge30pOiBudW1iZXIge1xuICAgIHJldHVybiBjb252ZXJ0KHRoaXMuYW1vdW50LCB0aGlzLnVuaXQsIFRpbWVVbml0Lk1pbnV0ZXMsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgdG90YWwgbnVtYmVyIG9mIGhvdXJzIGluIHRoaXMgRHVyYXRpb25cbiAgICpcbiAgICogQHJldHVybnMgdGhlIHZhbHVlIG9mIHRoaXMgYER1cmF0aW9uYCBleHByZXNzZWQgaW4gSG91cnMuXG4gICAqL1xuICBwdWJsaWMgdG9Ib3VycyhvcHRzOiBUaW1lQ29udmVyc2lvbk9wdGlvbnMgPSB7fSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNvbnZlcnQodGhpcy5hbW91bnQsIHRoaXMudW5pdCwgVGltZVVuaXQuSG91cnMsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgdG90YWwgbnVtYmVyIG9mIGRheXMgaW4gdGhpcyBEdXJhdGlvblxuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgb2YgdGhpcyBgRHVyYXRpb25gIGV4cHJlc3NlZCBpbiBEYXlzLlxuICAgKi9cbiAgcHVibGljIHRvRGF5cyhvcHRzOiBUaW1lQ29udmVyc2lvbk9wdGlvbnMgPSB7fSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNvbnZlcnQodGhpcy5hbW91bnQsIHRoaXMudW5pdCwgVGltZVVuaXQuRGF5cywgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIElTTyA4NjAxIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgcGVyaW9kXG4gICAqXG4gICAqIEByZXR1cm5zIGEgc3RyaW5nIHN0YXJ0aW5nIHdpdGggJ1BUJyBkZXNjcmliaW5nIHRoZSBwZXJpb2RcbiAgICogQHNlZSBodHRwczovL3d3dy5pc28ub3JnL2ZyL3N0YW5kYXJkLzcwOTA3Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0lzb1N0cmluZygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmFtb3VudCA9PT0gMCkgeyByZXR1cm4gJ1BUMFMnOyB9XG4gICAgc3dpdGNoICh0aGlzLnVuaXQpIHtcbiAgICAgIGNhc2UgVGltZVVuaXQuU2Vjb25kczogcmV0dXJuIGBQVCR7dGhpcy5mcmFjdGlvbkR1cmF0aW9uKCdTJywgNjAsIER1cmF0aW9uLm1pbnV0ZXMpfWA7XG4gICAgICBjYXNlIFRpbWVVbml0Lk1pbnV0ZXM6IHJldHVybiBgUFQke3RoaXMuZnJhY3Rpb25EdXJhdGlvbignTScsIDYwLCBEdXJhdGlvbi5ob3Vycyl9YDtcbiAgICAgIGNhc2UgVGltZVVuaXQuSG91cnM6IHJldHVybiBgUFQke3RoaXMuZnJhY3Rpb25EdXJhdGlvbignSCcsIDI0LCBEdXJhdGlvbi5kYXlzKX1gO1xuICAgICAgY2FzZSBUaW1lVW5pdC5EYXlzOiByZXR1cm4gYFBUJHt0aGlzLmFtb3VudH1EYDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCB0aW1lIHVuaXQ6ICR7dGhpcy51bml0fWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUdXJuIHRoaXMgZHVyYXRpb24gaW50byBhIGh1bWFuLXJlYWRhYmxlIHN0cmluZ1xuICAgKi9cbiAgcHVibGljIHRvSHVtYW5TdHJpbmcoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5hbW91bnQgPT09IDApIHsgcmV0dXJuIGZtdFVuaXQoMCwgdGhpcy51bml0KTsgfVxuXG4gICAgbGV0IG1pbGxpcyA9IGNvbnZlcnQodGhpcy5hbW91bnQsIHRoaXMudW5pdCwgVGltZVVuaXQuTWlsbGlzZWNvbmRzLCB7IGludGVncmFsOiBmYWxzZSB9KTtcbiAgICBjb25zdCBwYXJ0cyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgICBmb3IgKGNvbnN0IHVuaXQgb2YgW1RpbWVVbml0LkRheXMsIFRpbWVVbml0LkhvdXJzLCBUaW1lVW5pdC5Ib3VycywgVGltZVVuaXQuTWludXRlcywgVGltZVVuaXQuU2Vjb25kc10pIHtcbiAgICAgIGNvbnN0IHdob2xlQ291bnQgPSBNYXRoLmZsb29yKGNvbnZlcnQobWlsbGlzLCBUaW1lVW5pdC5NaWxsaXNlY29uZHMsIHVuaXQsIHsgaW50ZWdyYWw6IGZhbHNlIH0pKTtcbiAgICAgIGlmICh3aG9sZUNvdW50ID4gMCkge1xuICAgICAgICBwYXJ0cy5wdXNoKGZtdFVuaXQod2hvbGVDb3VudCwgdW5pdCkpO1xuICAgICAgICBtaWxsaXMgLT0gd2hvbGVDb3VudCAqIHVuaXQuaW5NaWxsaXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtYWluZGVyIGluIG1pbGxpc1xuICAgIGlmIChtaWxsaXMgPiAwKSB7XG4gICAgICBwYXJ0cy5wdXNoKGZtdFVuaXQobWlsbGlzLCBUaW1lVW5pdC5NaWxsaXNlY29uZHMpKTtcbiAgICB9XG5cbiAgICAvLyAyIHNpZ25pZmljYW50IHBhcnRzLCB0aGF0J3MgdG90YWxseSBlbm91Z2ggZm9yIGh1bWFuc1xuICAgIHJldHVybiBwYXJ0cy5zbGljZSgwLCAyKS5qb2luKCcgJyk7XG5cbiAgICBmdW5jdGlvbiBmbXRVbml0KGFtb3VudDogbnVtYmVyLCB1bml0OiBUaW1lVW5pdCkge1xuICAgICAgaWYgKGFtb3VudCA9PT0gMSkge1xuICAgICAgICAvLyBBbGwgb2YgdGhlIGxhYmVscyBlbmQgaW4gJ3MnXG4gICAgICAgIHJldHVybiBgJHthbW91bnR9ICR7dW5pdC5sYWJlbC5zdWJzdHJpbmcoMCwgdW5pdC5sYWJlbC5sZW5ndGggLSAxKX1gO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGAke2Ftb3VudH0gJHt1bml0LmxhYmVsfWA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB1bml0IG9mIER1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgdW5pdExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudW5pdC50b1N0cmluZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBmcmFjdGlvbkR1cmF0aW9uKHN5bWJvbDogc3RyaW5nLCBtb2R1bHVzOiBudW1iZXIsIG5leHQ6IChhbW91bnQ6IG51bWJlcikgPT4gRHVyYXRpb24pOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmFtb3VudCA8IG1vZHVsdXMpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmFtb3VudH0ke3N5bWJvbH1gO1xuICAgIH1cbiAgICBjb25zdCByZW1haW5kZXIgPSB0aGlzLmFtb3VudCAlIG1vZHVsdXM7XG4gICAgY29uc3QgcXVvdGllbnQgPSBuZXh0KCh0aGlzLmFtb3VudCAtIHJlbWFpbmRlcikgLyBtb2R1bHVzKS50b0lzb1N0cmluZygpLnNsaWNlKDIpO1xuICAgIHJldHVybiByZW1haW5kZXIgPiAwXG4gICAgICA/IGAke3F1b3RpZW50fSR7cmVtYWluZGVyfSR7c3ltYm9sfWBcbiAgICAgIDogcXVvdGllbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBob3cgdG8gY29udmVydCB0aW1lIHRvIGEgZGlmZmVyZW50IHVuaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGltZUNvbnZlcnNpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgY29udmVyc2lvbnMgaW50byBhIGxhcmdlciB0aW1lIHVuaXQgKGUuZy4gYFNlY29uZHNgIHRvIGBNaW51dGVzYCkgd2lsbCBmYWlsIGlmIHRoZSByZXN1bHQgaXMgbm90IGFuXG4gICAqIGludGVnZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGludGVncmFsPzogYm9vbGVhbjtcbn1cblxuY2xhc3MgVGltZVVuaXQge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1pbGxpc2Vjb25kcyA9IG5ldyBUaW1lVW5pdCgnbWlsbGlzJywgMSk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU2Vjb25kcyA9IG5ldyBUaW1lVW5pdCgnc2Vjb25kcycsIDFfMDAwKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBNaW51dGVzID0gbmV3IFRpbWVVbml0KCdtaW51dGVzJywgNjBfMDAwKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBIb3VycyA9IG5ldyBUaW1lVW5pdCgnaG91cnMnLCAzXzYwMF8wMDApO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERheXMgPSBuZXcgVGltZVVuaXQoJ2RheXMnLCA4Nl80MDBfMDAwKTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBsYWJlbDogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgaW5NaWxsaXM6IG51bWJlcikge1xuICAgIC8vIE1BWF9TQUZFX0lOVEVHRVIgaXMgMl41Mywgc28gYnkgcmVwcmVzZW50aW5nIG91ciBkdXJhdGlvbiBpbiBtaWxsaXMgKHRoZSBsb3dlc3RcbiAgICAvLyBjb21tb24gdW5pdCkgdGhlIGhpZ2hlc3QgZHVyYXRpb24gd2UgY2FuIHJlcHJlc2VudCBpc1xuICAgIC8vIDJeNTMgLyA4NioxMF42IH49IDEwNCAqIDEwXjYgZGF5cyAoYWJvdXQgMTAwIG1pbGxpb24gZGF5cykuXG4gIH1cblxuICBwdWJsaWMgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWw7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29udmVydChhbW91bnQ6IG51bWJlciwgZnJvbVVuaXQ6IFRpbWVVbml0LCB0b1VuaXQ6IFRpbWVVbml0LCB7IGludGVncmFsID0gdHJ1ZSB9OiBUaW1lQ29udmVyc2lvbk9wdGlvbnMpIHtcbiAgaWYgKGZyb21Vbml0LmluTWlsbGlzID09PSB0b1VuaXQuaW5NaWxsaXMpIHtcbiAgICBpZiAoaW50ZWdyYWwgJiYgIU51bWJlci5pc0ludGVnZXIoYW1vdW50KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2Ftb3VudH0gbXVzdCBiZSBhIHdob2xlIG51bWJlciBvZiAke3RvVW5pdH0uYCk7XG4gICAgfVxuICAgIHJldHVybiBhbW91bnQ7XG4gIH1cbiAgY29uc3QgbXVsdGlwbGllciA9IGZyb21Vbml0LmluTWlsbGlzIC8gdG9Vbml0LmluTWlsbGlzO1xuXG4gIGNvbnN0IHZhbHVlID0gYW1vdW50ICogbXVsdGlwbGllcjtcbiAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSAmJiBpbnRlZ3JhbCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJyR7YW1vdW50fSAke2Zyb21Vbml0fScgY2Fubm90IGJlIGNvbnZlcnRlZCBpbnRvIGEgd2hvbGUgbnVtYmVyIG9mICR7dG9Vbml0fS5gKTtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59Il19
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZHVyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFhLFFBQVE7SUFDbkI7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQWM7UUFDakMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBYztRQUNsQyxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFjO1FBQ2xDLE9BQU8sSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQWM7UUFDaEMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBYztRQUMvQixPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBZ0I7UUFDbEMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixRQUFRLEVBQUUsQ0FBQyxD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QUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ3pDLElBQUksUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsTUFBTSw4QkFBOEIsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNuRTtRQUNELE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFDRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFFdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxHQUFHLFVBQVUsQ0FBQztJQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLEVBQUU7UUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLE1BQU0sSUFBSSxRQUFRLGdEQUFnRCxNQUFNLEdBQUcsQ0FBQyxDQUFDO0tBQ2xHO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXByZXNlbnRzIGEgbGVuZ3RoIG9mIHRpbWUuXG4gKlxuICogVGhlIGFtb3VudCBjYW4gYmUgc3BlY2lmaWVkIGVpdGhlciBhcyBhIGxpdGVyYWwgdmFsdWUgKGUuZzogYDEwYCkgd2hpY2hcbiAqIGNhbm5vdCBiZSBuZWdhdGl2ZS5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBEdXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEdXJhdGlvbiByZXByZXNlbnRpbmcgYW4gYW1vdW50IG9mIG1pbGxpc2Vjb25kc1xuICAgKlxuICAgKiBAcGFyYW0gYW1vdW50IHRoZSBhbW91bnQgb2YgTWlsbGlzZWNvbmRzIHRoZSBgRHVyYXRpb25gIHdpbGwgcmVwcmVzZW50LlxuICAgKiBAcmV0dXJucyBhIG5ldyBgRHVyYXRpb25gIHJlcHJlc2VudGluZyBgYW1vdW50YCBtcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWlsbGlzKGFtb3VudDogbnVtYmVyKTogRHVyYXRpb24ge1xuICAgIHJldHVybiBuZXcgRHVyYXRpb24oYW1vdW50LCBUaW1lVW5pdC5NaWxsaXNlY29uZHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIER1cmF0aW9uIHJlcHJlc2VudGluZyBhbiBhbW91bnQgb2Ygc2Vjb25kc1xuICAgKlxuICAgKiBAcGFyYW0gYW1vdW50IHRoZSBhbW91bnQgb2YgU2Vjb25kcyB0aGUgYER1cmF0aW9uYCB3aWxsIHJlcHJlc2VudC5cbiAgICogQHJldHVybnMgYSBuZXcgYER1cmF0aW9uYCByZXByZXNlbnRpbmcgYGFtb3VudGAgU2Vjb25kcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2Vjb25kcyhhbW91bnQ6IG51bWJlcik6IER1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IER1cmF0aW9uKGFtb3VudCwgVGltZVVuaXQuU2Vjb25kcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gcmVwcmVzZW50aW5nIGFuIGFtb3VudCBvZiBtaW51dGVzXG4gICAqXG4gICAqIEBwYXJhbSBhbW91bnQgdGhlIGFtb3VudCBvZiBNaW51dGVzIHRoZSBgRHVyYXRpb25gIHdpbGwgcmVwcmVzZW50LlxuICAgKiBAcmV0dXJucyBhIG5ldyBgRHVyYXRpb25gIHJlcHJlc2VudGluZyBgYW1vdW50YCBNaW51dGVzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtaW51dGVzKGFtb3VudDogbnVtYmVyKTogRHVyYXRpb24ge1xuICAgIHJldHVybiBuZXcgRHVyYXRpb24oYW1vdW50LCBUaW1lVW5pdC5NaW51dGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEdXJhdGlvbiByZXByZXNlbnRpbmcgYW4gYW1vdW50IG9mIGhvdXJzXG4gICAqXG4gICAqIEBwYXJhbSBhbW91bnQgdGhlIGFtb3VudCBvZiBIb3VycyB0aGUgYER1cmF0aW9uYCB3aWxsIHJlcHJlc2VudC5cbiAgICogQHJldHVybnMgYSBuZXcgYER1cmF0aW9uYCByZXByZXNlbnRpbmcgYGFtb3VudGAgSG91cnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvdXJzKGFtb3VudDogbnVtYmVyKTogRHVyYXRpb24ge1xuICAgIHJldHVybiBuZXcgRHVyYXRpb24oYW1vdW50LCBUaW1lVW5pdC5Ib3Vycyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgRHVyYXRpb24gcmVwcmVzZW50aW5nIGFuIGFtb3VudCBvZiBkYXlzXG4gICAqXG4gICAqIEBwYXJhbSBhbW91bnQgdGhlIGFtb3VudCBvZiBEYXlzIHRoZSBgRHVyYXRpb25gIHdpbGwgcmVwcmVzZW50LlxuICAgKiBAcmV0dXJucyBhIG5ldyBgRHVyYXRpb25gIHJlcHJlc2VudGluZyBgYW1vdW50YCBEYXlzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkYXlzKGFtb3VudDogbnVtYmVyKTogRHVyYXRpb24ge1xuICAgIHJldHVybiBuZXcgRHVyYXRpb24oYW1vdW50LCBUaW1lVW5pdC5EYXlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhIHBlcmlvZCBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBJU08gODYwMSBzdGFuZGFyZFxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd3d3Lmlzby5vcmcvZnIvc3RhbmRhcmQvNzA5MDcuaHRtbFxuICAgKiBAcGFyYW0gZHVyYXRpb24gYW4gSVNPLWZvcm10dGVkIGR1cmF0aW9uIHRvIGJlIHBhcnNlZC5cbiAgICogQHJldHVybnMgdGhlIHBhcnNlZCBgRHVyYXRpb25gLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwYXJzZShkdXJhdGlvbjogc3RyaW5nKTogRHVyYXRpb24ge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBkdXJhdGlvbi5tYXRjaCgvXlBUKD86KFxcZCspRCk/KD86KFxcZCspSCk/KD86KFxcZCspTSk/KD86KFxcZCspUyk/JC8pO1xuICAgIGlmICghbWF0Y2hlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgYSB2YWxpZCBJU08gZHVyYXRpb246ICR7ZHVyYXRpb259YCk7XG4gICAgfVxuICAgIGNvbnN0IFssIGRheXMsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzXSA9IG1hdGNoZXM7XG4gICAgaWYgKCFkYXlzICYmICFob3VycyAmJiAhbWludXRlcyAmJiAhc2Vjb25kcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgYSB2YWxpZCBJU08gZHVyYXRpb246ICR7ZHVyYXRpb259YCk7XG4gICAgfVxuICAgIHJldHVybiBEdXJhdGlvbi5taWxsaXMoXG4gICAgICBfdG9JbnQoc2Vjb25kcykgKiBUaW1lVW5pdC5TZWNvbmRzLmluTWlsbGlzXG4gICAgICArIChfdG9JbnQobWludXRlcykgKiBUaW1lVW5pdC5NaW51dGVzLmluTWlsbGlzKVxuICAgICAgKyAoX3RvSW50KGhvdXJzKSAqIFRpbWVVbml0LkhvdXJzLmluTWlsbGlzKVxuICAgICAgKyAoX3RvSW50KGRheXMpICogVGltZVVuaXQuRGF5cy5pbk1pbGxpcyksXG4gICAgKTtcblxuICAgIGZ1bmN0aW9uIF90b0ludChzdHI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICBpZiAoIXN0cikgeyByZXR1cm4gMDsgfVxuICAgICAgcmV0dXJuIE51bWJlcihzdHIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgYW1vdW50OiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgdW5pdDogVGltZVVuaXQ7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihhbW91bnQ6IG51bWJlciwgdW5pdDogVGltZVVuaXQpIHtcbiAgICBpZiAoYW1vdW50IDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEdXJhdGlvbiBhbW91bnRzIGNhbm5vdCBiZSBuZWdhdGl2ZS4gUmVjZWl2ZWQ6ICR7YW1vdW50fWApO1xuICAgIH1cblxuICAgIHRoaXMuYW1vdW50ID0gYW1vdW50O1xuICAgIHRoaXMudW5pdCA9IHVuaXQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGluIHRoaXMgRHVyYXRpb25cbiAgICpcbiAgICogQHJldHVybnMgdGhlIHZhbHVlIG9mIHRoaXMgYER1cmF0aW9uYCBleHByZXNzZWQgaW4gTWlsbGlzZWNvbmRzLlxuICAgKi9cbiAgcHVibGljIHRvTWlsbGlzZWNvbmRzKG9wdHM6IFRpbWVDb252ZXJzaW9uT3B0aW9ucyA9IHt9KTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29udmVydCh0aGlzLmFtb3VudCwgdGhpcy51bml0LCBUaW1lVW5pdC5NaWxsaXNlY29uZHMsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgdG90YWwgbnVtYmVyIG9mIHNlY29uZHMgaW4gdGhpcyBEdXJhdGlvblxuICAgKlxuICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgb2YgdGhpcyBgRHVyYXRpb25gIGV4cHJlc3NlZCBpbiBTZWNvbmRzLlxuICAgKi9cbiAgcHVibGljIHRvU2Vjb25kcyhvcHRzOiBUaW1lQ29udmVyc2lvbk9wdGlvbnMgPSB7fSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNvbnZlcnQodGhpcy5hbW91bnQsIHRoaXMudW5pdCwgVGltZVVuaXQuU2Vjb25kcywgb3B0cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2YgbWludXRlcyBpbiB0aGlzIER1cmF0aW9uXG4gICAqXG4gICAqIEByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGlzIGBEdXJhdGlvbmAgZXhwcmVzc2VkIGluIE1pbnV0ZXMuXG4gICAqL1xuICBwdWJsaWMgdG9NaW51dGVzKG9wdHM6IFRpbWVDb252ZXJzaW9uT3B0aW9ucyA9IHt9KTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29udmVydCh0aGlzLmFtb3VudCwgdGhpcy51bml0LCBUaW1lVW5pdC5NaW51dGVzLCBvcHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZiBob3VycyBpbiB0aGlzIER1cmF0aW9uXG4gICAqXG4gICAqIEByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGlzIGBEdXJhdGlvbmAgZXhwcmVzc2VkIGluIEhvdXJzLlxuICAgKi9cbiAgcHVibGljIHRvSG91cnMob3B0czogVGltZUNvbnZlcnNpb25PcHRpb25zID0ge30pOiBudW1iZXIge1xuICAgIHJldHVybiBjb252ZXJ0KHRoaXMuYW1vdW50LCB0aGlzLnVuaXQsIFRpbWVVbml0LkhvdXJzLCBvcHRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZiBkYXlzIGluIHRoaXMgRHVyYXRpb25cbiAgICpcbiAgICogQHJldHVybnMgdGhlIHZhbHVlIG9mIHRoaXMgYER1cmF0aW9uYCBleHByZXNzZWQgaW4gRGF5cy5cbiAgICovXG4gIHB1YmxpYyB0b0RheXMob3B0czogVGltZUNvbnZlcnNpb25PcHRpb25zID0ge30pOiBudW1iZXIge1xuICAgIHJldHVybiBjb252ZXJ0KHRoaXMuYW1vdW50LCB0aGlzLnVuaXQsIFRpbWVVbml0LkRheXMsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBJU08gODYwMSByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHBlcmlvZFxuICAgKlxuICAgKiBAcmV0dXJucyBhIHN0cmluZyBzdGFydGluZyB3aXRoICdQVCcgZGVzY3JpYmluZyB0aGUgcGVyaW9kXG4gICAqIEBzZWUgaHR0cHM6Ly93d3cuaXNvLm9yZy9mci9zdGFuZGFyZC83MDkwNy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9Jc29TdHJpbmcoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5hbW91bnQgPT09IDApIHsgcmV0dXJuICdQVDBTJzsgfVxuICAgIHN3aXRjaCAodGhpcy51bml0KSB7XG4gICAgICBjYXNlIFRpbWVVbml0LlNlY29uZHM6IHJldHVybiBgUFQke3RoaXMuZnJhY3Rpb25EdXJhdGlvbignUycsIDYwLCBEdXJhdGlvbi5taW51dGVzKX1gO1xuICAgICAgY2FzZSBUaW1lVW5pdC5NaW51dGVzOiByZXR1cm4gYFBUJHt0aGlzLmZyYWN0aW9uRHVyYXRpb24oJ00nLCA2MCwgRHVyYXRpb24uaG91cnMpfWA7XG4gICAgICBjYXNlIFRpbWVVbml0LkhvdXJzOiByZXR1cm4gYFBUJHt0aGlzLmZyYWN0aW9uRHVyYXRpb24oJ0gnLCAyNCwgRHVyYXRpb24uZGF5cyl9YDtcbiAgICAgIGNhc2UgVGltZVVuaXQuRGF5czogcmV0dXJuIGBQVCR7dGhpcy5hbW91bnR9RGA7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdGltZSB1bml0OiAke3RoaXMudW5pdH1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHVybiB0aGlzIGR1cmF0aW9uIGludG8gYSBodW1hbi1yZWFkYWJsZSBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyB0b0h1bWFuU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuYW1vdW50ID09PSAwKSB7IHJldHVybiBmbXRVbml0KDAsIHRoaXMudW5pdCk7IH1cblxuICAgIGxldCBtaWxsaXMgPSBjb252ZXJ0KHRoaXMuYW1vdW50LCB0aGlzLnVuaXQsIFRpbWVVbml0Lk1pbGxpc2Vjb25kcywgeyBpbnRlZ3JhbDogZmFsc2UgfSk7XG4gICAgY29uc3QgcGFydHMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgZm9yIChjb25zdCB1bml0IG9mIFtUaW1lVW5pdC5EYXlzLCBUaW1lVW5pdC5Ib3VycywgVGltZVVuaXQuSG91cnMsIFRpbWVVbml0Lk1pbnV0ZXMsIFRpbWVVbml0LlNlY29uZHNdKSB7XG4gICAgICBjb25zdCB3aG9sZUNvdW50ID0gTWF0aC5mbG9vcihjb252ZXJ0KG1pbGxpcywgVGltZVVuaXQuTWlsbGlzZWNvbmRzLCB1bml0LCB7IGludGVncmFsOiBmYWxzZSB9KSk7XG4gICAgICBpZiAod2hvbGVDb3VudCA+IDApIHtcbiAgICAgICAgcGFydHMucHVzaChmbXRVbml0KHdob2xlQ291bnQsIHVuaXQpKTtcbiAgICAgICAgbWlsbGlzIC09IHdob2xlQ291bnQgKiB1bml0LmluTWlsbGlzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbWFpbmRlciBpbiBtaWxsaXNcbiAgICBpZiAobWlsbGlzID4gMCkge1xuICAgICAgcGFydHMucHVzaChmbXRVbml0KG1pbGxpcywgVGltZVVuaXQuTWlsbGlzZWNvbmRzKSk7XG4gICAgfVxuXG4gICAgLy8gMiBzaWduaWZpY2FudCBwYXJ0cywgdGhhdCdzIHRvdGFsbHkgZW5vdWdoIGZvciBodW1hbnNcbiAgICByZXR1cm4gcGFydHMuc2xpY2UoMCwgMikuam9pbignICcpO1xuXG4gICAgZnVuY3Rpb24gZm10VW5pdChhbW91bnQ6IG51bWJlciwgdW5pdDogVGltZVVuaXQpIHtcbiAgICAgIGlmIChhbW91bnQgPT09IDEpIHtcbiAgICAgICAgLy8gQWxsIG9mIHRoZSBsYWJlbHMgZW5kIGluICdzJ1xuICAgICAgICByZXR1cm4gYCR7YW1vdW50fSAke3VuaXQubGFiZWwuc3Vic3RyaW5nKDAsIHVuaXQubGFiZWwubGVuZ3RoIC0gMSl9YDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgJHthbW91bnR9ICR7dW5pdC5sYWJlbH1gO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdW5pdCBvZiBEdXJhdGlvblxuICAgKi9cbiAgcHVibGljIHVuaXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnVuaXQudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgZnJhY3Rpb25EdXJhdGlvbihzeW1ib2w6IHN0cmluZywgbW9kdWx1czogbnVtYmVyLCBuZXh0OiAoYW1vdW50OiBudW1iZXIpID0+IER1cmF0aW9uKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5hbW91bnQgPCBtb2R1bHVzKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5hbW91bnR9JHtzeW1ib2x9YDtcbiAgICB9XG4gICAgY29uc3QgcmVtYWluZGVyID0gdGhpcy5hbW91bnQgJSBtb2R1bHVzO1xuICAgIGNvbnN0IHF1b3RpZW50ID0gbmV4dCgodGhpcy5hbW91bnQgLSByZW1haW5kZXIpIC8gbW9kdWx1cykudG9Jc29TdHJpbmcoKS5zbGljZSgyKTtcbiAgICByZXR1cm4gcmVtYWluZGVyID4gMFxuICAgICAgPyBgJHtxdW90aWVudH0ke3JlbWFpbmRlcn0ke3N5bWJvbH1gXG4gICAgICA6IHF1b3RpZW50O1xuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgaG93IHRvIGNvbnZlcnQgdGltZSB0byBhIGRpZmZlcmVudCB1bml0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVDb252ZXJzaW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIGNvbnZlcnNpb25zIGludG8gYSBsYXJnZXIgdGltZSB1bml0IChlLmcuIGBTZWNvbmRzYCB0byBgTWludXRlc2ApIHdpbGwgZmFpbCBpZiB0aGUgcmVzdWx0IGlzIG5vdCBhblxuICAgKiBpbnRlZ2VyLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBpbnRlZ3JhbD86IGJvb2xlYW47XG59XG5cbmNsYXNzIFRpbWVVbml0IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBNaWxsaXNlY29uZHMgPSBuZXcgVGltZVVuaXQoJ21pbGxpcycsIDEpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNlY29uZHMgPSBuZXcgVGltZVVuaXQoJ3NlY29uZHMnLCAxXzAwMCk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTWludXRlcyA9IG5ldyBUaW1lVW5pdCgnbWludXRlcycsIDYwXzAwMCk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSG91cnMgPSBuZXcgVGltZVVuaXQoJ2hvdXJzJywgM182MDBfMDAwKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEYXlzID0gbmV3IFRpbWVVbml0KCdkYXlzJywgODZfNDAwXzAwMCk7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbGFiZWw6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IGluTWlsbGlzOiBudW1iZXIpIHtcbiAgICAvLyBNQVhfU0FGRV9JTlRFR0VSIGlzIDJeNTMsIHNvIGJ5IHJlcHJlc2VudGluZyBvdXIgZHVyYXRpb24gaW4gbWlsbGlzICh0aGUgbG93ZXN0XG4gICAgLy8gY29tbW9uIHVuaXQpIHRoZSBoaWdoZXN0IGR1cmF0aW9uIHdlIGNhbiByZXByZXNlbnQgaXNcbiAgICAvLyAyXjUzIC8gODYqMTBeNiB+PSAxMDQgKiAxMF42IGRheXMgKGFib3V0IDEwMCBtaWxsaW9uIGRheXMpLlxuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnQoYW1vdW50OiBudW1iZXIsIGZyb21Vbml0OiBUaW1lVW5pdCwgdG9Vbml0OiBUaW1lVW5pdCwgeyBpbnRlZ3JhbCA9IHRydWUgfTogVGltZUNvbnZlcnNpb25PcHRpb25zKSB7XG4gIGlmIChmcm9tVW5pdC5pbk1pbGxpcyA9PT0gdG9Vbml0LmluTWlsbGlzKSB7XG4gICAgaWYgKGludGVncmFsICYmICFOdW1iZXIuaXNJbnRlZ2VyKGFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHthbW91bnR9IG11c3QgYmUgYSB3aG9sZSBudW1iZXIgb2YgJHt0b1VuaXR9LmApO1xuICAgIH1cbiAgICByZXR1cm4gYW1vdW50O1xuICB9XG4gIGNvbnN0IG11bHRpcGxpZXIgPSBmcm9tVW5pdC5pbk1pbGxpcyAvIHRvVW5pdC5pbk1pbGxpcztcblxuICBjb25zdCB2YWx1ZSA9IGFtb3VudCAqIG11bHRpcGxpZXI7XG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSkgJiYgaW50ZWdyYWwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCcke2Ftb3VudH0gJHtmcm9tVW5pdH0nIGNhbm5vdCBiZSBjb252ZXJ0ZWQgaW50byBhIHdob2xlIG51bWJlciBvZiAke3RvVW5pdH0uYCk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufSJdfQ==
package/lib/helm.js CHANGED
@@ -54,7 +54,7 @@ class Helm extends include_1.Include {
54
54
  }
55
55
  exports.Helm = Helm;
56
56
  _a = JSII_RTTI_SYMBOL_1;
57
- Helm[_a] = { fqn: "cdk8s.Helm", version: "2.7.102" };
57
+ Helm[_a] = { fqn: "cdk8s.Helm", version: "2.7.104" };
58
58
  function renderTemplate(workdir, prog, args) {
59
59
  const helm = _child_process_1._child_process.spawnSync(prog, args, {
60
60
  maxBuffer: MAX_HELM_BUFFER,
package/lib/include.js CHANGED
@@ -34,5 +34,5 @@ class Include extends constructs_1.Construct {
34
34
  }
35
35
  exports.Include = Include;
36
36
  _a = JSII_RTTI_SYMBOL_1;
37
- Include[_a] = { fqn: "cdk8s.Include", version: "2.7.102" };
37
+ Include[_a] = { fqn: "cdk8s.Include", version: "2.7.104" };
38
38
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmNsdWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkNBQXVDO0FBQ3ZDLDZDQUF5QztBQUN6QyxpQ0FBOEI7QUFXOUI7Ozs7OztHQU1HO0FBQ0gsTUFBYSxPQUFRLFNBQVEsc0JBQVM7SUFDcEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFtQjtRQUMzRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLFdBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFO1lBQ3pCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUV6RCx3Q0FBd0M7WUFDeEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRyxJQUFJLHNCQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxzQkFBUyxDQUFnQixDQUFDO0lBQy9FLENBQUM7O0FBckJILDBCQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXBpT2JqZWN0IH0gZnJvbSAnLi9hcGktb2JqZWN0JztcbmltcG9ydCB7IFlhbWwgfSBmcm9tICcuL3lhbWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluY2x1ZGVQcm9wcyB7XG4gIC8qKlxuICAgKiBMb2NhbCBmaWxlIHBhdGggb3IgVVJMIHdoaWNoIGluY2x1ZGVzIGEgS3ViZXJuZXRlcyBZQU1MIG1hbmlmZXN0LlxuICAgKlxuICAgKiBAZXhhbXBsZSBteW1hbmlmZXN0LnlhbWxcbiAgICovXG4gIHJlYWRvbmx5IHVybDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlYWRzIGEgWUFNTCBtYW5pZmVzdCBmcm9tIGEgZmlsZSBvciBhIFVSTCBhbmQgZGVmaW5lcyBhbGwgcmVzb3VyY2VzIGFzIEFQSVxuICogb2JqZWN0cyB3aXRoaW4gdGhlIGRlZmluZWQgc2NvcGUuXG4gKlxuICogVGhlIG5hbWVzIChgbWV0YWRhdGEubmFtZWApIG9mIGltcG9ydGVkIHJlc291cmNlcyB3aWxsIGJlIHByZXNlcnZlZCBhcy1pc1xuICogZnJvbSB0aGUgbWFuaWZlc3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmNsdWRlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEluY2x1ZGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBvYmplY3RzID0gWWFtbC5sb2FkKHByb3BzLnVybCk7XG5cbiAgICBsZXQgb3JkZXIgPSAwO1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIG9iamVjdHMpIHtcbiAgICAgIGNvbnN0IG9iam5hbWUgPSBvYmoubWV0YWRhdGE/Lm5hbWUgPz8gYG9iamVjdCR7b3JkZXIrK31gO1xuXG4gICAgICAvLyByZW5kZXIgYW4gaWQ6IG5hbWVbLWtpbmRdWy1uYW1lc3BhY2VdXG4gICAgICBjb25zdCBvYmppZCA9IFtvYmpuYW1lLCBvYmoua2luZD8udG9Mb3dlckNhc2UoKSwgb2JqLm1ldGFkYXRhPy5uYW1lc3BhY2VdLmZpbHRlcih4ID0+IHgpLmpvaW4oJy0nKTtcbiAgICAgIG5ldyBBcGlPYmplY3QodGhpcywgb2JqaWQsIG9iaik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIHRoZSBpbmNsdWRlZCBBUEkgb2JqZWN0cy5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXBpT2JqZWN0cygpOiBBcGlPYmplY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZS5jaGlsZHJlbi5maWx0ZXIobyA9PiBvIGluc3RhbmNlb2YgQXBpT2JqZWN0KSBhcyBBcGlPYmplY3RbXTtcbiAgfVxufVxuIl19
package/lib/index.js CHANGED
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("./api-object"), exports);
@@ -25,4 +29,4 @@ __exportStar(require("./json-patch"), exports);
25
29
  __exportStar(require("./duration"), exports);
26
30
  __exportStar(require("./cron"), exports);
27
31
  __exportStar(require("./size"), exports);
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCO0FBQzdCLDBDQUF3QjtBQUN4QiwrQ0FBNkI7QUFDN0IsNENBQTBCO0FBQzFCLHdDQUFzQjtBQUN0Qiw0Q0FBMEI7QUFDMUIseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQix5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLHlDQUF1QjtBQUN2QiwrQ0FBNkI7QUFDN0IsNkNBQTJCO0FBQzNCLHlDQUF1QjtBQUN2Qix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwaS1vYmplY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydCc7XG5leHBvcnQgKiBmcm9tICcuL2RlcGVuZGVuY3knO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwJztcbmV4cG9ydCAqIGZyb20gJy4vaW5jbHVkZSc7XG5leHBvcnQgKiBmcm9tICcuL3lhbWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRhZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xhenknO1xuZXhwb3J0ICogZnJvbSAnLi9uYW1lcyc7XG5leHBvcnQgKiBmcm9tICcuL2hlbG0nO1xuZXhwb3J0ICogZnJvbSAnLi9qc29uLXBhdGNoJztcbmV4cG9ydCAqIGZyb20gJy4vZHVyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jcm9uJztcbmV4cG9ydCAqIGZyb20gJy4vc2l6ZSc7Il19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3QiwwQ0FBd0I7QUFDeEIsK0NBQTZCO0FBQzdCLDRDQUEwQjtBQUMxQix3Q0FBc0I7QUFDdEIsNENBQTBCO0FBQzFCLHlDQUF1QjtBQUN2Qiw2Q0FBMkI7QUFDM0IseUNBQXVCO0FBQ3ZCLDBDQUF3QjtBQUN4Qix5Q0FBdUI7QUFDdkIsK0NBQTZCO0FBQzdCLDZDQUEyQjtBQUMzQix5Q0FBdUI7QUFDdkIseUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcGktb2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXBlbmRlbmN5JztcbmV4cG9ydCAqIGZyb20gJy4vdGVzdGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2FwcCc7XG5leHBvcnQgKiBmcm9tICcuL2luY2x1ZGUnO1xuZXhwb3J0ICogZnJvbSAnLi95YW1sJztcbmV4cG9ydCAqIGZyb20gJy4vbWV0YWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXp5JztcbmV4cG9ydCAqIGZyb20gJy4vbmFtZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxtJztcbmV4cG9ydCAqIGZyb20gJy4vanNvbi1wYXRjaCc7XG5leHBvcnQgKiBmcm9tICcuL2R1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY3Jvbic7XG5leHBvcnQgKiBmcm9tICcuL3NpemUnOyJdfQ==
package/lib/json-patch.js CHANGED
@@ -22,9 +22,6 @@ const fast_json_patch_1 = require("fast-json-patch");
22
22
  *
23
23
  */
24
24
  class JsonPatch {
25
- constructor(operation) {
26
- this.operation = operation;
27
- }
28
25
  /**
29
26
  * Applies a set of JSON-Patch (RFC-6902) operations to `document` and returns the result.
30
27
  * @param document The document to patch
@@ -32,7 +29,7 @@ class JsonPatch {
32
29
  * @returns The result document
33
30
  */
34
31
  static apply(document, ...ops) {
35
- const result = fast_json_patch_1.applyPatch(document, fast_json_patch_1.deepClone(ops.map(o => o._toJson())));
32
+ const result = (0, fast_json_patch_1.applyPatch)(document, (0, fast_json_patch_1.deepClone)(ops.map(o => o._toJson())));
36
33
  return result.newDocument;
37
34
  }
38
35
  /**
@@ -76,6 +73,9 @@ class JsonPatch {
76
73
  * @example JsonPatch.test('/best_biscuit/name', 'Choco Leibniz')
77
74
  */
78
75
  static test(path, value) { return new JsonPatch({ op: 'test', path, value }); }
76
+ constructor(operation) {
77
+ this.operation = operation;
78
+ }
79
79
  /**
80
80
  * Returns the JSON representation of this JSON patch operation.
81
81
  *
@@ -87,5 +87,5 @@ class JsonPatch {
87
87
  }
88
88
  exports.JsonPatch = JsonPatch;
89
89
  _a = JSII_RTTI_SYMBOL_1;
90
- JsonPatch[_a] = { fqn: "cdk8s.JsonPatch", version: "2.7.102" };
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1wYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9qc29uLXBhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQW1FO0FBRW5FOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBYSxTQUFTO0lBMkRwQixZQUFxQyxTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQUcsQ0FBQztJQTFEN0Q7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQWEsRUFBRSxHQUFHLEdBQWdCO1FBQ3BELE1BQU0sTUFBTSxHQUFHLDRCQUFVLENBQUMsUUFBUSxFQUFFLDJCQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLEtBQVUsSUFBSSxPQUFPLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFakc7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVksSUFBSSxPQUFPLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwRjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZLEVBQUUsS0FBVSxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV6Rzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWSxFQUFFLElBQVksSUFBSSxPQUFPLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEc7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWSxFQUFFLElBQVksSUFBSSxPQUFPLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEc7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQVksRUFBRSxLQUFVLElBQUksT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBSW5HOzs7O09BSUc7SUFDSSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7O0FBcEVILDhCQXFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGx5UGF0Y2gsIGRlZXBDbG9uZSwgT3BlcmF0aW9uIH0gZnJvbSAnZmFzdC1qc29uLXBhdGNoJztcblxuLyoqXG4gKiBVdGlsaXR5IGZvciBhcHBseWluZyBSRkMtNjkwMiBKU09OLVBhdGNoIHRvIGEgZG9jdW1lbnQuXG4gKlxuICogVXNlIHRoZSB0aGUgYEpzb25QYXRjaC5hcHBseShkb2MsIC4uLm9wcylgIGZ1bmN0aW9uIHRvIGFwcGx5IGEgc2V0IG9mXG4gKiBvcGVyYXRpb25zIHRvIGEgSlNPTiBkb2N1bWVudCBhbmQgcmV0dXJuIHRoZSByZXN1bHQuXG4gKlxuICogT3BlcmF0aW9ucyBjYW4gYmUgY3JlYXRlZCB1c2luZyB0aGUgZmFjdG9yeSBtZXRob2RzIGBKc29uUGF0Y2guYWRkKClgLFxuICogYEpzb25QYXRjaC5yZW1vdmUoKWAsIGV0Yy5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqY29uc3Qgb3V0cHV0ID0gSnNvblBhdGNoLmFwcGx5KGlucHV0LFxuICogIEpzb25QYXRjaC5yZXBsYWNlKCcvd29ybGQvaGkvdGhlcmUnLCAnZ29vZGJ5ZScpLFxuICogIEpzb25QYXRjaC5hZGQoJy93b3JsZC9mb28vJywgJ2Jvb20nKSxcbiAqICBKc29uUGF0Y2gucmVtb3ZlKCcvaGVsbG8nKSk7XG4gKlxuICovXG5leHBvcnQgY2xhc3MgSnNvblBhdGNoIHtcbiAgLyoqXG4gICAqIEFwcGxpZXMgYSBzZXQgb2YgSlNPTi1QYXRjaCAoUkZDLTY5MDIpIG9wZXJhdGlvbnMgdG8gYGRvY3VtZW50YCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LlxuICAgKiBAcGFyYW0gZG9jdW1lbnQgVGhlIGRvY3VtZW50IHRvIHBhdGNoXG4gICAqIEBwYXJhbSBvcHMgVGhlIG9wZXJhdGlvbnMgdG8gYXBwbHlcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBkb2N1bWVudFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhcHBseShkb2N1bWVudDogYW55LCAuLi5vcHM6IEpzb25QYXRjaFtdKTogYW55IHtcbiAgICBjb25zdCByZXN1bHQgPSBhcHBseVBhdGNoKGRvY3VtZW50LCBkZWVwQ2xvbmUob3BzLm1hcChvID0+IG8uX3RvSnNvbigpKSkpO1xuICAgIHJldHVybiByZXN1bHQubmV3RG9jdW1lbnQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHZhbHVlIHRvIGFuIG9iamVjdCBvciBpbnNlcnRzIGl0IGludG8gYW4gYXJyYXkuIEluIHRoZSBjYXNlIG9mIGFuXG4gICAqIGFycmF5LCB0aGUgdmFsdWUgaXMgaW5zZXJ0ZWQgYmVmb3JlIHRoZSBnaXZlbiBpbmRleC4gVGhlIC0gY2hhcmFjdGVyIGNhbiBiZVxuICAgKiB1c2VkIGluc3RlYWQgb2YgYW4gaW5kZXggdG8gaW5zZXJ0IGF0IHRoZSBlbmQgb2YgYW4gYXJyYXkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5hZGQoJy9iaXNjdWl0cy8xJywgeyBcIm5hbWVcIjogXCJHaW5nZXIgTnV0XCIgfSlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWRkKHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkgeyByZXR1cm4gbmV3IEpzb25QYXRjaCh7IG9wOiAnYWRkJywgcGF0aCwgdmFsdWUgfSk7IH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIHZhbHVlIGZyb20gYW4gb2JqZWN0IG9yIGFycmF5LlxuICAgKlxuICAgKiBAZXhhbXBsZSBKc29uUGF0Y2gucmVtb3ZlKCcvYmlzY3VpdHMnKVxuICAgKiBAZXhhbXBsZSBKc29uUGF0Y2gucmVtb3ZlKCcvYmlzY3VpdHMvMCcpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlbW92ZShwYXRoOiBzdHJpbmcpIHsgcmV0dXJuIG5ldyBKc29uUGF0Y2goeyBvcDogJ3JlbW92ZScsIHBhdGggfSk7IH1cblxuICAvKipcbiAgICogUmVwbGFjZXMgYSB2YWx1ZS4gRXF1aXZhbGVudCB0byBhIOKAnHJlbW92ZeKAnSBmb2xsb3dlZCBieSBhbiDigJxhZGTigJ0uXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5yZXBsYWNlKCcvYmlzY3VpdHMvMC9uYW1lJywgJ0Nob2NvbGF0ZSBEaWdlc3RpdmUnKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZXBsYWNlKHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkgeyByZXR1cm4gbmV3IEpzb25QYXRjaCh7IG9wOiAncmVwbGFjZScsIHBhdGgsIHZhbHVlIH0pOyB9XG5cbiAgLyoqXG4gICAqIENvcGllcyBhIHZhbHVlIGZyb20gb25lIGxvY2F0aW9uIHRvIGFub3RoZXIgd2l0aGluIHRoZSBKU09OIGRvY3VtZW50LiBCb3RoXG4gICAqIGZyb20gYW5kIHBhdGggYXJlIEpTT04gUG9pbnRlcnMuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5jb3B5KCcvYmlzY3VpdHMvMCcsICcvYmVzdF9iaXNjdWl0JylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY29weShmcm9tOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgeyByZXR1cm4gbmV3IEpzb25QYXRjaCh7IG9wOiAnY29weScsIGZyb20sIHBhdGggfSk7IH1cblxuICAvKipcbiAgICogTW92ZXMgYSB2YWx1ZSBmcm9tIG9uZSBsb2NhdGlvbiB0byB0aGUgb3RoZXIuIEJvdGggZnJvbSBhbmQgcGF0aCBhcmUgSlNPTiBQb2ludGVycy5cbiAgICpcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLm1vdmUoJy9iaXNjdWl0cycsICcvY29va2llcycpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1vdmUoZnJvbTogc3RyaW5nLCBwYXRoOiBzdHJpbmcpIHsgcmV0dXJuIG5ldyBKc29uUGF0Y2goeyBvcDogJ21vdmUnLCBmcm9tLCBwYXRoIH0pOyB9XG5cbiAgLyoqXG4gICAqIFRlc3RzIHRoYXQgdGhlIHNwZWNpZmllZCB2YWx1ZSBpcyBzZXQgaW4gdGhlIGRvY3VtZW50LiBJZiB0aGUgdGVzdCBmYWlscyxcbiAgICogdGhlbiB0aGUgcGF0Y2ggYXMgYSB3aG9sZSBzaG91bGQgbm90IGFwcGx5LlxuICAgKlxuICAgKiBAZXhhbXBsZSBKc29uUGF0Y2gudGVzdCgnL2Jlc3RfYmlzY3VpdC9uYW1lJywgJ0Nob2NvIExlaWJuaXonKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB0ZXN0KHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkgeyByZXR1cm4gbmV3IEpzb25QYXRjaCh7IG9wOiAndGVzdCcsIHBhdGgsIHZhbHVlIH0pOyB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG9wZXJhdGlvbjogT3BlcmF0aW9uKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgSlNPTiBwYXRjaCBvcGVyYXRpb24uXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF90b0pzb24oKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb247XG4gIH1cbn0iXX0=
90
+ JsonPatch[_a] = { fqn: "cdk8s.JsonPatch", version: "2.7.104" };
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1wYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9qc29uLXBhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQW1FO0FBRW5FOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBYSxTQUFTO0lBQ3BCOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFhLEVBQUUsR0FBRyxHQUFnQjtRQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFBLDRCQUFVLEVBQUMsUUFBUSxFQUFFLElBQUEsMkJBQVMsRUFBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBVSxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVqRzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBWSxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBGOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVksRUFBRSxLQUFVLElBQUksT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpHOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFZLEVBQUUsSUFBWSxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwRzs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFZLEVBQUUsSUFBWSxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwRzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWSxFQUFFLEtBQVUsSUFBSSxPQUFPLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkcsWUFBcUMsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUFHLENBQUM7SUFFN0Q7Ozs7T0FJRztJQUNJLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQzs7QUFwRUgsOEJBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwbHlQYXRjaCwgZGVlcENsb25lLCBPcGVyYXRpb24gfSBmcm9tICdmYXN0LWpzb24tcGF0Y2gnO1xuXG4vKipcbiAqIFV0aWxpdHkgZm9yIGFwcGx5aW5nIFJGQy02OTAyIEpTT04tUGF0Y2ggdG8gYSBkb2N1bWVudC5cbiAqXG4gKiBVc2UgdGhlIHRoZSBgSnNvblBhdGNoLmFwcGx5KGRvYywgLi4ub3BzKWAgZnVuY3Rpb24gdG8gYXBwbHkgYSBzZXQgb2ZcbiAqIG9wZXJhdGlvbnMgdG8gYSBKU09OIGRvY3VtZW50IGFuZCByZXR1cm4gdGhlIHJlc3VsdC5cbiAqXG4gKiBPcGVyYXRpb25zIGNhbiBiZSBjcmVhdGVkIHVzaW5nIHRoZSBmYWN0b3J5IG1ldGhvZHMgYEpzb25QYXRjaC5hZGQoKWAsXG4gKiBgSnNvblBhdGNoLnJlbW92ZSgpYCwgZXRjLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICpjb25zdCBvdXRwdXQgPSBKc29uUGF0Y2guYXBwbHkoaW5wdXQsXG4gKiAgSnNvblBhdGNoLnJlcGxhY2UoJy93b3JsZC9oaS90aGVyZScsICdnb29kYnllJyksXG4gKiAgSnNvblBhdGNoLmFkZCgnL3dvcmxkL2Zvby8nLCAnYm9vbScpLFxuICogIEpzb25QYXRjaC5yZW1vdmUoJy9oZWxsbycpKTtcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBKc29uUGF0Y2gge1xuICAvKipcbiAgICogQXBwbGllcyBhIHNldCBvZiBKU09OLVBhdGNoIChSRkMtNjkwMikgb3BlcmF0aW9ucyB0byBgZG9jdW1lbnRgIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuXG4gICAqIEBwYXJhbSBkb2N1bWVudCBUaGUgZG9jdW1lbnQgdG8gcGF0Y2hcbiAgICogQHBhcmFtIG9wcyBUaGUgb3BlcmF0aW9ucyB0byBhcHBseVxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IGRvY3VtZW50XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFwcGx5KGRvY3VtZW50OiBhbnksIC4uLm9wczogSnNvblBhdGNoW10pOiBhbnkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGFwcGx5UGF0Y2goZG9jdW1lbnQsIGRlZXBDbG9uZShvcHMubWFwKG8gPT4gby5fdG9Kc29uKCkpKSk7XG4gICAgcmV0dXJuIHJlc3VsdC5uZXdEb2N1bWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdmFsdWUgdG8gYW4gb2JqZWN0IG9yIGluc2VydHMgaXQgaW50byBhbiBhcnJheS4gSW4gdGhlIGNhc2Ugb2YgYW5cbiAgICogYXJyYXksIHRoZSB2YWx1ZSBpcyBpbnNlcnRlZCBiZWZvcmUgdGhlIGdpdmVuIGluZGV4LiBUaGUgLSBjaGFyYWN0ZXIgY2FuIGJlXG4gICAqIHVzZWQgaW5zdGVhZCBvZiBhbiBpbmRleCB0byBpbnNlcnQgYXQgdGhlIGVuZCBvZiBhbiBhcnJheS5cbiAgICpcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLmFkZCgnL2Jpc2N1aXRzLzEnLCB7IFwibmFtZVwiOiBcIkdpbmdlciBOdXRcIiB9KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhZGQocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KSB7IHJldHVybiBuZXcgSnNvblBhdGNoKHsgb3A6ICdhZGQnLCBwYXRoLCB2YWx1ZSB9KTsgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgdmFsdWUgZnJvbSBhbiBvYmplY3Qgb3IgYXJyYXkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5yZW1vdmUoJy9iaXNjdWl0cycpXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5yZW1vdmUoJy9iaXNjdWl0cy8wJylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlKHBhdGg6IHN0cmluZykgeyByZXR1cm4gbmV3IEpzb25QYXRjaCh7IG9wOiAncmVtb3ZlJywgcGF0aCB9KTsgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBhIHZhbHVlLiBFcXVpdmFsZW50IHRvIGEg4oCccmVtb3Zl4oCdIGZvbGxvd2VkIGJ5IGFuIOKAnGFkZOKAnS5cbiAgICpcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLnJlcGxhY2UoJy9iaXNjdWl0cy8wL25hbWUnLCAnQ2hvY29sYXRlIERpZ2VzdGl2ZScpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlcGxhY2UocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KSB7IHJldHVybiBuZXcgSnNvblBhdGNoKHsgb3A6ICdyZXBsYWNlJywgcGF0aCwgdmFsdWUgfSk7IH1cblxuICAvKipcbiAgICogQ29waWVzIGEgdmFsdWUgZnJvbSBvbmUgbG9jYXRpb24gdG8gYW5vdGhlciB3aXRoaW4gdGhlIEpTT04gZG9jdW1lbnQuIEJvdGhcbiAgICogZnJvbSBhbmQgcGF0aCBhcmUgSlNPTiBQb2ludGVycy5cbiAgICpcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLmNvcHkoJy9iaXNjdWl0cy8wJywgJy9iZXN0X2Jpc2N1aXQnKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KGZyb206IHN0cmluZywgcGF0aDogc3RyaW5nKSB7IHJldHVybiBuZXcgSnNvblBhdGNoKHsgb3A6ICdjb3B5JywgZnJvbSwgcGF0aCB9KTsgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyBhIHZhbHVlIGZyb20gb25lIGxvY2F0aW9uIHRvIHRoZSBvdGhlci4gQm90aCBmcm9tIGFuZCBwYXRoIGFyZSBKU09OIFBvaW50ZXJzLlxuICAgKlxuICAgKiBAZXhhbXBsZSBKc29uUGF0Y2gubW92ZSgnL2Jpc2N1aXRzJywgJy9jb29raWVzJylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbW92ZShmcm9tOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgeyByZXR1cm4gbmV3IEpzb25QYXRjaCh7IG9wOiAnbW92ZScsIGZyb20sIHBhdGggfSk7IH1cblxuICAvKipcbiAgICogVGVzdHMgdGhhdCB0aGUgc3BlY2lmaWVkIHZhbHVlIGlzIHNldCBpbiB0aGUgZG9jdW1lbnQuIElmIHRoZSB0ZXN0IGZhaWxzLFxuICAgKiB0aGVuIHRoZSBwYXRjaCBhcyBhIHdob2xlIHNob3VsZCBub3QgYXBwbHkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC50ZXN0KCcvYmVzdF9iaXNjdWl0L25hbWUnLCAnQ2hvY28gTGVpYm5peicpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRlc3QocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KSB7IHJldHVybiBuZXcgSnNvblBhdGNoKHsgb3A6ICd0ZXN0JywgcGF0aCwgdmFsdWUgfSk7IH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgb3BlcmF0aW9uOiBPcGVyYXRpb24pIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhpcyBKU09OIHBhdGNoIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX3RvSnNvbigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbjtcbiAgfVxufSJdfQ==