@aws-cdk/toolkit-lib 1.23.0 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/build-info.json +2 -2
  2. package/db.json.gz +0 -0
  3. package/lib/actions/deploy/index.d.ts +15 -1
  4. package/lib/actions/deploy/index.js +1 -1
  5. package/lib/actions/deploy/private/deployment-method.d.ts +5 -9
  6. package/lib/actions/deploy/private/deployment-method.js +8 -1
  7. package/lib/actions/diagnose/index.d.ts +89 -0
  8. package/lib/actions/diagnose/index.js +3 -0
  9. package/lib/actions/diff/private/helpers.js +12 -15
  10. package/lib/actions/index.d.ts +2 -0
  11. package/lib/actions/index.js +3 -1
  12. package/lib/actions/orphan/index.d.ts +18 -0
  13. package/lib/actions/orphan/index.js +3 -0
  14. package/lib/api/aws-auth/sdk.d.ts +2 -1
  15. package/lib/api/aws-auth/sdk.js +2 -1
  16. package/lib/api/bootstrap/bootstrap-environment.js +4 -4
  17. package/lib/api/bootstrap/bootstrap-template.yaml +5 -16
  18. package/lib/api/bootstrap/deploy-bootstrap.js +9 -1
  19. package/lib/api/cloud-assembly/stack-selector.d.ts +1 -1
  20. package/lib/api/cloud-assembly/stack-selector.js +1 -1
  21. package/lib/api/cloudformation/index.d.ts +1 -0
  22. package/lib/api/cloudformation/index.js +2 -1
  23. package/lib/api/cloudformation/logical-id-map.d.ts +24 -0
  24. package/lib/api/cloudformation/logical-id-map.js +45 -0
  25. package/lib/api/cloudformation/stack-helpers.d.ts +6 -0
  26. package/lib/api/cloudformation/stack-helpers.js +12 -1
  27. package/lib/api/deployments/cfn-api.d.ts +9 -17
  28. package/lib/api/deployments/cfn-api.js +82 -71
  29. package/lib/api/deployments/deploy-stack.d.ts +6 -2
  30. package/lib/api/deployments/deploy-stack.js +43 -60
  31. package/lib/api/deployments/deployments.d.ts +3 -2
  32. package/lib/api/deployments/deployments.js +31 -7
  33. package/lib/api/diagnosing/diagnosis-formatting.d.ts +13 -0
  34. package/lib/api/diagnosing/diagnosis-formatting.js +139 -0
  35. package/lib/api/diagnosing/early-validation.d.ts +49 -0
  36. package/lib/api/diagnosing/early-validation.js +81 -0
  37. package/lib/api/diagnosing/stack-diagnoser.d.ts +99 -0
  38. package/lib/api/diagnosing/stack-diagnoser.js +338 -0
  39. package/lib/api/diagnosing/tree-builder.d.ts +12 -0
  40. package/lib/api/diagnosing/tree-builder.js +86 -0
  41. package/lib/api/diagnosing/tree.d.ts +13 -0
  42. package/lib/api/diagnosing/tree.js +61 -0
  43. package/lib/api/diff/diff-formatter.js +8 -12
  44. package/lib/api/drift/drift-formatter.d.ts +0 -1
  45. package/lib/api/drift/drift-formatter.js +3 -10
  46. package/lib/api/hotswap/hotswap-deployments.js +14 -2
  47. package/lib/api/hotswap/hotswap-template-cache.d.ts +19 -0
  48. package/lib/api/hotswap/hotswap-template-cache.js +96 -0
  49. package/lib/api/index.d.ts +1 -0
  50. package/lib/api/index.js +2 -1
  51. package/lib/api/io/private/messages.d.ts +5 -0
  52. package/lib/api/io/private/messages.js +23 -1
  53. package/lib/api/io/toolkit-action.d.ts +1 -1
  54. package/lib/api/io/toolkit-action.js +1 -1
  55. package/lib/api/orphan/orphaner.d.ts +75 -0
  56. package/lib/api/orphan/orphaner.js +246 -0
  57. package/lib/api/orphan/private/helpers.d.ts +56 -0
  58. package/lib/api/orphan/private/helpers.js +219 -0
  59. package/lib/api/orphan/private/index.d.ts +2 -0
  60. package/lib/api/orphan/private/index.js +18 -0
  61. package/lib/api/resource-import/importer.d.ts +8 -1
  62. package/lib/api/resource-import/importer.js +35 -14
  63. package/lib/api/settings.d.ts +3 -1
  64. package/lib/api/settings.js +16 -3
  65. package/lib/api/source-tracing/index.d.ts +2 -0
  66. package/lib/api/source-tracing/index.js +18 -0
  67. package/lib/api/source-tracing/private/source-tracing.d.ts +16 -0
  68. package/lib/api/source-tracing/private/source-tracing.js +8 -0
  69. package/lib/api/source-tracing/private/stack-source-tracing.d.ts +32 -0
  70. package/lib/api/source-tracing/private/stack-source-tracing.js +134 -0
  71. package/lib/api/source-tracing/types.d.ts +9 -0
  72. package/lib/api/source-tracing/types.js +3 -0
  73. package/lib/api/stack-events/resource-errors.d.ts +82 -0
  74. package/lib/api/stack-events/resource-errors.js +129 -0
  75. package/lib/api/stack-events/stack-activity-monitor.d.ts +2 -29
  76. package/lib/api/stack-events/stack-activity-monitor.js +5 -94
  77. package/lib/api/stack-events/stack-event-poller.d.ts +71 -8
  78. package/lib/api/stack-events/stack-event-poller.js +107 -13
  79. package/lib/api/work-graph/work-graph.d.ts +4 -0
  80. package/lib/api/work-graph/work-graph.js +6 -1
  81. package/lib/index.d.ts +1 -0
  82. package/lib/index.js +2 -1
  83. package/lib/index_bg.wasm +0 -0
  84. package/lib/toolkit/toolkit.d.ts +17 -1
  85. package/lib/toolkit/toolkit.js +226 -84
  86. package/lib/util/arrays.d.ts +1 -0
  87. package/lib/util/arrays.js +23 -1
  88. package/lib/util/type-brands.d.ts +1 -1
  89. package/lib/util/type-brands.js +1 -1
  90. package/package.json +11 -11
  91. package/lib/api/deployments/early-validation.d.ts +0 -17
  92. package/lib/api/deployments/early-validation.js +0 -54
package/build-info.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "comment": "Generated at 2026-04-20T15:21:58Z by build-info.sh",
3
- "commit": "82715b6"
2
+ "comment": "Generated at 2026-04-29T14:07:11Z by build-info.sh",
3
+ "commit": "acefbf8"
4
4
  }
package/db.json.gz CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  import type { StackSelector } from '../../api/cloud-assembly';
2
2
  import type { Tag } from '../../api/tags';
3
- export type DeploymentMethod = DirectDeployment | ChangeSetDeployment | HotswapDeployment;
3
+ export type DeploymentMethod = DirectDeployment | ChangeSetDeployment | ExecuteChangeSetDeployment | HotswapDeployment;
4
4
  /**
5
5
  * Use stack APIs to the deploy stack changes
6
6
  */
@@ -36,6 +36,20 @@ export interface ChangeSetDeployment {
36
36
  */
37
37
  readonly revertDrift?: boolean;
38
38
  }
39
+ /**
40
+ * Execute an existing change set that was previously created
41
+ *
42
+ * This bypasses change set creation and asset publishing entirely.
43
+ * The stack name and change set name must refer to an existing change set
44
+ * in CREATE_COMPLETE status.
45
+ */
46
+ export interface ExecuteChangeSetDeployment {
47
+ readonly method: 'execute-change-set';
48
+ /**
49
+ * The name of the change set to execute.
50
+ */
51
+ readonly changeSetName: string;
52
+ }
39
53
  /**
40
54
  * Perform a 'hotswap' deployment to deploy a stack changes
41
55
  *
@@ -45,4 +45,4 @@ class StackParameters {
45
45
  }
46
46
  }
47
47
  exports.StackParameters = StackParameters;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1RUE7O0dBRUc7QUFDSCxJQUFZLGNBYVg7QUFiRCxXQUFZLGNBQWM7SUFDeEI7Ozs7O09BS0c7SUFDSCx5REFBdUMsQ0FBQTtJQUV2Qzs7T0FFRztJQUNILCtDQUE2QixDQUFBO0FBQy9CLENBQUMsRUFiVyxjQUFjLDhCQUFkLGNBQWMsUUFhekI7QUFFRCxNQUFhLGVBQWU7SUFDMUI7O09BRUc7SUFDSSxNQUFNLENBQUMsWUFBWTtRQUN4QixPQUFPLElBQUksZUFBZSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQThDO1FBQ2xFLE9BQU8sSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBOEM7UUFDdkUsT0FBTyxJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVlLFVBQVUsQ0FBa0M7SUFDNUMsc0JBQXNCLENBQVU7SUFFaEQsWUFBb0IsTUFBOEMsRUFBRSxxQkFBcUIsR0FBRyxJQUFJO1FBQzlGLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxxQkFBcUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0Y7QUE3QkQsMENBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTdGFja1NlbGVjdG9yIH0gZnJvbSAnLi4vLi4vYXBpL2Nsb3VkLWFzc2VtYmx5JztcbmltcG9ydCB0eXBlIHsgVGFnIH0gZnJvbSAnLi4vLi4vYXBpL3RhZ3MnO1xuXG5leHBvcnQgdHlwZSBEZXBsb3ltZW50TWV0aG9kID0gRGlyZWN0RGVwbG95bWVudCB8IENoYW5nZVNldERlcGxveW1lbnQgfCBIb3Rzd2FwRGVwbG95bWVudDtcblxuLyoqXG4gKiBVc2Ugc3RhY2sgQVBJcyB0byB0aGUgZGVwbG95IHN0YWNrIGNoYW5nZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXJlY3REZXBsb3ltZW50IHtcbiAgcmVhZG9ubHkgbWV0aG9kOiAnZGlyZWN0Jztcbn1cblxuLyoqXG4gKiBVc2UgY2hhbmdlLXNldCBBUElzIHRvIGRlcGxveSBhIHN0YWNrIGNoYW5nZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VTZXREZXBsb3ltZW50IHtcbiAgcmVhZG9ubHkgbWV0aG9kOiAnY2hhbmdlLXNldCc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZXhlY3V0ZSB0aGUgY2hhbmdlc2V0IG9yIGxlYXZlIGl0IGluIHJldmlldy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhlY3V0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG5hbWUgdG8gdXNlIGZvciB0aGUgQ2xvdWRGb3JtYXRpb24gY2hhbmdlIHNldC5cbiAgICogSWYgbm90IHByb3ZpZGVkLCBhIG5hbWUgd2lsbCBiZSBnZW5lcmF0ZWQgYXV0b21hdGljYWxseS5cbiAgICovXG4gIHJlYWRvbmx5IGNoYW5nZVNldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgY2hhbmdlIHNldCBpbXBvcnRzIHJlc291cmNlcyB0aGF0IGFscmVhZHkgZXhpc3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBpbXBvcnRFeGlzdGluZ1Jlc291cmNlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBkcmlmdC1hd2FyZSBjaGFuZ2Ugc2V0IHRoYXQgYnJpbmdzIGFjdHVhbCByZXNvdXJjZSBzdGF0ZXMgaW4gbGluZSB3aXRoIHRlbXBsYXRlIGRlZmluaXRpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmV2ZXJ0RHJpZnQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFBlcmZvcm0gYSAnaG90c3dhcCcgZGVwbG95bWVudCB0byBkZXBsb3kgYSBzdGFjayBjaGFuZ2VzXG4gKlxuICogQSAnaG90c3dhcCcgZGVwbG95bWVudCB3aWxsIGF0dGVtcHQgdG8gc2hvcnQtY2lyY3VpdCBDbG91ZEZvcm1hdGlvblxuICogYW5kIHVwZGF0ZSB0aGUgYWZmZWN0ZWQgcmVzb3VyY2VzIGxpa2UgTGFtYmRhIGZ1bmN0aW9ucyBkaXJlY3RseS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIb3Rzd2FwRGVwbG95bWVudCB7XG4gIHJlYWRvbmx5IG1ldGhvZDogJ2hvdHN3YXAnO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGNvbmZpZ3VyYXRpb24gcHJvcGVydHkgb3ZlcnJpZGVzIGZvciBob3Rzd2FwIGRlcGxveW1lbnRzLlxuICAgKiBDdXJyZW50bHkgb25seSBzdXBwb3J0ZWQgYnkgRUNTLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIG92ZXJyaWRlc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGVydGllcz86IEhvdHN3YXBQcm9wZXJ0aWVzO1xuXG4gIC8qKlxuICAgKiBGYWxsIGJhY2sgdG8gYSBDbG91ZEZvcm1hdGlvbiBkZXBsb3ltZW50IHdoZW4gYSBub24taG90c3dhcHBhYmxlIGNoYW5nZSBpcyBkZXRlY3RlZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERvIG5vdCBmYWxsIGJhY2sgdG8gYSBDbG91ZEZvcm1hdGlvbiBkZXBsb3ltZW50XG4gICAqL1xuICByZWFkb25seSBmYWxsYmFjaz86IERpcmVjdERlcGxveW1lbnQgfCBDaGFuZ2VTZXREZXBsb3ltZW50O1xufVxuXG4vKipcbiAqIFdoZW4gdG8gYnVpbGQgYXNzZXRzXG4gKi9cbmV4cG9ydCBlbnVtIEFzc2V0QnVpbGRUaW1lIHtcbiAgLyoqXG4gICAqIEJ1aWxkIGFsbCBhc3NldHMgYmVmb3JlIGRlcGxveWluZyB0aGUgZmlyc3Qgc3RhY2tcbiAgICpcbiAgICogVGhpcyBpcyBpbnRlbmRlZCBmb3IgZXhwZW5zaXZlIERvY2tlciBpbWFnZSBidWlsZHM7IHNvIHRoYXQgaWYgdGhlIERvY2tlciBpbWFnZSBidWlsZFxuICAgKiBmYWlscywgbm8gc3RhY2tzIGFyZSB1bm5lY2Vzc2FyaWx5IGRlcGxveWVkICh3aXRoIHRoZSBhdHRlbmRhbnQgd2FpdCB0aW1lKS5cbiAgICovXG4gIEFMTF9CRUZPUkVfREVQTE9ZID0gJ2FsbC1iZWZvcmUtZGVwbG95JyxcblxuICAvKipcbiAgICogQnVpbGQgYXNzZXRzIGp1c3QtaW4tdGltZSwgYmVmb3JlIHB1Ymxpc2hpbmdcbiAgICovXG4gIEpVU1RfSU5fVElNRSA9ICdqdXN0LWluLXRpbWUnLFxufVxuXG5leHBvcnQgY2xhc3MgU3RhY2tQYXJhbWV0ZXJzIHtcbiAgLyoqXG4gICAqIFVzZSBvbmx5IGV4aXN0aW5nIHBhcmFtZXRlcnMgb24gdGhlIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvbmx5RXhpc3RpbmcoKSB7XG4gICAgcmV0dXJuIG5ldyBTdGFja1BhcmFtZXRlcnMoe30sIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSBleGFjdGx5IHRoZXNlIHBhcmFtZXRlcnMgYW5kIHJlbW92ZSBhbnkgb3RoZXIgZXhpc3RpbmcgcGFyYW1ldGVycyBmcm9tIHRoZSBzdGFjay5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXhhY3RseShwYXJhbXM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZCB9KSB7XG4gICAgcmV0dXJuIG5ldyBTdGFja1BhcmFtZXRlcnMocGFyYW1zLCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGFkZGl0aW9uYWwgcGFyYW1ldGVycyBmb3IgdGhlIHN0YWNrLCB3aGlsZSBrZWVwaW5nIGV4aXN0aW5nIHBhcmFtZXRlcnMgZm9yIHVuc3BlY2lmaWVkIHZhbHVlcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aEV4aXN0aW5nKHBhcmFtczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH0pIHtcbiAgICByZXR1cm4gbmV3IFN0YWNrUGFyYW1ldGVycyhwYXJhbXMsIHRydWUpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHBhcmFtZXRlcnM6IE1hcDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD47XG4gIHB1YmxpYyByZWFkb25seSBrZWVwRXhpc3RpbmdQYXJhbWV0ZXJzOiBib29sZWFuO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocGFyYW1zOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQgfSwgdXNlUHJldmlvdXNQYXJhbWV0ZXJzID0gdHJ1ZSkge1xuICAgIHRoaXMua2VlcEV4aXN0aW5nUGFyYW1ldGVycyA9IHVzZVByZXZpb3VzUGFyYW1ldGVycztcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBuZXcgTWFwKE9iamVjdC5lbnRyaWVzKHBhcmFtcykpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZURlcGxveU9wdGlvbnMge1xuICAvKipcbiAgICogQ3JpdGVyaWEgZm9yIHNlbGVjdGluZyBzdGFja3MgdG8gZGVwbG95XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQWxsIHN0YWNrc1xuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tzPzogU3RhY2tTZWxlY3RvcjtcblxuICAvKipcbiAgICogUm9sZSB0byBwYXNzIHRvIENsb3VkRm9ybWF0aW9uIGZvciBkZXBsb3ltZW50XG4gICAqL1xuICByZWFkb25seSByb2xlQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXBsb3kgZXZlbiBpZiB0aGUgZGVwbG95ZWQgdGVtcGxhdGUgaXMgaWRlbnRpY2FsIHRvIHRoZSBvbmUgd2UgYXJlIGFib3V0IHRvIGRlcGxveS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGZvcmNlRGVwbG95bWVudD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlcGxveW1lbnQgbWV0aG9kXG4gICAqXG4gICAqIEBkZWZhdWx0IENoYW5nZVNldERlcGxveW1lbnRcbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnRNZXRob2Q/OiBEZXBsb3ltZW50TWV0aG9kO1xuXG4gIC8qKlxuICAgKiBSb2xsYmFjayBmYWlsZWQgZGVwbG95bWVudHNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcm9sbGJhY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IG9ycGhhbiByZXNvdXJjZXMgdGhhdCBmYWlsZWQgZHVyaW5nIHJvbGxiYWNrXG4gICAqXG4gICAqIEhhcyBubyBlZmZlY3QgaWYgYHJvbGxiYWNrYCBpcyBgZmFsc2VgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgb3JwaGFuRmFpbGVkUmVzb3VyY2VzRHVyaW5nUm9sbGJhY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBGb3JjZSBhc3NldCBwdWJsaXNoaW5nIGV2ZW4gaWYgdGhlIGFzc2V0cyBoYXZlIG5vdCBjaGFuZ2VkXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBmb3JjZUFzc2V0UHVibGlzaGluZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldXNlIHRoZSBhc3NldHMgd2l0aCB0aGUgZ2l2ZW4gYXNzZXQgSURzXG4gICAqL1xuICByZWFkb25seSByZXVzZUFzc2V0cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIG51bWJlciBvZiBzaW11bHRhbmVvdXMgZGVwbG95bWVudHMgKGRlcGVuZGVuY3kgcGVybWl0dGluZykgdG8gZXhlY3V0ZS5cbiAgICogVGhlIGRlZmF1bHQgaXMgJzEnLCB3aGljaCBleGVjdXRlcyBhbGwgZGVwbG95bWVudHMgc2VyaWFsbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IGNvbmN1cnJlbmN5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNlbmQgbG9ncyBmcm9tIGFsbCBDbG91ZFdhdGNoIGxvZyBncm91cHMgaW4gdGhlIHRlbXBsYXRlXG4gICAqIHRvIHRoZSBJb0hvc3RcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHRyYWNlTG9ncz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95T3B0aW9ucyBleHRlbmRzIEJhc2VEZXBsb3lPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFSTnMgb2YgU05TIHRvcGljcyB0aGF0IENsb3VkRm9ybWF0aW9uIHdpbGwgbm90aWZ5IHdpdGggc3RhY2sgcmVsYXRlZCBldmVudHNcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGFncyB0byBwYXNzIHRvIENsb3VkRm9ybWF0aW9uIGZvciBkZXBsb3ltZW50XG4gICAqL1xuICByZWFkb25seSB0YWdzPzogVGFnW107XG5cbiAgLyoqXG4gICAqIFN0YWNrIHBhcmFtZXRlcnMgZm9yIENsb3VkRm9ybWF0aW9uIHVzZWQgYXQgZGVwbG95IHRpbWVcbiAgICogQGRlZmF1bHQgU3RhY2tQYXJhbWV0ZXJzLm9ubHlFeGlzdGluZygpXG4gICAqL1xuICByZWFkb25seSBwYXJhbWV0ZXJzPzogU3RhY2tQYXJhbWV0ZXJzO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIGZpbGUgd2hlcmUgc3RhY2sgb3V0cHV0cyB3aWxsIGJlIHdyaXR0ZW4gYWZ0ZXIgYSBzdWNjZXNzZnVsIGRlcGxveSBhcyBKU09OXG4gICAqIEBkZWZhdWx0IC0gT3V0cHV0cyBhcmUgbm90IHdyaXR0ZW4gdG8gYW55IGZpbGVcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dHNGaWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCdWlsZC9wdWJsaXNoIGFzc2V0cyBmb3IgYSBzaW5nbGUgc3RhY2sgaW4gcGFyYWxsZWxcbiAgICpcbiAgICogSW5kZXBlbmRlbnQgb2Ygd2hldGhlciBzdGFja3MgYXJlIGJlaW5nIGRvbmUgaW4gcGFyYWxsZWwgb3Igbm8uXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0UGFyYWxsZWxpc20/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIG51bWJlciBvZiBhc3NldCBidWlsZHMgdG8gcnVuIGluIHBhcmFsbGVsXG4gICAqXG4gICAqIFRoaXMgc2V0dGluZyBvbmx5IGhhcyBhbiBlZmZlY3QgaWYgYGFzc2V0UGFyYWxsZWxpc21gIGlzIHNldCB0byBgdHJ1ZWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0QnVpbGRDb25jdXJyZW5jeT86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hlbiB0byBidWlsZCBhc3NldHNcbiAgICpcbiAgICogVGhlIGRlZmF1bHQgaXMgdGhlIERvY2tlci1mcmllbmRseSBkZWZhdWx0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBBc3NldEJ1aWxkVGltZS5BTExfQkVGT1JFX0RFUExPWVxuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXRCdWlsZFRpbWU/OiBBc3NldEJ1aWxkVGltZTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0eSBvdmVycmlkZXMgZm9yIEVDUyBob3Rzd2Fwc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEVjc0hvdHN3YXBQcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFRoZSBsb3dlciBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHlvdXIgc2VydmljZSdzIHRhc2tzIHRoYXQgbXVzdCByZW1haW5cbiAgICogaW4gdGhlIFJVTk5JTkcgc3RhdGUgZHVyaW5nIGEgZGVwbG95bWVudCwgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBkZXNpcmVkQ291bnQuXG4gICAqL1xuICByZWFkb25seSBtaW5pbXVtSGVhbHRoeVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB1cHBlciBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHlvdXIgc2VydmljZSdzIHRhc2tzIHRoYXQgYXJlIGFsbG93ZWRcbiAgICogaW4gdGhlIFJVTk5JTkcgb3IgUEVORElORyBzdGF0ZSBkdXJpbmcgYSBkZXBsb3ltZW50LCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGRlc2lyZWRDb3VudC5cbiAgICovXG4gIHJlYWRvbmx5IG1heGltdW1IZWFsdGh5UGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgZm9yIGEgc2luZ2xlIHNlcnZpY2UgdG8gcmVhY2ggc3RhYmxlIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhYmlsaXphdGlvblRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFByb3BlcnR5IG92ZXJyaWRlcyBmb3IgaG90c3dhcCBkZXBsb3ltZW50cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIb3Rzd2FwUHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBFQ1Mgc3BlY2lmaWMgaG90c3dhcCBwcm9wZXJ0eSBvdmVycmlkZXNcbiAgICovXG4gIHJlYWRvbmx5IGVjcz86IEVjc0hvdHN3YXBQcm9wZXJ0aWVzO1xufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1RkE7O0dBRUc7QUFDSCxJQUFZLGNBYVg7QUFiRCxXQUFZLGNBQWM7SUFDeEI7Ozs7O09BS0c7SUFDSCx5REFBdUMsQ0FBQTtJQUV2Qzs7T0FFRztJQUNILCtDQUE2QixDQUFBO0FBQy9CLENBQUMsRUFiVyxjQUFjLDhCQUFkLGNBQWMsUUFhekI7QUFFRCxNQUFhLGVBQWU7SUFDMUI7O09BRUc7SUFDSSxNQUFNLENBQUMsWUFBWTtRQUN4QixPQUFPLElBQUksZUFBZSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQThDO1FBQ2xFLE9BQU8sSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBOEM7UUFDdkUsT0FBTyxJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVlLFVBQVUsQ0FBa0M7SUFDNUMsc0JBQXNCLENBQVU7SUFFaEQsWUFBb0IsTUFBOEMsRUFBRSxxQkFBcUIsR0FBRyxJQUFJO1FBQzlGLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxxQkFBcUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0Y7QUE3QkQsMENBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTdGFja1NlbGVjdG9yIH0gZnJvbSAnLi4vLi4vYXBpL2Nsb3VkLWFzc2VtYmx5JztcbmltcG9ydCB0eXBlIHsgVGFnIH0gZnJvbSAnLi4vLi4vYXBpL3RhZ3MnO1xuXG5leHBvcnQgdHlwZSBEZXBsb3ltZW50TWV0aG9kID0gRGlyZWN0RGVwbG95bWVudCB8IENoYW5nZVNldERlcGxveW1lbnQgfCBFeGVjdXRlQ2hhbmdlU2V0RGVwbG95bWVudCB8IEhvdHN3YXBEZXBsb3ltZW50O1xuXG4vKipcbiAqIFVzZSBzdGFjayBBUElzIHRvIHRoZSBkZXBsb3kgc3RhY2sgY2hhbmdlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERpcmVjdERlcGxveW1lbnQge1xuICByZWFkb25seSBtZXRob2Q6ICdkaXJlY3QnO1xufVxuXG4vKipcbiAqIFVzZSBjaGFuZ2Utc2V0IEFQSXMgdG8gZGVwbG95IGEgc3RhY2sgY2hhbmdlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZVNldERlcGxveW1lbnQge1xuICByZWFkb25seSBtZXRob2Q6ICdjaGFuZ2Utc2V0JztcblxuICAvKipcbiAgICogV2hldGhlciB0byBleGVjdXRlIHRoZSBjaGFuZ2VzZXQgb3IgbGVhdmUgaXQgaW4gcmV2aWV3LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBleGVjdXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgbmFtZSB0byB1c2UgZm9yIHRoZSBDbG91ZEZvcm1hdGlvbiBjaGFuZ2Ugc2V0LlxuICAgKiBJZiBub3QgcHJvdmlkZWQsIGEgbmFtZSB3aWxsIGJlIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5LlxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbmdlU2V0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjaGFuZ2Ugc2V0IGltcG9ydHMgcmVzb3VyY2VzIHRoYXQgYWxyZWFkeSBleGlzdC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGltcG9ydEV4aXN0aW5nUmVzb3VyY2VzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGRyaWZ0LWF3YXJlIGNoYW5nZSBzZXQgdGhhdCBicmluZ3MgYWN0dWFsIHJlc291cmNlIHN0YXRlcyBpbiBsaW5lIHdpdGggdGVtcGxhdGUgZGVmaW5pdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByZXZlcnREcmlmdD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRXhlY3V0ZSBhbiBleGlzdGluZyBjaGFuZ2Ugc2V0IHRoYXQgd2FzIHByZXZpb3VzbHkgY3JlYXRlZFxuICpcbiAqIFRoaXMgYnlwYXNzZXMgY2hhbmdlIHNldCBjcmVhdGlvbiBhbmQgYXNzZXQgcHVibGlzaGluZyBlbnRpcmVseS5cbiAqIFRoZSBzdGFjayBuYW1lIGFuZCBjaGFuZ2Ugc2V0IG5hbWUgbXVzdCByZWZlciB0byBhbiBleGlzdGluZyBjaGFuZ2Ugc2V0XG4gKiBpbiBDUkVBVEVfQ09NUExFVEUgc3RhdHVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGVDaGFuZ2VTZXREZXBsb3ltZW50IHtcbiAgcmVhZG9ubHkgbWV0aG9kOiAnZXhlY3V0ZS1jaGFuZ2Utc2V0JztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNoYW5nZSBzZXQgdG8gZXhlY3V0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGNoYW5nZVNldE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQZXJmb3JtIGEgJ2hvdHN3YXAnIGRlcGxveW1lbnQgdG8gZGVwbG95IGEgc3RhY2sgY2hhbmdlc1xuICpcbiAqIEEgJ2hvdHN3YXAnIGRlcGxveW1lbnQgd2lsbCBhdHRlbXB0IHRvIHNob3J0LWNpcmN1aXQgQ2xvdWRGb3JtYXRpb25cbiAqIGFuZCB1cGRhdGUgdGhlIGFmZmVjdGVkIHJlc291cmNlcyBsaWtlIExhbWJkYSBmdW5jdGlvbnMgZGlyZWN0bHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSG90c3dhcERlcGxveW1lbnQge1xuICByZWFkb25seSBtZXRob2Q6ICdob3Rzd2FwJztcblxuICAvKipcbiAgICogUmVwcmVzZW50cyBjb25maWd1cmF0aW9uIHByb3BlcnR5IG92ZXJyaWRlcyBmb3IgaG90c3dhcCBkZXBsb3ltZW50cy5cbiAgICogQ3VycmVudGx5IG9ubHkgc3VwcG9ydGVkIGJ5IEVDUy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBvdmVycmlkZXNcbiAgICovXG4gIHJlYWRvbmx5IHByb3BlcnRpZXM/OiBIb3Rzd2FwUHJvcGVydGllcztcblxuICAvKipcbiAgICogRmFsbCBiYWNrIHRvIGEgQ2xvdWRGb3JtYXRpb24gZGVwbG95bWVudCB3aGVuIGEgbm9uLWhvdHN3YXBwYWJsZSBjaGFuZ2UgaXMgZGV0ZWN0ZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBEbyBub3QgZmFsbCBiYWNrIHRvIGEgQ2xvdWRGb3JtYXRpb24gZGVwbG95bWVudFxuICAgKi9cbiAgcmVhZG9ubHkgZmFsbGJhY2s/OiBEaXJlY3REZXBsb3ltZW50IHwgQ2hhbmdlU2V0RGVwbG95bWVudDtcbn1cblxuLyoqXG4gKiBXaGVuIHRvIGJ1aWxkIGFzc2V0c1xuICovXG5leHBvcnQgZW51bSBBc3NldEJ1aWxkVGltZSB7XG4gIC8qKlxuICAgKiBCdWlsZCBhbGwgYXNzZXRzIGJlZm9yZSBkZXBsb3lpbmcgdGhlIGZpcnN0IHN0YWNrXG4gICAqXG4gICAqIFRoaXMgaXMgaW50ZW5kZWQgZm9yIGV4cGVuc2l2ZSBEb2NrZXIgaW1hZ2UgYnVpbGRzOyBzbyB0aGF0IGlmIHRoZSBEb2NrZXIgaW1hZ2UgYnVpbGRcbiAgICogZmFpbHMsIG5vIHN0YWNrcyBhcmUgdW5uZWNlc3NhcmlseSBkZXBsb3llZCAod2l0aCB0aGUgYXR0ZW5kYW50IHdhaXQgdGltZSkuXG4gICAqL1xuICBBTExfQkVGT1JFX0RFUExPWSA9ICdhbGwtYmVmb3JlLWRlcGxveScsXG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFzc2V0cyBqdXN0LWluLXRpbWUsIGJlZm9yZSBwdWJsaXNoaW5nXG4gICAqL1xuICBKVVNUX0lOX1RJTUUgPSAnanVzdC1pbi10aW1lJyxcbn1cblxuZXhwb3J0IGNsYXNzIFN0YWNrUGFyYW1ldGVycyB7XG4gIC8qKlxuICAgKiBVc2Ugb25seSBleGlzdGluZyBwYXJhbWV0ZXJzIG9uIHRoZSBzdGFjay5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb25seUV4aXN0aW5nKCkge1xuICAgIHJldHVybiBuZXcgU3RhY2tQYXJhbWV0ZXJzKHt9LCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgZXhhY3RseSB0aGVzZSBwYXJhbWV0ZXJzIGFuZCByZW1vdmUgYW55IG90aGVyIGV4aXN0aW5nIHBhcmFtZXRlcnMgZnJvbSB0aGUgc3RhY2suXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGV4YWN0bHkocGFyYW1zOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQgfSkge1xuICAgIHJldHVybiBuZXcgU3RhY2tQYXJhbWV0ZXJzKHBhcmFtcywgZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHRoZSBzdGFjaywgd2hpbGUga2VlcGluZyBleGlzdGluZyBwYXJhbWV0ZXJzIGZvciB1bnNwZWNpZmllZCB2YWx1ZXMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGhFeGlzdGluZyhwYXJhbXM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZCB9KSB7XG4gICAgcmV0dXJuIG5ldyBTdGFja1BhcmFtZXRlcnMocGFyYW1zLCB0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBwYXJhbWV0ZXJzOiBNYXA8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBwdWJsaWMgcmVhZG9ubHkga2VlcEV4aXN0aW5nUGFyYW1ldGVyczogYm9vbGVhbjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHBhcmFtczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH0sIHVzZVByZXZpb3VzUGFyYW1ldGVycyA9IHRydWUpIHtcbiAgICB0aGlzLmtlZXBFeGlzdGluZ1BhcmFtZXRlcnMgPSB1c2VQcmV2aW91c1BhcmFtZXRlcnM7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gbmV3IE1hcChPYmplY3QuZW50cmllcyhwYXJhbXMpKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VEZXBsb3lPcHRpb25zIHtcbiAgLyoqXG4gICAqIENyaXRlcmlhIGZvciBzZWxlY3Rpbmcgc3RhY2tzIHRvIGRlcGxveVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFsbCBzdGFja3NcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrcz86IFN0YWNrU2VsZWN0b3I7XG5cbiAgLyoqXG4gICAqIFJvbGUgdG8gcGFzcyB0byBDbG91ZEZvcm1hdGlvbiBmb3IgZGVwbG95bWVudFxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogRGVwbG95IGV2ZW4gaWYgdGhlIGRlcGxveWVkIHRlbXBsYXRlIGlzIGlkZW50aWNhbCB0byB0aGUgb25lIHdlIGFyZSBhYm91dCB0byBkZXBsb3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBmb3JjZURlcGxveW1lbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZXBsb3ltZW50IG1ldGhvZFxuICAgKlxuICAgKiBAZGVmYXVsdCBDaGFuZ2VTZXREZXBsb3ltZW50XG4gICAqL1xuICByZWFkb25seSBkZXBsb3ltZW50TWV0aG9kPzogRGVwbG95bWVudE1ldGhvZDtcblxuICAvKipcbiAgICogUm9sbGJhY2sgZmFpbGVkIGRlcGxveW1lbnRzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJvbGxiYWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBvcnBoYW4gcmVzb3VyY2VzIHRoYXQgZmFpbGVkIGR1cmluZyByb2xsYmFja1xuICAgKlxuICAgKiBIYXMgbm8gZWZmZWN0IGlmIGByb2xsYmFja2AgaXMgYGZhbHNlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG9ycGhhbkZhaWxlZFJlc291cmNlc0R1cmluZ1JvbGxiYWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRm9yY2UgYXNzZXQgcHVibGlzaGluZyBldmVuIGlmIHRoZSBhc3NldHMgaGF2ZSBub3QgY2hhbmdlZFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZm9yY2VBc3NldFB1Ymxpc2hpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXVzZSB0aGUgYXNzZXRzIHdpdGggdGhlIGdpdmVuIGFzc2V0IElEc1xuICAgKi9cbiAgcmVhZG9ubHkgcmV1c2VBc3NldHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2Ygc2ltdWx0YW5lb3VzIGRlcGxveW1lbnRzIChkZXBlbmRlbmN5IHBlcm1pdHRpbmcpIHRvIGV4ZWN1dGUuXG4gICAqIFRoZSBkZWZhdWx0IGlzICcxJywgd2hpY2ggZXhlY3V0ZXMgYWxsIGRlcGxveW1lbnRzIHNlcmlhbGx5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBjb25jdXJyZW5jeT86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzZW5kIGxvZ3MgZnJvbSBhbGwgQ2xvdWRXYXRjaCBsb2cgZ3JvdXBzIGluIHRoZSB0ZW1wbGF0ZVxuICAgKiB0byB0aGUgSW9Ib3N0XG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB0cmFjZUxvZ3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveU9wdGlvbnMgZXh0ZW5kcyBCYXNlRGVwbG95T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBUk5zIG9mIFNOUyB0b3BpY3MgdGhhdCBDbG91ZEZvcm1hdGlvbiB3aWxsIG5vdGlmeSB3aXRoIHN0YWNrIHJlbGF0ZWQgZXZlbnRzXG4gICAqL1xuICByZWFkb25seSBub3RpZmljYXRpb25Bcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRhZ3MgdG8gcGFzcyB0byBDbG91ZEZvcm1hdGlvbiBmb3IgZGVwbG95bWVudFxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IFRhZ1tdO1xuXG4gIC8qKlxuICAgKiBTdGFjayBwYXJhbWV0ZXJzIGZvciBDbG91ZEZvcm1hdGlvbiB1c2VkIGF0IGRlcGxveSB0aW1lXG4gICAqIEBkZWZhdWx0IFN0YWNrUGFyYW1ldGVycy5vbmx5RXhpc3RpbmcoKVxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVycz86IFN0YWNrUGFyYW1ldGVycztcblxuICAvKipcbiAgICogUGF0aCB0byBmaWxlIHdoZXJlIHN0YWNrIG91dHB1dHMgd2lsbCBiZSB3cml0dGVuIGFmdGVyIGEgc3VjY2Vzc2Z1bCBkZXBsb3kgYXMgSlNPTlxuICAgKiBAZGVmYXVsdCAtIE91dHB1dHMgYXJlIG5vdCB3cml0dGVuIHRvIGFueSBmaWxlXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRzRmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQnVpbGQvcHVibGlzaCBhc3NldHMgZm9yIGEgc2luZ2xlIHN0YWNrIGluIHBhcmFsbGVsXG4gICAqXG4gICAqIEluZGVwZW5kZW50IG9mIHdoZXRoZXIgc3RhY2tzIGFyZSBiZWluZyBkb25lIGluIHBhcmFsbGVsIG9yIG5vLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhc3NldFBhcmFsbGVsaXNtPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgYXNzZXQgYnVpbGRzIHRvIHJ1biBpbiBwYXJhbGxlbFxuICAgKlxuICAgKiBUaGlzIHNldHRpbmcgb25seSBoYXMgYW4gZWZmZWN0IGlmIGBhc3NldFBhcmFsbGVsaXNtYCBpcyBzZXQgdG8gYHRydWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBhc3NldEJ1aWxkQ29uY3VycmVuY3k/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdoZW4gdG8gYnVpbGQgYXNzZXRzXG4gICAqXG4gICAqIFRoZSBkZWZhdWx0IGlzIHRoZSBEb2NrZXItZnJpZW5kbHkgZGVmYXVsdC5cbiAgICpcbiAgICogQGRlZmF1bHQgQXNzZXRCdWlsZFRpbWUuQUxMX0JFRk9SRV9ERVBMT1lcbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0QnVpbGRUaW1lPzogQXNzZXRCdWlsZFRpbWU7XG59XG5cbi8qKlxuICogUHJvcGVydHkgb3ZlcnJpZGVzIGZvciBFQ1MgaG90c3dhcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFY3NIb3Rzd2FwUHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBUaGUgbG93ZXIgbGltaXQgb24gdGhlIG51bWJlciBvZiB5b3VyIHNlcnZpY2UncyB0YXNrcyB0aGF0IG11c3QgcmVtYWluXG4gICAqIGluIHRoZSBSVU5OSU5HIHN0YXRlIGR1cmluZyBhIGRlcGxveW1lbnQsIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgZGVzaXJlZENvdW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbWluaW11bUhlYWx0aHlQZXJjZW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdXBwZXIgbGltaXQgb24gdGhlIG51bWJlciBvZiB5b3VyIHNlcnZpY2UncyB0YXNrcyB0aGF0IGFyZSBhbGxvd2VkXG4gICAqIGluIHRoZSBSVU5OSU5HIG9yIFBFTkRJTkcgc3RhdGUgZHVyaW5nIGEgZGVwbG95bWVudCwgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBkZXNpcmVkQ291bnQuXG4gICAqL1xuICByZWFkb25seSBtYXhpbXVtSGVhbHRoeVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0IGZvciBhIHNpbmdsZSBzZXJ2aWNlIHRvIHJlYWNoIHN0YWJsZSBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWJpbGl6YXRpb25UaW1lb3V0U2Vjb25kcz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0eSBvdmVycmlkZXMgZm9yIGhvdHN3YXAgZGVwbG95bWVudHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSG90c3dhcFByb3BlcnRpZXMge1xuICAvKipcbiAgICogRUNTIHNwZWNpZmljIGhvdHN3YXAgcHJvcGVydHkgb3ZlcnJpZGVzXG4gICAqL1xuICByZWFkb25seSBlY3M/OiBFY3NIb3Rzd2FwUHJvcGVydGllcztcbn1cbiJdfQ==
@@ -1,13 +1,5 @@
1
- import type { ChangeSetDeployment, DeploymentMethod } from '..';
1
+ import type { ChangeSetDeployment, DeploymentMethod, ExecuteChangeSetDeployment } from '..';
2
2
  export declare const DEFAULT_DEPLOY_CHANGE_SET_NAME = "cdk-deploy-change-set";
3
- /**
4
- * Execute a previously created change set.
5
- * This is an internal deployment method used by the two-phase deploy flow.
6
- */
7
- export interface ExecuteChangeSetDeployment {
8
- readonly method: 'execute-change-set';
9
- readonly changeSetName: string;
10
- }
11
3
  /**
12
4
  * A change set deployment that will execute.
13
5
  */
@@ -32,6 +24,10 @@ export declare function isExecutingChangeSetDeployment(method?: DeploymentMethod
32
24
  * Returns true if the deployment method is a change-set deployment that will not execute.
33
25
  */
34
26
  export declare function isNonExecutingChangeSetDeployment(method?: DeploymentMethod): method is NonExecutingChangeSetDeployment;
27
+ /**
28
+ * Returns true if the deployment method is a execute-change-set deployment.
29
+ */
30
+ export declare function isExecuteChangeSetDeployment(method?: DeploymentMethod): method is ExecuteChangeSetDeployment;
35
31
  /**
36
32
  * Create an ExecuteChangeSetDeployment from a ChangeSetDeployment.
37
33
  */
@@ -4,6 +4,7 @@ exports.DEFAULT_DEPLOY_CHANGE_SET_NAME = void 0;
4
4
  exports.isChangeSetDeployment = isChangeSetDeployment;
5
5
  exports.isExecutingChangeSetDeployment = isExecutingChangeSetDeployment;
6
6
  exports.isNonExecutingChangeSetDeployment = isNonExecutingChangeSetDeployment;
7
+ exports.isExecuteChangeSetDeployment = isExecuteChangeSetDeployment;
7
8
  exports.toExecuteChangeSetDeployment = toExecuteChangeSetDeployment;
8
9
  exports.DEFAULT_DEPLOY_CHANGE_SET_NAME = 'cdk-deploy-change-set';
9
10
  /**
@@ -24,6 +25,12 @@ function isExecutingChangeSetDeployment(method) {
24
25
  function isNonExecutingChangeSetDeployment(method) {
25
26
  return isChangeSetDeployment(method) && (method.execute === false);
26
27
  }
28
+ /**
29
+ * Returns true if the deployment method is a execute-change-set deployment.
30
+ */
31
+ function isExecuteChangeSetDeployment(method) {
32
+ return method?.method === 'execute-change-set';
33
+ }
27
34
  /**
28
35
  * Create an ExecuteChangeSetDeployment from a ChangeSetDeployment.
29
36
  */
@@ -33,4 +40,4 @@ function toExecuteChangeSetDeployment(method) {
33
40
  changeSetName: method.changeSetName ?? exports.DEFAULT_DEPLOY_CHANGE_SET_NAME,
34
41
  };
35
42
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudC1tZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZXBsb3ltZW50LW1ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEwQkEsc0RBRUM7QUFLRCx3RUFFQztBQUtELDhFQUVDO0FBS0Qsb0VBS0M7QUFsRFksUUFBQSw4QkFBOEIsR0FBRyx1QkFBdUIsQ0FBQztBQXFCdEU7O0dBRUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxNQUF5QjtJQUM3RCxPQUFPLE1BQU0sRUFBRSxNQUFNLEtBQUssWUFBWSxDQUFDO0FBQ3pDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLDhCQUE4QixDQUFDLE1BQXlCO0lBQ3RFLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDO0FBQ25FLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGlDQUFpQyxDQUFDLE1BQXlCO0lBQ3pFLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3JFLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLDRCQUE0QixDQUFDLE1BQTJCO0lBQ3RFLE9BQU87UUFDTCxNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYSxJQUFJLHNDQUE4QjtLQUN0RSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2hhbmdlU2V0RGVwbG95bWVudCwgRGVwbG95bWVudE1ldGhvZCB9IGZyb20gJy4uJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfREVQTE9ZX0NIQU5HRV9TRVRfTkFNRSA9ICdjZGstZGVwbG95LWNoYW5nZS1zZXQnO1xuXG4vKipcbiAqIEV4ZWN1dGUgYSBwcmV2aW91c2x5IGNyZWF0ZWQgY2hhbmdlIHNldC5cbiAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgZGVwbG95bWVudCBtZXRob2QgdXNlZCBieSB0aGUgdHdvLXBoYXNlIGRlcGxveSBmbG93LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGVDaGFuZ2VTZXREZXBsb3ltZW50IHtcbiAgcmVhZG9ubHkgbWV0aG9kOiAnZXhlY3V0ZS1jaGFuZ2Utc2V0JztcbiAgcmVhZG9ubHkgY2hhbmdlU2V0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgY2hhbmdlIHNldCBkZXBsb3ltZW50IHRoYXQgd2lsbCBleGVjdXRlLlxuICovXG5leHBvcnQgdHlwZSBFeGVjdXRpbmdDaGFuZ2VTZXREZXBsb3ltZW50ID0gQ2hhbmdlU2V0RGVwbG95bWVudCAmIHsgZXhlY3V0ZTogdHJ1ZSB9O1xuXG4vKipcbiAqIEEgY2hhbmdlIHNldCBkZXBsb3ltZW50IHRoYXQgd2lsbCBub3QgZXhlY3V0ZS5cbiAqL1xuZXhwb3J0IHR5cGUgTm9uRXhlY3V0aW5nQ2hhbmdlU2V0RGVwbG95bWVudCA9IENoYW5nZVNldERlcGxveW1lbnQgJiB7IGV4ZWN1dGU6IGZhbHNlIH07XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIHRoZSBkZXBsb3ltZW50IG1ldGhvZCBpcyBhIGNoYW5nZS1zZXQgZGVwbG95bWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ2hhbmdlU2V0RGVwbG95bWVudChtZXRob2Q/OiBEZXBsb3ltZW50TWV0aG9kKTogbWV0aG9kIGlzIENoYW5nZVNldERlcGxveW1lbnQge1xuICByZXR1cm4gbWV0aG9kPy5tZXRob2QgPT09ICdjaGFuZ2Utc2V0Jztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGRlcGxveW1lbnQgbWV0aG9kIGlzIGEgY2hhbmdlLXNldCBkZXBsb3ltZW50IHRoYXQgd2lsbCBleGVjdXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFeGVjdXRpbmdDaGFuZ2VTZXREZXBsb3ltZW50KG1ldGhvZD86IERlcGxveW1lbnRNZXRob2QpOiBtZXRob2QgaXMgRXhlY3V0aW5nQ2hhbmdlU2V0RGVwbG95bWVudCB7XG4gIHJldHVybiBpc0NoYW5nZVNldERlcGxveW1lbnQobWV0aG9kKSAmJiAobWV0aG9kLmV4ZWN1dGUgPz8gdHJ1ZSk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIHRoZSBkZXBsb3ltZW50IG1ldGhvZCBpcyBhIGNoYW5nZS1zZXQgZGVwbG95bWVudCB0aGF0IHdpbGwgbm90IGV4ZWN1dGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc05vbkV4ZWN1dGluZ0NoYW5nZVNldERlcGxveW1lbnQobWV0aG9kPzogRGVwbG95bWVudE1ldGhvZCk6IG1ldGhvZCBpcyBOb25FeGVjdXRpbmdDaGFuZ2VTZXREZXBsb3ltZW50IHtcbiAgcmV0dXJuIGlzQ2hhbmdlU2V0RGVwbG95bWVudChtZXRob2QpICYmIChtZXRob2QuZXhlY3V0ZSA9PT0gZmFsc2UpO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhbiBFeGVjdXRlQ2hhbmdlU2V0RGVwbG95bWVudCBmcm9tIGEgQ2hhbmdlU2V0RGVwbG95bWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRXhlY3V0ZUNoYW5nZVNldERlcGxveW1lbnQobWV0aG9kOiBDaGFuZ2VTZXREZXBsb3ltZW50KTogRXhlY3V0ZUNoYW5nZVNldERlcGxveW1lbnQge1xuICByZXR1cm4ge1xuICAgIG1ldGhvZDogJ2V4ZWN1dGUtY2hhbmdlLXNldCcsXG4gICAgY2hhbmdlU2V0TmFtZTogbWV0aG9kLmNoYW5nZVNldE5hbWUgPz8gREVGQVVMVF9ERVBMT1lfQ0hBTkdFX1NFVF9OQU1FLFxuICB9O1xufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudC1tZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZXBsb3ltZW50LW1ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpQkEsc0RBRUM7QUFLRCx3RUFFQztBQUtELDhFQUVDO0FBS0Qsb0VBRUM7QUFLRCxvRUFLQztBQWhEWSxRQUFBLDhCQUE4QixHQUFHLHVCQUF1QixDQUFDO0FBWXRFOztHQUVHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsTUFBeUI7SUFDN0QsT0FBTyxNQUFNLEVBQUUsTUFBTSxLQUFLLFlBQVksQ0FBQztBQUN6QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw4QkFBOEIsQ0FBQyxNQUF5QjtJQUN0RSxPQUFPLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixpQ0FBaUMsQ0FBQyxNQUF5QjtJQUN6RSxPQUFPLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxNQUF5QjtJQUNwRSxPQUFPLE1BQU0sRUFBRSxNQUFNLEtBQUssb0JBQW9CLENBQUM7QUFDakQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQUMsTUFBMkI7SUFDdEUsT0FBTztRQUNMLE1BQU0sRUFBRSxvQkFBb0I7UUFDNUIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLElBQUksc0NBQThCO0tBQ3RFLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDaGFuZ2VTZXREZXBsb3ltZW50LCBEZXBsb3ltZW50TWV0aG9kLCBFeGVjdXRlQ2hhbmdlU2V0RGVwbG95bWVudCB9IGZyb20gJy4uJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfREVQTE9ZX0NIQU5HRV9TRVRfTkFNRSA9ICdjZGstZGVwbG95LWNoYW5nZS1zZXQnO1xuXG4vKipcbiAqIEEgY2hhbmdlIHNldCBkZXBsb3ltZW50IHRoYXQgd2lsbCBleGVjdXRlLlxuICovXG5leHBvcnQgdHlwZSBFeGVjdXRpbmdDaGFuZ2VTZXREZXBsb3ltZW50ID0gQ2hhbmdlU2V0RGVwbG95bWVudCAmIHsgZXhlY3V0ZTogdHJ1ZSB9O1xuXG4vKipcbiAqIEEgY2hhbmdlIHNldCBkZXBsb3ltZW50IHRoYXQgd2lsbCBub3QgZXhlY3V0ZS5cbiAqL1xuZXhwb3J0IHR5cGUgTm9uRXhlY3V0aW5nQ2hhbmdlU2V0RGVwbG95bWVudCA9IENoYW5nZVNldERlcGxveW1lbnQgJiB7IGV4ZWN1dGU6IGZhbHNlIH07XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIHRoZSBkZXBsb3ltZW50IG1ldGhvZCBpcyBhIGNoYW5nZS1zZXQgZGVwbG95bWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ2hhbmdlU2V0RGVwbG95bWVudChtZXRob2Q/OiBEZXBsb3ltZW50TWV0aG9kKTogbWV0aG9kIGlzIENoYW5nZVNldERlcGxveW1lbnQge1xuICByZXR1cm4gbWV0aG9kPy5tZXRob2QgPT09ICdjaGFuZ2Utc2V0Jztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGRlcGxveW1lbnQgbWV0aG9kIGlzIGEgY2hhbmdlLXNldCBkZXBsb3ltZW50IHRoYXQgd2lsbCBleGVjdXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFeGVjdXRpbmdDaGFuZ2VTZXREZXBsb3ltZW50KG1ldGhvZD86IERlcGxveW1lbnRNZXRob2QpOiBtZXRob2QgaXMgRXhlY3V0aW5nQ2hhbmdlU2V0RGVwbG95bWVudCB7XG4gIHJldHVybiBpc0NoYW5nZVNldERlcGxveW1lbnQobWV0aG9kKSAmJiAobWV0aG9kLmV4ZWN1dGUgPz8gdHJ1ZSk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIHRoZSBkZXBsb3ltZW50IG1ldGhvZCBpcyBhIGNoYW5nZS1zZXQgZGVwbG95bWVudCB0aGF0IHdpbGwgbm90IGV4ZWN1dGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc05vbkV4ZWN1dGluZ0NoYW5nZVNldERlcGxveW1lbnQobWV0aG9kPzogRGVwbG95bWVudE1ldGhvZCk6IG1ldGhvZCBpcyBOb25FeGVjdXRpbmdDaGFuZ2VTZXREZXBsb3ltZW50IHtcbiAgcmV0dXJuIGlzQ2hhbmdlU2V0RGVwbG95bWVudChtZXRob2QpICYmIChtZXRob2QuZXhlY3V0ZSA9PT0gZmFsc2UpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZGVwbG95bWVudCBtZXRob2QgaXMgYSBleGVjdXRlLWNoYW5nZS1zZXQgZGVwbG95bWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXhlY3V0ZUNoYW5nZVNldERlcGxveW1lbnQobWV0aG9kPzogRGVwbG95bWVudE1ldGhvZCk6IG1ldGhvZCBpcyBFeGVjdXRlQ2hhbmdlU2V0RGVwbG95bWVudCB7XG4gIHJldHVybiBtZXRob2Q/Lm1ldGhvZCA9PT0gJ2V4ZWN1dGUtY2hhbmdlLXNldCc7XG59XG5cbi8qKlxuICogQ3JlYXRlIGFuIEV4ZWN1dGVDaGFuZ2VTZXREZXBsb3ltZW50IGZyb20gYSBDaGFuZ2VTZXREZXBsb3ltZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9FeGVjdXRlQ2hhbmdlU2V0RGVwbG95bWVudChtZXRob2Q6IENoYW5nZVNldERlcGxveW1lbnQpOiBFeGVjdXRlQ2hhbmdlU2V0RGVwbG95bWVudCB7XG4gIHJldHVybiB7XG4gICAgbWV0aG9kOiAnZXhlY3V0ZS1jaGFuZ2Utc2V0JyxcbiAgICBjaGFuZ2VTZXROYW1lOiBtZXRob2QuY2hhbmdlU2V0TmFtZSA/PyBERUZBVUxUX0RFUExPWV9DSEFOR0VfU0VUX05BTUUsXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,89 @@
1
+ import type { StackSelector } from '../../api/cloud-assembly/stack-selector';
2
+ import type { SourceTrace } from '../../api/source-tracing/types';
3
+ export interface DiagnoseOptions {
4
+ readonly stacks?: StackSelector;
5
+ /**
6
+ * How many stacks to do in parallel.
7
+ *
8
+ * @default 10
9
+ */
10
+ readonly concurrency?: number;
11
+ /**
12
+ * Toolkit stack name
13
+ */
14
+ readonly toolkitStackName?: string;
15
+ }
16
+ export interface DiagnoseResult {
17
+ readonly stacks: DiagnosedStack[];
18
+ }
19
+ export type StackDiagnosis = {
20
+ type: 'no-problem';
21
+ } | {
22
+ type: 'problem';
23
+ detectedBy: StackProblemSource;
24
+ problems: TracedResourceError[];
25
+ } | {
26
+ type: 'error-diagnosing';
27
+ message: string;
28
+ };
29
+ export type StackProblemSource = {
30
+ type: 'deployment';
31
+ stackStatus: string;
32
+ statusReason: string;
33
+ } | {
34
+ type: 'change-set';
35
+ changeSetName: string;
36
+ changeSetStatus: string;
37
+ statusReason: string;
38
+ } | {
39
+ type: 'early-validation';
40
+ changeSetName: string;
41
+ };
42
+ export interface DiagnosedStack {
43
+ readonly stackName: string;
44
+ readonly hierarchicalId: string;
45
+ readonly result: StackDiagnosis;
46
+ }
47
+ export interface TracedResourceError {
48
+ /**
49
+ * The stack this resource error occurred in
50
+ */
51
+ readonly stackArn: string;
52
+ /**
53
+ * Top-level stack name or stack construct path we found the error in
54
+ */
55
+ readonly topLevelStackHierarchicalId: string;
56
+ /**
57
+ * IDs of parent stacks of the resource, in case of resources in nested stacks
58
+ */
59
+ readonly parentStackLogicalIds: string[];
60
+ /**
61
+ * Logical ID of the resource
62
+ *
63
+ * (May be absent in case this message is about the stack itself)
64
+ */
65
+ readonly logicalId?: string;
66
+ /**
67
+ * Resource type
68
+ */
69
+ readonly resourceType?: string;
70
+ /**
71
+ * Physical ID of the resource
72
+ */
73
+ readonly physicalId?: string;
74
+ /**
75
+ * Error message of the resource
76
+ */
77
+ readonly message: string;
78
+ /**
79
+ * Error code of the resource
80
+ */
81
+ readonly errorCode?: string;
82
+ /**
83
+ * Optionally a source trace
84
+ *
85
+ * (Not optional on purpose so we are not allowed to forget to call the code that should fill it)
86
+ */
87
+ readonly sourceTrace: SourceTrace | undefined;
88
+ }
89
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTdGFja1NlbGVjdG9yIH0gZnJvbSAnLi4vLi4vYXBpL2Nsb3VkLWFzc2VtYmx5L3N0YWNrLXNlbGVjdG9yJztcbmltcG9ydCB0eXBlIHsgU291cmNlVHJhY2UgfSBmcm9tICcuLi8uLi9hcGkvc291cmNlLXRyYWNpbmcvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpYWdub3NlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHN0YWNrcz86IFN0YWNrU2VsZWN0b3I7XG5cbiAgLyoqXG4gICAqIEhvdyBtYW55IHN0YWNrcyB0byBkbyBpbiBwYXJhbGxlbC5cbiAgICpcbiAgICogQGRlZmF1bHQgMTBcbiAgICovXG4gIHJlYWRvbmx5IGNvbmN1cnJlbmN5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUb29sa2l0IHN0YWNrIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHRvb2xraXRTdGFja05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhZ25vc2VSZXN1bHQge1xuICByZWFkb25seSBzdGFja3M6IERpYWdub3NlZFN0YWNrW107XG59XG5cbmV4cG9ydCB0eXBlIFN0YWNrRGlhZ25vc2lzID1cbiAgfCB7IHR5cGU6ICduby1wcm9ibGVtJyB9XG4gIHwgeyB0eXBlOiAncHJvYmxlbSc7IGRldGVjdGVkQnk6IFN0YWNrUHJvYmxlbVNvdXJjZTsgcHJvYmxlbXM6IFRyYWNlZFJlc291cmNlRXJyb3JbXSB9XG4gIHwgeyB0eXBlOiAnZXJyb3ItZGlhZ25vc2luZyc7IG1lc3NhZ2U6IHN0cmluZyB9O1xuXG5leHBvcnQgdHlwZSBTdGFja1Byb2JsZW1Tb3VyY2UgPVxuICB8IHsgdHlwZTogJ2RlcGxveW1lbnQnOyBzdGFja1N0YXR1czogc3RyaW5nOyBzdGF0dXNSZWFzb246IHN0cmluZyB9XG4gIHwgeyB0eXBlOiAnY2hhbmdlLXNldCc7IGNoYW5nZVNldE5hbWU6IHN0cmluZzsgY2hhbmdlU2V0U3RhdHVzOiBzdHJpbmc7IHN0YXR1c1JlYXNvbjogc3RyaW5nIH1cbiAgfCB7IHR5cGU6ICdlYXJseS12YWxpZGF0aW9uJzsgY2hhbmdlU2V0TmFtZTogc3RyaW5nIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhZ25vc2VkU3RhY2sge1xuICByZWFkb25seSBzdGFja05hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgaGllcmFyY2hpY2FsSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVzdWx0OiBTdGFja0RpYWdub3Npcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFjZWRSZXNvdXJjZUVycm9yIHtcbiAgLyoqXG4gICAqIFRoZSBzdGFjayB0aGlzIHJlc291cmNlIGVycm9yIG9jY3VycmVkIGluXG4gICAqL1xuICByZWFkb25seSBzdGFja0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUb3AtbGV2ZWwgc3RhY2sgbmFtZSBvciBzdGFjayBjb25zdHJ1Y3QgcGF0aCB3ZSBmb3VuZCB0aGUgZXJyb3IgaW5cbiAgICovXG4gIHJlYWRvbmx5IHRvcExldmVsU3RhY2tIaWVyYXJjaGljYWxJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJRHMgb2YgcGFyZW50IHN0YWNrcyBvZiB0aGUgcmVzb3VyY2UsIGluIGNhc2Ugb2YgcmVzb3VyY2VzIGluIG5lc3RlZCBzdGFja3NcbiAgICovXG4gIHJlYWRvbmx5IHBhcmVudFN0YWNrTG9naWNhbElkczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExvZ2ljYWwgSUQgb2YgdGhlIHJlc291cmNlXG4gICAqXG4gICAqIChNYXkgYmUgYWJzZW50IGluIGNhc2UgdGhpcyBtZXNzYWdlIGlzIGFib3V0IHRoZSBzdGFjayBpdHNlbGYpXG4gICAqL1xuICByZWFkb25seSBsb2dpY2FsSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlc291cmNlIHR5cGVcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlVHlwZT86IHN0cmluZztcblxuICAvKipcbiAgICogUGh5c2ljYWwgSUQgb2YgdGhlIHJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBwaHlzaWNhbElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFcnJvciBtZXNzYWdlIG9mIHRoZSByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFcnJvciBjb2RlIG9mIHRoZSByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3JDb2RlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbGx5IGEgc291cmNlIHRyYWNlXG4gICAqXG4gICAqIChOb3Qgb3B0aW9uYWwgb24gcHVycG9zZSBzbyB3ZSBhcmUgbm90IGFsbG93ZWQgdG8gZm9yZ2V0IHRvIGNhbGwgdGhlIGNvZGUgdGhhdCBzaG91bGQgZmlsbCBpdClcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZVRyYWNlOiBTb3VyY2VUcmFjZSB8IHVuZGVmaW5lZDtcbn1cbiJdfQ==
@@ -54,7 +54,17 @@ async function cfnDiff(ioHelper, stacks, deployments, options, sdkProvider, incl
54
54
  if (resourcesToImport) {
55
55
  (0, resource_import_1.removeNonImportResources)(stack);
56
56
  }
57
- const changeSet = includeChangeSet ? await changeSetDiff(ioHelper, deployments, stack, sdkProvider, resourcesToImport, methodOptions.parameters, methodOptions.fallbackToTemplate, methodOptions.importExistingResources) : undefined;
57
+ const changeSet = includeChangeSet ? await cfnApi.createDiffChangeSet(ioHelper, {
58
+ deployments,
59
+ stack,
60
+ sdkProvider,
61
+ resourcesToImport,
62
+ parameters: methodOptions.parameters ?? {},
63
+ failOnError: !(methodOptions.fallbackToTemplate ?? true),
64
+ importExistingResources: methodOptions.importExistingResources,
65
+ uuid: uuid.v4(),
66
+ willExecute: false,
67
+ }) : undefined;
58
68
  // If the changeset includes nested stacks, describe each nested changeset
59
69
  // and attach it to the corresponding entry in nestedStacks.
60
70
  if (changeSet) {
@@ -72,19 +82,6 @@ async function cfnDiff(ioHelper, stacks, deployments, options, sdkProvider, incl
72
82
  }
73
83
  return templateInfos;
74
84
  }
75
- async function changeSetDiff(ioHelper, deployments, stack, sdkProvider, resourcesToImport, parameters = {}, fallBackToTemplate = true, importExistingResources = false) {
76
- return cfnApi.createDiffChangeSet(ioHelper, {
77
- stack,
78
- uuid: uuid.v4(),
79
- deployments,
80
- willExecute: false,
81
- sdkProvider,
82
- parameters: parameters,
83
- resourcesToImport,
84
- failOnError: !fallBackToTemplate,
85
- importExistingResources,
86
- });
87
- }
88
85
  /**
89
86
  * Walk the root changeset's Changes looking for nested stack resources
90
87
  * that have their own ChangeSetId. Describe each nested changeset and
@@ -134,4 +131,4 @@ function appendObject(obj1, obj2) {
134
131
  // Return the modified obj1
135
132
  return obj1;
136
133
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFtQkEsa0NBaUJDO0FBcUtELG9DQVdDO0FBbE5ELCtCQUErQjtBQUMvQiw2QkFBNkI7QUFFN0IsMEJBQWdDO0FBS2hDLDJEQUEyRDtBQUkzRCxrRUFBMEY7QUFDMUYsa0VBQThEO0FBQzlELHdDQUF5RTtBQUN6RSw0RUFBK0U7QUFFL0UsU0FBZ0IsV0FBVyxDQUN6QixRQUFrQixFQUNsQixNQUF1QixFQUN2QixXQUF3QixFQUN4QixXQUF3QixFQUN4QixPQUFvQjtJQUVwQixRQUFRLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLGNBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoRSxLQUFLLFlBQVk7WUFDZixPQUFPLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEMsS0FBSyxlQUFlO1lBQ2xCLE9BQU8sT0FBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0UsS0FBSyxZQUFZO1lBQ2YsT0FBTyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RTtZQUNFLE1BQU0sSUFBSSw0QkFBWSxDQUFDLG1CQUFtQixFQUFFLElBQUEseUJBQWtCLEVBQUMsdUJBQXVCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0csQ0FBQztBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUsYUFBYSxDQUFDLE1BQXVCLEVBQUUsT0FBb0I7SUFDeEUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQXlCLENBQUM7SUFFOUUsOENBQThD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Q3hCLENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBjeGFwaSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1hcGknO1xuaW1wb3J0IHR5cGUgeyBEZXNjcmliZUNoYW5nZVNldENvbW1hbmRPdXRwdXQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcbmltcG9ydCB0eXBlIHsgQ2hhbmdlU2V0RGlmZk9wdGlvbnMsIERpZmZPcHRpb25zLCBMb2NhbEZpbGVEaWZmT3B0aW9ucyB9IGZyb20gJy4uJztcbmltcG9ydCB7IERpZmZNZXRob2QgfSBmcm9tICcuLic7XG5pbXBvcnQgdHlwZSB7IFNka1Byb3ZpZGVyIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2F3cy1hdXRoL3ByaXZhdGUnO1xuaW1wb3J0IHR5cGUgeyBTdGFja0NvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9hcGkvY2xvdWQtYXNzZW1ibHkvc3RhY2stY29sbGVjdGlvbic7XG5pbXBvcnQgdHlwZSB7IE5lc3RlZFN0YWNrVGVtcGxhdGVzIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2Nsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB0eXBlIHsgRGVwbG95bWVudHMgfSBmcm9tICcuLi8uLi8uLi9hcGkvZGVwbG95bWVudHMnO1xuaW1wb3J0ICogYXMgY2ZuQXBpIGZyb20gJy4uLy4uLy4uL2FwaS9kZXBsb3ltZW50cy9jZm4tYXBpJztcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGVJbmZvIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2RpZmYnO1xuaW1wb3J0IHR5cGUgeyBJb0hlbHBlciB9IGZyb20gJy4uLy4uLy4uL2FwaS9pby9wcml2YXRlJztcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VzVG9JbXBvcnQgfSBmcm9tICcuLi8uLi8uLi9hcGkvcmVzb3VyY2UtaW1wb3J0JztcbmltcG9ydCB7IHJlbW92ZU5vbkltcG9ydFJlc291cmNlcywgUmVzb3VyY2VNaWdyYXRvciB9IGZyb20gJy4uLy4uLy4uL2FwaS9yZXNvdXJjZS1pbXBvcnQnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vdG9vbGtpdC90b29sa2l0LWVycm9yJztcbmltcG9ydCB7IGRlc2VyaWFsaXplU3RydWN0dXJlLCBmb3JtYXRFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi91dGlsJztcbmltcG9ydCB7IG1hcHBpbmdzQnlFbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL3JlZmFjdG9yL3ByaXZhdGUvbWFwcGluZy1oZWxwZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVEaWZmKFxuICBpb0hlbHBlcjogSW9IZWxwZXIsXG4gIHN0YWNrczogU3RhY2tDb2xsZWN0aW9uLFxuICBkZXBsb3ltZW50czogRGVwbG95bWVudHMsXG4gIHNka1Byb3ZpZGVyOiBTZGtQcm92aWRlcixcbiAgb3B0aW9uczogRGlmZk9wdGlvbnMsXG4pOiBQcm9taXNlPFRlbXBsYXRlSW5mb1tdPiB7XG4gIHN3aXRjaCAob3B0aW9ucy5tZXRob2Q/Lm1ldGhvZCA/PyBEaWZmTWV0aG9kLkNoYW5nZVNldCgpLm1ldGhvZCkge1xuICAgIGNhc2UgJ2xvY2FsLWZpbGUnOlxuICAgICAgcmV0dXJuIGxvY2FsRmlsZURpZmYoc3RhY2tzLCBvcHRpb25zKTtcbiAgICBjYXNlICd0ZW1wbGF0ZS1vbmx5JzpcbiAgICAgIHJldHVybiBjZm5EaWZmKGlvSGVscGVyLCBzdGFja3MsIGRlcGxveW1lbnRzLCBvcHRpb25zLCBzZGtQcm92aWRlciwgZmFsc2UpO1xuICAgIGNhc2UgJ2NoYW5nZS1zZXQnOlxuICAgICAgcmV0dXJuIGNmbkRpZmYoaW9IZWxwZXIsIHN0YWNrcywgZGVwbG95bWVudHMsIG9wdGlvbnMsIHNka1Byb3ZpZGVyLCB0cnVlKTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcignVW5rbm93bkRpZmZNZXRob2QnLCBmb3JtYXRFcnJvck1lc3NhZ2UoYFVua25vd24gZGlmZiBtZXRob2QgJHtvcHRpb25zLm1ldGhvZH1gKSk7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9jYWxGaWxlRGlmZihzdGFja3M6IFN0YWNrQ29sbGVjdGlvbiwgb3B0aW9uczogRGlmZk9wdGlvbnMpOiBQcm9taXNlPFRlbXBsYXRlSW5mb1tdPiB7XG4gIGNvbnN0IG1ldGhvZE9wdGlvbnMgPSAob3B0aW9ucy5tZXRob2Q/Lm9wdGlvbnMgPz8ge30pIGFzIExvY2FsRmlsZURpZmZPcHRpb25zO1xuXG4gIC8vIENvbXBhcmUgc2luZ2xlIHN0YWNrIGFnYWluc3QgZml4ZWQgdGVtcGxhdGVcbiAgaWYgKHN0YWNrcy5zdGFja0NvdW50ICE9PSAxKSB7XG4gICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihcbiAgICAgICdTaW5nbGVTdGFja1JlcXVpcmVkJyxcbiAgICAgICdDYW4gb25seSBzZWxlY3Qgb25lIHN0YWNrIHdoZW4gY29tcGFyaW5nIHRvIGZpeGVkIHRlbXBsYXRlLiBVc2UgLS1leGNsdXNpdmVseSB0byBhdm9pZCBzZWxlY3RpbmcgbXVsdGlwbGUgc3RhY2tzLicsXG4gICAgKTtcbiAgfVxuXG4gIGlmICghKGF3YWl0IGZzLnBhdGhFeGlzdHMobWV0aG9kT3B0aW9ucy5wYXRoKSkpIHtcbiAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKCdUZW1wbGF0ZUZpbGVOb3RGb3VuZCcsIGBUaGVyZSBpcyBubyBmaWxlIGF0ICR7bWV0aG9kT3B0aW9ucy5wYXRofWApO1xuICB9XG5cbiAgY29uc3QgZmlsZSA9IGZzLnJlYWRGaWxlU3luYyhtZXRob2RPcHRpb25zLnBhdGgpLnRvU3RyaW5nKCk7XG4gIGNvbnN0IHRlbXBsYXRlID0gZGVzZXJpYWxpemVTdHJ1Y3R1cmUoZmlsZSk7XG5cbiAgcmV0dXJuIFt7XG4gICAgb2xkVGVtcGxhdGU6IHRlbXBsYXRlLFxuICAgIG5ld1RlbXBsYXRlOiBzdGFja3MuZmlyc3RTdGFjayxcbiAgfV07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNmbkRpZmYoXG4gIGlvSGVscGVyOiBJb0hlbHBlcixcbiAgc3RhY2tzOiBTdGFja0NvbGxlY3Rpb24sXG4gIGRlcGxveW1lbnRzOiBEZXBsb3ltZW50cyxcbiAgb3B0aW9uczogRGlmZk9wdGlvbnMsXG4gIHNka1Byb3ZpZGVyOiBTZGtQcm92aWRlcixcbiAgaW5jbHVkZUNoYW5nZVNldDogYm9vbGVhbixcbik6IFByb21pc2U8VGVtcGxhdGVJbmZvW10+IHtcbiAgY29uc3QgdGVtcGxhdGVJbmZvcyA9IFtdO1xuICBjb25zdCBtZXRob2RPcHRpb25zID0gKG9wdGlvbnMubWV0aG9kPy5vcHRpb25zID8/IHt9KSBhcyBDaGFuZ2VTZXREaWZmT3B0aW9ucztcblxuICBjb25zdCBhbGxNYXBwaW5ncyA9IG9wdGlvbnMuaW5jbHVkZU1vdmVzXG4gICAgPyBhd2FpdCBtYXBwaW5nc0J5RW52aXJvbm1lbnQoc3RhY2tzLnN0YWNrQXJ0aWZhY3RzLCBzZGtQcm92aWRlciwgdHJ1ZSlcbiAgICA6IFtdO1xuXG4gIC8vIENvbXBhcmUgTiBzdGFja3MgYWdhaW5zdCBkZXBsb3llZCB0ZW1wbGF0ZXNcbiAgZm9yIChjb25zdCBzdGFjayBvZiBzdGFja3Muc3RhY2tBcnRpZmFjdHMpIHtcbiAgICBjb25zdCB0ZW1wbGF0ZVdpdGhOZXN0ZWRTdGFja3MgPSBhd2FpdCBkZXBsb3ltZW50cy5yZWFkQ3VycmVudFRlbXBsYXRlV2l0aE5lc3RlZFN0YWNrcyhcbiAgICAgIHN0YWNrLFxuICAgICAgbWV0aG9kT3B0aW9ucy5jb21wYXJlQWdhaW5zdFByb2Nlc3NlZFRlbXBsYXRlLFxuICAgICk7XG4gICAgY29uc3QgY3VycmVudFRlbXBsYXRlID0gdGVtcGxhdGVXaXRoTmVzdGVkU3RhY2tzLmRlcGxveWVkUm9vdFRlbXBsYXRlO1xuICAgIGNvbnN0IG5lc3RlZFN0YWNrcyA9IHRlbXBsYXRlV2l0aE5lc3RlZFN0YWNrcy5uZXN0ZWRTdGFja3M7XG5cbiAgICBjb25zdCBtaWdyYXRvciA9IG5ldyBSZXNvdXJjZU1pZ3JhdG9yKHsgZGVwbG95bWVudHMsIGlvSGVscGVyIH0pO1xuICAgIGNvbnN0IHJlc291cmNlc1RvSW1wb3J0ID0gYXdhaXQgbWlncmF0b3IudHJ5R2V0UmVzb3VyY2VzKGF3YWl0IGRlcGxveW1lbnRzLnJlc29sdmVFbnZpcm9ubWVudChzdGFjaykpO1xuICAgIGlmIChyZXNvdXJjZXNUb0ltcG9ydCkge1xuICAgICAgcmVtb3ZlTm9uSW1wb3J0UmVzb3VyY2VzKHN0YWNrKTtcbiAgICB9XG5cbiAgICBjb25zdCBjaGFuZ2VTZXQgPSBpbmNsdWRlQ2hhbmdlU2V0ID8gYXdhaXQgY2hhbmdlU2V0RGlmZihcbiAgICAgIGlvSGVscGVyLFxuICAgICAgZGVwbG95bWVudHMsXG4gICAgICBzdGFjayxcbiAgICAgIHNka1Byb3ZpZGVyLFxuICAgICAgcmVzb3VyY2VzVG9JbXBvcnQsXG4gICAgICBtZXRob2RPcHRpb25zLnBhcmFtZXRlcnMsXG4gICAgICBtZXRob2RPcHRpb25zLmZhbGxiYWNrVG9UZW1wbGF0ZSxcbiAgICAgIG1ldGhvZE9wdGlvbnMuaW1wb3J0RXhpc3RpbmdSZXNvdXJjZXMsXG4gICAgKSA6IHVuZGVmaW5lZDtcblxuICAgIC8vIElmIHRoZSBjaGFuZ2VzZXQgaW5jbHVkZXMgbmVzdGVkIHN0YWNrcywgZGVzY3JpYmUgZWFjaCBuZXN0ZWQgY2hhbmdlc2V0XG4gICAgLy8gYW5kIGF0dGFjaCBpdCB0byB0aGUgY29ycmVzcG9uZGluZyBlbnRyeSBpbiBuZXN0ZWRTdGFja3MuXG4gICAgaWYgKGNoYW5nZVNldCkge1xuICAgICAgYXdhaXQgYXR0YWNoTmVzdGVkQ2hhbmdlU2V0RGF0YShkZXBsb3ltZW50cywgc3RhY2ssIGNoYW5nZVNldCwgbmVzdGVkU3RhY2tzKTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXBwaW5ncyA9IGFsbE1hcHBpbmdzLmZpbmQobSA9PlxuICAgICAgbS5lbnZpcm9ubWVudC5yZWdpb24gPT09IHN0YWNrLmVudmlyb25tZW50LnJlZ2lvbiAmJiBtLmVudmlyb25tZW50LmFjY291bnQgPT09IHN0YWNrLmVudmlyb25tZW50LmFjY291bnQsXG4gICAgKT8ubWFwcGluZ3MgPz8ge307XG5cbiAgICB0ZW1wbGF0ZUluZm9zLnB1c2goe1xuICAgICAgb2xkVGVtcGxhdGU6IGN1cnJlbnRUZW1wbGF0ZSxcbiAgICAgIG5ld1RlbXBsYXRlOiBzdGFjayxcbiAgICAgIGlzSW1wb3J0OiAhIXJlc291cmNlc1RvSW1wb3J0LFxuICAgICAgbmVzdGVkU3RhY2tzLFxuICAgICAgY2hhbmdlU2V0LFxuICAgICAgbWFwcGluZ3MsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGVtcGxhdGVJbmZvcztcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2hhbmdlU2V0RGlmZihcbiAgaW9IZWxwZXI6IElvSGVscGVyLFxuICBkZXBsb3ltZW50czogRGVwbG95bWVudHMsXG4gIHN0YWNrOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QsXG4gIHNka1Byb3ZpZGVyOiBTZGtQcm92aWRlcixcbiAgcmVzb3VyY2VzVG9JbXBvcnQ/OiBSZXNvdXJjZXNUb0ltcG9ydCxcbiAgcGFyYW1ldGVyczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH0gPSB7fSxcbiAgZmFsbEJhY2tUb1RlbXBsYXRlOiBib29sZWFuID0gdHJ1ZSxcbiAgaW1wb3J0RXhpc3RpbmdSZXNvdXJjZXM6IGJvb2xlYW4gPSBmYWxzZSxcbik6IFByb21pc2U8YW55IHwgdW5kZWZpbmVkPiB7XG4gIHJldHVybiBjZm5BcGkuY3JlYXRlRGlmZkNoYW5nZVNldChpb0hlbHBlciwge1xuICAgIHN0YWNrLFxuICAgIHV1aWQ6IHV1aWQudjQoKSxcbiAgICBkZXBsb3ltZW50cyxcbiAgICB3aWxsRXhlY3V0ZTogZmFsc2UsXG4gICAgc2RrUHJvdmlkZXIsXG4gICAgcGFyYW1ldGVyczogcGFyYW1ldGVycyxcbiAgICByZXNvdXJjZXNUb0ltcG9ydCxcbiAgICBmYWlsT25FcnJvcjogIWZhbGxCYWNrVG9UZW1wbGF0ZSxcbiAgICBpbXBvcnRFeGlzdGluZ1Jlc291cmNlcyxcbiAgfSk7XG59XG5cbi8qKlxuICogV2FsayB0aGUgcm9vdCBjaGFuZ2VzZXQncyBDaGFuZ2VzIGxvb2tpbmcgZm9yIG5lc3RlZCBzdGFjayByZXNvdXJjZXNcbiAqIHRoYXQgaGF2ZSB0aGVpciBvd24gQ2hhbmdlU2V0SWQuIERlc2NyaWJlIGVhY2ggbmVzdGVkIGNoYW5nZXNldCBhbmRcbiAqIGF0dGFjaCBpdCB0byB0aGUgbWF0Y2hpbmcgZW50cnkgaW4gdGhlIG5lc3RlZFN0YWNrcyBtYXAuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGF0dGFjaE5lc3RlZENoYW5nZVNldERhdGEoXG4gIGRlcGxveW1lbnRzOiBEZXBsb3ltZW50cyxcbiAgc3RhY2s6IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCxcbiAgcm9vdENoYW5nZVNldDogRGVzY3JpYmVDaGFuZ2VTZXRDb21tYW5kT3V0cHV0LFxuICBuZXN0ZWRTdGFja3M6IHsgW2xvZ2ljYWxJZDogc3RyaW5nXTogTmVzdGVkU3RhY2tUZW1wbGF0ZXMgfSxcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBlbnYgPSBhd2FpdCBkZXBsb3ltZW50cy5lbnZzLmFjY2Vzc1N0YWNrRm9yUmVhZE9ubHlTdGFja09wZXJhdGlvbnMoc3RhY2spO1xuICBjb25zdCBjZm4gPSBlbnYuc2RrLmNsb3VkRm9ybWF0aW9uKCk7XG5cbiAgZm9yIChjb25zdCBjaGFuZ2Ugb2Ygcm9vdENoYW5nZVNldC5DaGFuZ2VzID8/IFtdKSB7XG4gICAgY29uc3QgcmMgPSBjaGFuZ2UuUmVzb3VyY2VDaGFuZ2U7XG4gICAgaWYgKHJjPy5SZXNvdXJjZVR5cGUgIT09ICdBV1M6OkNsb3VkRm9ybWF0aW9uOjpTdGFjaycgfHwgIXJjLkNoYW5nZVNldElkIHx8ICFyYy5Mb2dpY2FsUmVzb3VyY2VJZCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgbmVzdGVkID0gbmVzdGVkU3RhY2tzW3JjLkxvZ2ljYWxSZXNvdXJjZUlkXTtcbiAgICBpZiAoIW5lc3RlZCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgbmVzdGVkQ2hhbmdlU2V0ID0gYXdhaXQgY2ZuLmRlc2NyaWJlQ2hhbmdlU2V0KHtcbiAgICAgIENoYW5nZVNldE5hbWU6IHJjLkNoYW5nZVNldElkLFxuICAgICAgU3RhY2tOYW1lOiByYy5QaHlzaWNhbFJlc291cmNlSWQgPz8gcmMuTG9naWNhbFJlc291cmNlSWQsXG4gICAgfSk7XG5cbiAgICAvLyBSZXBsYWNlIHRoZSBlbnRyeSB3aXRoIG9uZSB0aGF0IGluY2x1ZGVzIHRoZSBjaGFuZ2VzZXRcbiAgICAobmVzdGVkU3RhY2tzIGFzIGFueSlbcmMuTG9naWNhbFJlc291cmNlSWRdID0ge1xuICAgICAgLi4ubmVzdGVkLFxuICAgICAgY2hhbmdlU2V0OiBuZXN0ZWRDaGFuZ2VTZXQsXG4gICAgfTtcblxuICAgIC8vIFJlY3Vyc2UgaW50byBkZWVwZXIgbmVzdGluZyBsZXZlbHNcbiAgICBpZiAobmVzdGVkQ2hhbmdlU2V0ICYmIE9iamVjdC5rZXlzKG5lc3RlZC5uZXN0ZWRTdGFja1RlbXBsYXRlcykubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgYXR0YWNoTmVzdGVkQ2hhbmdlU2V0RGF0YShkZXBsb3ltZW50cywgc3RhY2ssIG5lc3RlZENoYW5nZVNldCwgbmVzdGVkLm5lc3RlZFN0YWNrVGVtcGxhdGVzKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBcHBlbmRzIGFsbCBwcm9wZXJ0aWVzIGZyb20gb2JqMiB0byBvYmoxLlxuICogb2JqMiB2YWx1ZXMgdGFrZSBwcmlvcml0eSBpbiB0aGUgY2FzZSBvZiBjb2xsaXNpb25zLlxuICpcbiAqIEBwYXJhbSBvYmoxIC0gVGhlIG9iamVjdCB0byBtb2RpZnlcbiAqIEBwYXJhbSBvYmoyIC0gVGhlIG9iamVjdCB0byBjb25zdW1lXG4gKlxuICogQHJldHVybnMgb2JqMSB3aXRoIGFsbCBwcm9wZXJ0aWVzIGZyb20gb2JqMlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kT2JqZWN0PFQ+KFxuICBvYmoxOiB7IFtuYW1lOiBzdHJpbmddOiBUIH0sXG4gIG9iajI6IHsgW25hbWU6IHN0cmluZ106IFQgfSxcbik6IHsgW25hbWU6IHN0cmluZ106IFQgfSB7XG4gIC8vIERpcmVjdGx5IG1vZGlmeSBvYmoxIGJ5IGFkZGluZyBhbGwgcHJvcGVydGllcyBmcm9tIG9iajJcbiAgZm9yIChjb25zdCBrZXkgaW4gb2JqMikge1xuICAgIG9iajFba2V5XSA9IG9iajJba2V5XTtcbiAgfVxuXG4gIC8vIFJldHVybiB0aGUgbW9kaWZpZWQgb2JqMVxuICByZXR1cm4gb2JqMTtcbn1cbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFrQkEsa0NBaUJDO0FBK0lELG9DQVdDO0FBM0xELCtCQUErQjtBQUMvQiw2QkFBNkI7QUFFN0IsMEJBQWdDO0FBS2hDLDJEQUEyRDtBQUczRCxrRUFBMEY7QUFDMUYsa0VBQThEO0FBQzlELHdDQUF5RTtBQUN6RSw0RUFBK0U7QUFFL0UsU0FBZ0IsV0FBVyxDQUN6QixRQUFrQixFQUNsQixNQUF1QixFQUN2QixXQUF3QixFQUN4QixXQUF3QixFQUN4QixPQUFvQjtJQUVwQixRQUFRLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLGNBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoRSxLQUFLLFlBQVk7WUFDZixPQUFPLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEMsS0FBSyxlQUFlO1lBQ2xCLE9BQU8sT0FBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0UsS0FBSyxZQUFZO1lBQ2YsT0FBTyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RTtZQUNFLE1BQU0sSUFBSSw0QkFBWSxDQUFDLG1CQUFtQixFQUFFLElBQUEseUJBQWtCLEVBQUMsdUJBQXVCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0csQ0FBQztBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUsYUFBYSxDQUFDLE1BQXVCLEVBQUUsT0FBb0I7SUFDeEUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQXlCLENBQUM7SUFFOUUsOENBQThD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QUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixTQUFTO1FBQ1gsQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLE1BQU0sR0FBRyxDQUFDLGlCQUFpQixDQUFDO1lBQ2xELGFBQWEsRUFBRSxFQUFFLENBQUMsV0FBVztZQUM3QixTQUFTLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FBQyxpQkFBaUI7U0FDekQsQ0FBQyxDQUFDO1FBRUgseURBQXlEO1FBQ3hELFlBQW9CLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDNUMsR0FBRyxNQUFNO1lBQ1QsU0FBUyxFQUFFLGVBQWU7U0FDM0IsQ0FBQztRQUVGLHFDQUFxQztRQUNyQyxJQUFJLGVBQWUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzRSxNQUFNLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BHLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0IsWUFBWSxDQUMxQixJQUEyQixFQUMzQixJQUEyQjtJQUUzQiwwREFBMEQ7SUFDMUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBjeGFwaSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1hcGknO1xuaW1wb3J0IHR5cGUgeyBEZXNjcmliZUNoYW5nZVNldENvbW1hbmRPdXRwdXQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcbmltcG9ydCB0eXBlIHsgQ2hhbmdlU2V0RGlmZk9wdGlvbnMsIERpZmZPcHRpb25zLCBMb2NhbEZpbGVEaWZmT3B0aW9ucyB9IGZyb20gJy4uJztcbmltcG9ydCB7IERpZmZNZXRob2QgfSBmcm9tICcuLic7XG5pbXBvcnQgdHlwZSB7IFNka1Byb3ZpZGVyIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2F3cy1hdXRoL3ByaXZhdGUnO1xuaW1wb3J0IHR5cGUgeyBTdGFja0NvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9hcGkvY2xvdWQtYXNzZW1ibHkvc3RhY2stY29sbGVjdGlvbic7XG5pbXBvcnQgdHlwZSB7IE5lc3RlZFN0YWNrVGVtcGxhdGVzIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2Nsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB0eXBlIHsgRGVwbG95bWVudHMgfSBmcm9tICcuLi8uLi8uLi9hcGkvZGVwbG95bWVudHMnO1xuaW1wb3J0ICogYXMgY2ZuQXBpIGZyb20gJy4uLy4uLy4uL2FwaS9kZXBsb3ltZW50cy9jZm4tYXBpJztcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGVJbmZvIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2RpZmYnO1xuaW1wb3J0IHR5cGUgeyBJb0hlbHBlciB9IGZyb20gJy4uLy4uLy4uL2FwaS9pby9wcml2YXRlJztcbmltcG9ydCB7IHJlbW92ZU5vbkltcG9ydFJlc291cmNlcywgUmVzb3VyY2VNaWdyYXRvciB9IGZyb20gJy4uLy4uLy4uL2FwaS9yZXNvdXJjZS1pbXBvcnQnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vdG9vbGtpdC90b29sa2l0LWVycm9yJztcbmltcG9ydCB7IGRlc2VyaWFsaXplU3RydWN0dXJlLCBmb3JtYXRFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi91dGlsJztcbmltcG9ydCB7IG1hcHBpbmdzQnlFbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL3JlZmFjdG9yL3ByaXZhdGUvbWFwcGluZy1oZWxwZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVEaWZmKFxuICBpb0hlbHBlcjogSW9IZWxwZXIsXG4gIHN0YWNrczogU3RhY2tDb2xsZWN0aW9uLFxuICBkZXBsb3ltZW50czogRGVwbG95bWVudHMsXG4gIHNka1Byb3ZpZGVyOiBTZGtQcm92aWRlcixcbiAgb3B0aW9uczogRGlmZk9wdGlvbnMsXG4pOiBQcm9taXNlPFRlbXBsYXRlSW5mb1tdPiB7XG4gIHN3aXRjaCAob3B0aW9ucy5tZXRob2Q/Lm1ldGhvZCA/PyBEaWZmTWV0aG9kLkNoYW5nZVNldCgpLm1ldGhvZCkge1xuICAgIGNhc2UgJ2xvY2FsLWZpbGUnOlxuICAgICAgcmV0dXJuIGxvY2FsRmlsZURpZmYoc3RhY2tzLCBvcHRpb25zKTtcbiAgICBjYXNlICd0ZW1wbGF0ZS1vbmx5JzpcbiAgICAgIHJldHVybiBjZm5EaWZmKGlvSGVscGVyLCBzdGFja3MsIGRlcGxveW1lbnRzLCBvcHRpb25zLCBzZGtQcm92aWRlciwgZmFsc2UpO1xuICAgIGNhc2UgJ2NoYW5nZS1zZXQnOlxuICAgICAgcmV0dXJuIGNmbkRpZmYoaW9IZWxwZXIsIHN0YWNrcywgZGVwbG95bWVudHMsIG9wdGlvbnMsIHNka1Byb3ZpZGVyLCB0cnVlKTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcignVW5rbm93bkRpZmZNZXRob2QnLCBmb3JtYXRFcnJvck1lc3NhZ2UoYFVua25vd24gZGlmZiBtZXRob2QgJHtvcHRpb25zLm1ldGhvZH1gKSk7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9jYWxGaWxlRGlmZihzdGFja3M6IFN0YWNrQ29sbGVjdGlvbiwgb3B0aW9uczogRGlmZk9wdGlvbnMpOiBQcm9taXNlPFRlbXBsYXRlSW5mb1tdPiB7XG4gIGNvbnN0IG1ldGhvZE9wdGlvbnMgPSAob3B0aW9ucy5tZXRob2Q/Lm9wdGlvbnMgPz8ge30pIGFzIExvY2FsRmlsZURpZmZPcHRpb25zO1xuXG4gIC8vIENvbXBhcmUgc2luZ2xlIHN0YWNrIGFnYWluc3QgZml4ZWQgdGVtcGxhdGVcbiAgaWYgKHN0YWNrcy5zdGFja0NvdW50ICE9PSAxKSB7XG4gICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihcbiAgICAgICdTaW5nbGVTdGFja1JlcXVpcmVkJyxcbiAgICAgICdDYW4gb25seSBzZWxlY3Qgb25lIHN0YWNrIHdoZW4gY29tcGFyaW5nIHRvIGZpeGVkIHRlbXBsYXRlLiBVc2UgLS1leGNsdXNpdmVseSB0byBhdm9pZCBzZWxlY3RpbmcgbXVsdGlwbGUgc3RhY2tzLicsXG4gICAgKTtcbiAgfVxuXG4gIGlmICghKGF3YWl0IGZzLnBhdGhFeGlzdHMobWV0aG9kT3B0aW9ucy5wYXRoKSkpIHtcbiAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKCdUZW1wbGF0ZUZpbGVOb3RGb3VuZCcsIGBUaGVyZSBpcyBubyBmaWxlIGF0ICR7bWV0aG9kT3B0aW9ucy5wYXRofWApO1xuICB9XG5cbiAgY29uc3QgZmlsZSA9IGZzLnJlYWRGaWxlU3luYyhtZXRob2RPcHRpb25zLnBhdGgpLnRvU3RyaW5nKCk7XG4gIGNvbnN0IHRlbXBsYXRlID0gZGVzZXJpYWxpemVTdHJ1Y3R1cmUoZmlsZSk7XG5cbiAgcmV0dXJuIFt7XG4gICAgb2xkVGVtcGxhdGU6IHRlbXBsYXRlLFxuICAgIG5ld1RlbXBsYXRlOiBzdGFja3MuZmlyc3RTdGFjayxcbiAgfV07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNmbkRpZmYoXG4gIGlvSGVscGVyOiBJb0hlbHBlcixcbiAgc3RhY2tzOiBTdGFja0NvbGxlY3Rpb24sXG4gIGRlcGxveW1lbnRzOiBEZXBsb3ltZW50cyxcbiAgb3B0aW9uczogRGlmZk9wdGlvbnMsXG4gIHNka1Byb3ZpZGVyOiBTZGtQcm92aWRlcixcbiAgaW5jbHVkZUNoYW5nZVNldDogYm9vbGVhbixcbik6IFByb21pc2U8VGVtcGxhdGVJbmZvW10+IHtcbiAgY29uc3QgdGVtcGxhdGVJbmZvcyA9IFtdO1xuICBjb25zdCBtZXRob2RPcHRpb25zID0gKG9wdGlvbnMubWV0aG9kPy5vcHRpb25zID8/IHt9KSBhcyBDaGFuZ2VTZXREaWZmT3B0aW9ucztcblxuICBjb25zdCBhbGxNYXBwaW5ncyA9IG9wdGlvbnMuaW5jbHVkZU1vdmVzXG4gICAgPyBhd2FpdCBtYXBwaW5nc0J5RW52aXJvbm1lbnQoc3RhY2tzLnN0YWNrQXJ0aWZhY3RzLCBzZGtQcm92aWRlciwgdHJ1ZSlcbiAgICA6IFtdO1xuXG4gIC8vIENvbXBhcmUgTiBzdGFja3MgYWdhaW5zdCBkZXBsb3llZCB0ZW1wbGF0ZXNcbiAgZm9yIChjb25zdCBzdGFjayBvZiBzdGFja3Muc3RhY2tBcnRpZmFjdHMpIHtcbiAgICBjb25zdCB0ZW1wbGF0ZVdpdGhOZXN0ZWRTdGFja3MgPSBhd2FpdCBkZXBsb3ltZW50cy5yZWFkQ3VycmVudFRlbXBsYXRlV2l0aE5lc3RlZFN0YWNrcyhcbiAgICAgIHN0YWNrLFxuICAgICAgbWV0aG9kT3B0aW9ucy5jb21wYXJlQWdhaW5zdFByb2Nlc3NlZFRlbXBsYXRlLFxuICAgICk7XG4gICAgY29uc3QgY3VycmVudFRlbXBsYXRlID0gdGVtcGxhdGVXaXRoTmVzdGVkU3RhY2tzLmRlcGxveWVkUm9vdFRlbXBsYXRlO1xuICAgIGNvbnN0IG5lc3RlZFN0YWNrcyA9IHRlbXBsYXRlV2l0aE5lc3RlZFN0YWNrcy5uZXN0ZWRTdGFja3M7XG5cbiAgICBjb25zdCBtaWdyYXRvciA9IG5ldyBSZXNvdXJjZU1pZ3JhdG9yKHsgZGVwbG95bWVudHMsIGlvSGVscGVyIH0pO1xuICAgIGNvbnN0IHJlc291cmNlc1RvSW1wb3J0ID0gYXdhaXQgbWlncmF0b3IudHJ5R2V0UmVzb3VyY2VzKGF3YWl0IGRlcGxveW1lbnRzLnJlc29sdmVFbnZpcm9ubWVudChzdGFjaykpO1xuICAgIGlmIChyZXNvdXJjZXNUb0ltcG9ydCkge1xuICAgICAgcmVtb3ZlTm9uSW1wb3J0UmVzb3VyY2VzKHN0YWNrKTtcbiAgICB9XG5cbiAgICBjb25zdCBjaGFuZ2VTZXQgPSBpbmNsdWRlQ2hhbmdlU2V0ID8gYXdhaXQgY2ZuQXBpLmNyZWF0ZURpZmZDaGFuZ2VTZXQoaW9IZWxwZXIsIHtcbiAgICAgIGRlcGxveW1lbnRzLFxuICAgICAgc3RhY2ssXG4gICAgICBzZGtQcm92aWRlcixcbiAgICAgIHJlc291cmNlc1RvSW1wb3J0LFxuICAgICAgcGFyYW1ldGVyczogbWV0aG9kT3B0aW9ucy5wYXJhbWV0ZXJzID8/IHt9LFxuICAgICAgZmFpbE9uRXJyb3I6ICEobWV0aG9kT3B0aW9ucy5mYWxsYmFja1RvVGVtcGxhdGUgPz8gdHJ1ZSksXG4gICAgICBpbXBvcnRFeGlzdGluZ1Jlc291cmNlczogbWV0aG9kT3B0aW9ucy5pbXBvcnRFeGlzdGluZ1Jlc291cmNlcyxcbiAgICAgIHV1aWQ6IHV1aWQudjQoKSxcbiAgICAgIHdpbGxFeGVjdXRlOiBmYWxzZSxcbiAgICB9KSA6IHVuZGVmaW5lZDtcblxuICAgIC8vIElmIHRoZSBjaGFuZ2VzZXQgaW5jbHVkZXMgbmVzdGVkIHN0YWNrcywgZGVzY3JpYmUgZWFjaCBuZXN0ZWQgY2hhbmdlc2V0XG4gICAgLy8gYW5kIGF0dGFjaCBpdCB0byB0aGUgY29ycmVzcG9uZGluZyBlbnRyeSBpbiBuZXN0ZWRTdGFja3MuXG4gICAgaWYgKGNoYW5nZVNldCkge1xuICAgICAgYXdhaXQgYXR0YWNoTmVzdGVkQ2hhbmdlU2V0RGF0YShkZXBsb3ltZW50cywgc3RhY2ssIGNoYW5nZVNldCwgbmVzdGVkU3RhY2tzKTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXBwaW5ncyA9IGFsbE1hcHBpbmdzLmZpbmQobSA9PlxuICAgICAgbS5lbnZpcm9ubWVudC5yZWdpb24gPT09IHN0YWNrLmVudmlyb25tZW50LnJlZ2lvbiAmJiBtLmVudmlyb25tZW50LmFjY291bnQgPT09IHN0YWNrLmVudmlyb25tZW50LmFjY291bnQsXG4gICAgKT8ubWFwcGluZ3MgPz8ge307XG5cbiAgICB0ZW1wbGF0ZUluZm9zLnB1c2goe1xuICAgICAgb2xkVGVtcGxhdGU6IGN1cnJlbnRUZW1wbGF0ZSxcbiAgICAgIG5ld1RlbXBsYXRlOiBzdGFjayxcbiAgICAgIGlzSW1wb3J0OiAhIXJlc291cmNlc1RvSW1wb3J0LFxuICAgICAgbmVzdGVkU3RhY2tzLFxuICAgICAgY2hhbmdlU2V0LFxuICAgICAgbWFwcGluZ3MsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGVtcGxhdGVJbmZvcztcbn1cblxuLyoqXG4gKiBXYWxrIHRoZSByb290IGNoYW5nZXNldCdzIENoYW5nZXMgbG9va2luZyBmb3IgbmVzdGVkIHN0YWNrIHJlc291cmNlc1xuICogdGhhdCBoYXZlIHRoZWlyIG93biBDaGFuZ2VTZXRJZC4gRGVzY3JpYmUgZWFjaCBuZXN0ZWQgY2hhbmdlc2V0IGFuZFxuICogYXR0YWNoIGl0IHRvIHRoZSBtYXRjaGluZyBlbnRyeSBpbiB0aGUgbmVzdGVkU3RhY2tzIG1hcC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gYXR0YWNoTmVzdGVkQ2hhbmdlU2V0RGF0YShcbiAgZGVwbG95bWVudHM6IERlcGxveW1lbnRzLFxuICBzdGFjazogY3hhcGkuQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0LFxuICByb290Q2hhbmdlU2V0OiBEZXNjcmliZUNoYW5nZVNldENvbW1hbmRPdXRwdXQsXG4gIG5lc3RlZFN0YWNrczogeyBbbG9naWNhbElkOiBzdHJpbmddOiBOZXN0ZWRTdGFja1RlbXBsYXRlcyB9LFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGVudiA9IGF3YWl0IGRlcGxveW1lbnRzLmVudnMuYWNjZXNzU3RhY2tGb3JSZWFkT25seVN0YWNrT3BlcmF0aW9ucyhzdGFjayk7XG4gIGNvbnN0IGNmbiA9IGVudi5zZGsuY2xvdWRGb3JtYXRpb24oKTtcblxuICBmb3IgKGNvbnN0IGNoYW5nZSBvZiByb290Q2hhbmdlU2V0LkNoYW5nZXMgPz8gW10pIHtcbiAgICBjb25zdCByYyA9IGNoYW5nZS5SZXNvdXJjZUNoYW5nZTtcbiAgICBpZiAocmM/LlJlc291cmNlVHlwZSAhPT0gJ0FXUzo6Q2xvdWRGb3JtYXRpb246OlN0YWNrJyB8fCAhcmMuQ2hhbmdlU2V0SWQgfHwgIXJjLkxvZ2ljYWxSZXNvdXJjZUlkKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXN0ZWQgPSBuZXN0ZWRTdGFja3NbcmMuTG9naWNhbFJlc291cmNlSWRdO1xuICAgIGlmICghbmVzdGVkKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXN0ZWRDaGFuZ2VTZXQgPSBhd2FpdCBjZm4uZGVzY3JpYmVDaGFuZ2VTZXQoe1xuICAgICAgQ2hhbmdlU2V0TmFtZTogcmMuQ2hhbmdlU2V0SWQsXG4gICAgICBTdGFja05hbWU6IHJjLlBoeXNpY2FsUmVzb3VyY2VJZCA/PyByYy5Mb2dpY2FsUmVzb3VyY2VJZCxcbiAgICB9KTtcblxuICAgIC8vIFJlcGxhY2UgdGhlIGVudHJ5IHdpdGggb25lIHRoYXQgaW5jbHVkZXMgdGhlIGNoYW5nZXNldFxuICAgIChuZXN0ZWRTdGFja3MgYXMgYW55KVtyYy5Mb2dpY2FsUmVzb3VyY2VJZF0gPSB7XG4gICAgICAuLi5uZXN0ZWQsXG4gICAgICBjaGFuZ2VTZXQ6IG5lc3RlZENoYW5nZVNldCxcbiAgICB9O1xuXG4gICAgLy8gUmVjdXJzZSBpbnRvIGRlZXBlciBuZXN0aW5nIGxldmVsc1xuICAgIGlmIChuZXN0ZWRDaGFuZ2VTZXQgJiYgT2JqZWN0LmtleXMobmVzdGVkLm5lc3RlZFN0YWNrVGVtcGxhdGVzKS5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBhdHRhY2hOZXN0ZWRDaGFuZ2VTZXREYXRhKGRlcGxveW1lbnRzLCBzdGFjaywgbmVzdGVkQ2hhbmdlU2V0LCBuZXN0ZWQubmVzdGVkU3RhY2tUZW1wbGF0ZXMpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEFwcGVuZHMgYWxsIHByb3BlcnRpZXMgZnJvbSBvYmoyIHRvIG9iajEuXG4gKiBvYmoyIHZhbHVlcyB0YWtlIHByaW9yaXR5IGluIHRoZSBjYXNlIG9mIGNvbGxpc2lvbnMuXG4gKlxuICogQHBhcmFtIG9iajEgLSBUaGUgb2JqZWN0IHRvIG1vZGlmeVxuICogQHBhcmFtIG9iajIgLSBUaGUgb2JqZWN0IHRvIGNvbnN1bWVcbiAqXG4gKiBAcmV0dXJucyBvYmoxIHdpdGggYWxsIHByb3BlcnRpZXMgZnJvbSBvYmoyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRPYmplY3Q8VD4oXG4gIG9iajE6IHsgW25hbWU6IHN0cmluZ106IFQgfSxcbiAgb2JqMjogeyBbbmFtZTogc3RyaW5nXTogVCB9LFxuKTogeyBbbmFtZTogc3RyaW5nXTogVCB9IHtcbiAgLy8gRGlyZWN0bHkgbW9kaWZ5IG9iajEgYnkgYWRkaW5nIGFsbCBwcm9wZXJ0aWVzIGZyb20gb2JqMlxuICBmb3IgKGNvbnN0IGtleSBpbiBvYmoyKSB7XG4gICAgb2JqMVtrZXldID0gb2JqMltrZXldO1xuICB9XG5cbiAgLy8gUmV0dXJuIHRoZSBtb2RpZmllZCBvYmoxXG4gIHJldHVybiBvYmoxO1xufVxuIl19
@@ -4,9 +4,11 @@ export * from './destroy';
4
4
  export * from './diff';
5
5
  export * from './drift';
6
6
  export * from './list';
7
+ export * from './orphan';
7
8
  export * from './publish-assets';
8
9
  export * from './refactor';
9
10
  export * from './rollback';
10
11
  export * from './synth';
11
12
  export * from './watch';
13
+ export * from './diagnose';
12
14
  //# sourceMappingURL=index.d.ts.map
@@ -20,9 +20,11 @@ __exportStar(require("./destroy"), exports);
20
20
  __exportStar(require("./diff"), exports);
21
21
  __exportStar(require("./drift"), exports);
22
22
  __exportStar(require("./list"), exports);
23
+ __exportStar(require("./orphan"), exports);
23
24
  __exportStar(require("./publish-assets"), exports);
24
25
  __exportStar(require("./refactor"), exports);
25
26
  __exportStar(require("./rollback"), exports);
26
27
  __exportStar(require("./synth"), exports);
27
28
  __exportStar(require("./watch"), exports);
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTRCO0FBQzVCLDJDQUF5QjtBQUN6Qiw0Q0FBMEI7QUFDMUIseUNBQXVCO0FBQ3ZCLDBDQUF3QjtBQUN4Qix5Q0FBdUI7QUFDdkIsbURBQWlDO0FBQ2pDLDZDQUEyQjtBQUMzQiw2Q0FBMkI7QUFDM0IsMENBQXdCO0FBQ3hCLDBDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYm9vdHN0cmFwJztcbmV4cG9ydCAqIGZyb20gJy4vZGVwbG95JztcbmV4cG9ydCAqIGZyb20gJy4vZGVzdHJveSc7XG5leHBvcnQgKiBmcm9tICcuL2RpZmYnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmlmdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9wdWJsaXNoLWFzc2V0cyc7XG5leHBvcnQgKiBmcm9tICcuL3JlZmFjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcm9sbGJhY2snO1xuZXhwb3J0ICogZnJvbSAnLi9zeW50aCc7XG5leHBvcnQgKiBmcm9tICcuL3dhdGNoJztcbiJdfQ==
29
+ __exportStar(require("./diagnose"), exports);
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTRCO0FBQzVCLDJDQUF5QjtBQUN6Qiw0Q0FBMEI7QUFDMUIseUNBQXVCO0FBQ3ZCLDBDQUF3QjtBQUN4Qix5Q0FBdUI7QUFDdkIsMkNBQXlCO0FBQ3pCLG1EQUFpQztBQUNqQyw2Q0FBMkI7QUFDM0IsNkNBQTJCO0FBQzNCLDBDQUF3QjtBQUN4QiwwQ0FBd0I7QUFDeEIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ib290c3RyYXAnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXBsb3knO1xuZXhwb3J0ICogZnJvbSAnLi9kZXN0cm95JztcbmV4cG9ydCAqIGZyb20gJy4vZGlmZic7XG5leHBvcnQgKiBmcm9tICcuL2RyaWZ0JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL29ycGhhbic7XG5leHBvcnQgKiBmcm9tICcuL3B1Ymxpc2gtYXNzZXRzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVmYWN0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9yb2xsYmFjayc7XG5leHBvcnQgKiBmcm9tICcuL3N5bnRoJztcbmV4cG9ydCAqIGZyb20gJy4vd2F0Y2gnO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFnbm9zZSc7XG4iXX0=
@@ -0,0 +1,18 @@
1
+ export interface OrphanOptions {
2
+ /**
3
+ * Construct path prefix(es) to orphan. Each path must be in the format
4
+ * `StackName/ConstructPath`, e.g. `MyStack/MyTable`.
5
+ *
6
+ * The stack is derived from the path — all paths must reference the same stack.
7
+ */
8
+ readonly constructPaths: string[];
9
+ /**
10
+ * Role to assume in the target environment.
11
+ */
12
+ readonly roleArn?: string;
13
+ /**
14
+ * Toolkit stack name for bootstrap resources.
15
+ */
16
+ readonly toolkitStackName?: string;
17
+ }
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBPcnBoYW5PcHRpb25zIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdCBwYXRoIHByZWZpeChlcykgdG8gb3JwaGFuLiBFYWNoIHBhdGggbXVzdCBiZSBpbiB0aGUgZm9ybWF0XG4gICAqIGBTdGFja05hbWUvQ29uc3RydWN0UGF0aGAsIGUuZy4gYE15U3RhY2svTXlUYWJsZWAuXG4gICAqXG4gICAqIFRoZSBzdGFjayBpcyBkZXJpdmVkIGZyb20gdGhlIHBhdGgg4oCUIGFsbCBwYXRocyBtdXN0IHJlZmVyZW5jZSB0aGUgc2FtZSBzdGFjay5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdFBhdGhzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUm9sZSB0byBhc3N1bWUgaW4gdGhlIHRhcmdldCBlbnZpcm9ubWVudC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRvb2xraXQgc3RhY2sgbmFtZSBmb3IgYm9vdHN0cmFwIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IHRvb2xraXRTdGFja05hbWU/OiBzdHJpbmc7XG59XG4iXX0=
@@ -2,7 +2,7 @@ import type { SDKv3CompatibleCredentialProvider } from '@aws-cdk/cli-plugin-cont
2
2
  import type { FunctionConfiguration, GetSchemaCreationStatusCommandInput, GetSchemaCreationStatusCommandOutput, ListFunctionsCommandInput, StartSchemaCreationCommandInput, StartSchemaCreationCommandOutput, UpdateApiKeyCommandInput, UpdateApiKeyCommandOutput, UpdateFunctionCommandInput, UpdateFunctionCommandOutput, UpdateResolverCommandInput, UpdateResolverCommandOutput } from '@aws-sdk/client-appsync';
3
3
  import type { GetAgentRuntimeCommandInput, GetAgentRuntimeCommandOutput, UpdateAgentRuntimeCommandInput, UpdateAgentRuntimeCommandOutput } from '@aws-sdk/client-bedrock-agentcore-control';
4
4
  import type { GetResourceCommandInput, GetResourceCommandOutput, ListResourcesCommandInput, ListResourcesCommandOutput, UpdateResourceCommandInput, UpdateResourceCommandOutput } from '@aws-sdk/client-cloudcontrol';
5
- import type { ContinueUpdateRollbackCommandInput, ContinueUpdateRollbackCommandOutput, DescribeStackEventsCommandOutput, DescribeStackResourcesCommandInput, DescribeStackResourcesCommandOutput, ListStacksCommandInput, ListStacksCommandOutput, RollbackStackCommandInput, RollbackStackCommandOutput, StackResourceSummary, CreateChangeSetCommandInput, CreateChangeSetCommandOutput, CreateGeneratedTemplateCommandInput, CreateGeneratedTemplateCommandOutput, CreateStackCommandInput, CreateStackCommandOutput, CreateStackRefactorCommandInput, DeleteChangeSetCommandInput, DeleteChangeSetCommandOutput, DeleteGeneratedTemplateCommandInput, DeleteGeneratedTemplateCommandOutput, DeleteStackCommandInput, DeleteStackCommandOutput, DescribeChangeSetCommandInput, DescribeChangeSetCommandOutput, DescribeGeneratedTemplateCommandInput, DescribeGeneratedTemplateCommandOutput, DescribeResourceScanCommandInput, DescribeResourceScanCommandOutput, DescribeStackEventsCommandInput, DescribeStacksCommandInput, DescribeStacksCommandOutput, ExecuteChangeSetCommandInput, ExecuteChangeSetCommandOutput, GetGeneratedTemplateCommandInput, GetGeneratedTemplateCommandOutput, GetTemplateCommandInput, GetTemplateCommandOutput, GetTemplateSummaryCommandInput, GetTemplateSummaryCommandOutput, ListExportsCommandInput, ListExportsCommandOutput, ListResourceScanRelatedResourcesCommandInput, ListResourceScanRelatedResourcesCommandOutput, ListResourceScanResourcesCommandInput, ListResourceScanResourcesCommandOutput, ListResourceScansCommandInput, ListResourceScansCommandOutput, ListStackResourcesCommandInput, StartResourceScanCommandInput, StartResourceScanCommandOutput, UpdateStackCommandInput, UpdateStackCommandOutput, UpdateTerminationProtectionCommandInput, UpdateTerminationProtectionCommandOutput, StackSummary, DescribeStackDriftDetectionStatusCommandInput, DescribeStackDriftDetectionStatusCommandOutput, DescribeStackResourceDriftsCommandOutput, DetectStackDriftCommandInput, DetectStackDriftCommandOutput, DetectStackResourceDriftCommandInput, DetectStackResourceDriftCommandOutput, DescribeStackResourceDriftsCommandInput, ExecuteStackRefactorCommandInput, DescribeStackRefactorCommandInput, CreateStackRefactorCommandOutput, ExecuteStackRefactorCommandOutput, DescribeEventsCommandOutput, DescribeEventsCommandInput, DescribeTypeCommandInput, DescribeTypeCommandOutput, GetHookResultCommandInput, GetHookResultCommandOutput } from '@aws-sdk/client-cloudformation';
5
+ import type { ContinueUpdateRollbackCommandInput, ContinueUpdateRollbackCommandOutput, DescribeStackEventsCommandOutput, DescribeStackResourcesCommandInput, DescribeStackResourcesCommandOutput, ListStacksCommandInput, ListStacksCommandOutput, RollbackStackCommandInput, RollbackStackCommandOutput, StackResourceSummary, CreateChangeSetCommandInput, CreateChangeSetCommandOutput, CreateGeneratedTemplateCommandInput, CreateGeneratedTemplateCommandOutput, CreateStackCommandInput, CreateStackCommandOutput, CreateStackRefactorCommandInput, DeleteChangeSetCommandInput, DeleteChangeSetCommandOutput, DeleteGeneratedTemplateCommandInput, DeleteGeneratedTemplateCommandOutput, DeleteStackCommandInput, DeleteStackCommandOutput, DescribeChangeSetCommandInput, DescribeChangeSetCommandOutput, DescribeGeneratedTemplateCommandInput, DescribeGeneratedTemplateCommandOutput, DescribeResourceScanCommandInput, DescribeResourceScanCommandOutput, DescribeStackEventsCommandInput, DescribeStacksCommandInput, DescribeStacksCommandOutput, ExecuteChangeSetCommandInput, ExecuteChangeSetCommandOutput, GetGeneratedTemplateCommandInput, GetGeneratedTemplateCommandOutput, GetTemplateCommandInput, GetTemplateCommandOutput, GetTemplateSummaryCommandInput, GetTemplateSummaryCommandOutput, ListExportsCommandInput, ListExportsCommandOutput, ListResourceScanRelatedResourcesCommandInput, ListResourceScanRelatedResourcesCommandOutput, ListResourceScanResourcesCommandInput, ListResourceScanResourcesCommandOutput, ListResourceScansCommandInput, ListResourceScansCommandOutput, ListStackResourcesCommandInput, StartResourceScanCommandInput, StartResourceScanCommandOutput, UpdateStackCommandInput, UpdateStackCommandOutput, UpdateTerminationProtectionCommandInput, UpdateTerminationProtectionCommandOutput, StackSummary, DescribeStackDriftDetectionStatusCommandInput, DescribeStackDriftDetectionStatusCommandOutput, DescribeStackResourceDriftsCommandOutput, DetectStackDriftCommandInput, DetectStackDriftCommandOutput, DetectStackResourceDriftCommandInput, DetectStackResourceDriftCommandOutput, DescribeStackResourceDriftsCommandInput, ExecuteStackRefactorCommandInput, DescribeStackRefactorCommandInput, CreateStackRefactorCommandOutput, ExecuteStackRefactorCommandOutput, DescribeEventsCommandOutput, DescribeEventsCommandInput, DescribeTypeCommandInput, DescribeTypeCommandOutput, GetHookResultCommandInput, GetHookResultCommandOutput, ListChangeSetsCommandInput, ListChangeSetsCommandOutput } from '@aws-sdk/client-cloudformation';
6
6
  import type { OperationEvent } from '@aws-sdk/client-cloudformation/dist-types/models/models_0';
7
7
  import type { FilterLogEventsCommandInput, FilterLogEventsCommandOutput, DescribeLogGroupsCommandInput, DescribeLogGroupsCommandOutput } from '@aws-sdk/client-cloudwatch-logs';
8
8
  import { type UpdateProjectCommandInput, type UpdateProjectCommandOutput } from '@aws-sdk/client-codebuild';
@@ -112,6 +112,7 @@ export interface ICloudFormationClient {
112
112
  waitUntilStackRefactorCreateComplete(input: DescribeStackRefactorCommandInput): Promise<WaiterResult>;
113
113
  waitUntilStackRefactorExecuteComplete(input: DescribeStackRefactorCommandInput): Promise<WaiterResult>;
114
114
  getHookResult(input: GetHookResultCommandInput): Promise<GetHookResultCommandOutput>;
115
+ listChangeSets(input: ListChangeSetsCommandInput): Promise<ListChangeSetsCommandOutput>;
115
116
  }
116
117
  export interface ICloudWatchLogsClient {
117
118
  describeLogGroups(input: DescribeLogGroupsCommandInput): Promise<DescribeLogGroupsCommandOutput>;