@fjall/components-infrastructure 0.88.1 → 0.88.4

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 (146) hide show
  1. package/dist/lib/app.d.ts +34 -11
  2. package/dist/lib/app.js +83 -39
  3. package/dist/lib/aspects/index.d.ts +1 -0
  4. package/dist/lib/aspects/index.js +6 -0
  5. package/dist/lib/config/aws/accountAuditRole.d.ts +20 -0
  6. package/dist/lib/config/aws/accountAuditRole.js +38 -0
  7. package/dist/lib/config/aws/accountMonitoringRole.d.ts +22 -0
  8. package/dist/lib/config/aws/accountMonitoringRole.js +133 -0
  9. package/dist/lib/config/aws/cloudTrail.d.ts +0 -3
  10. package/dist/lib/config/aws/cloudTrail.js +2 -2
  11. package/dist/lib/config/aws/disasterRecovery.js +26 -14
  12. package/dist/lib/config/aws/ecrDefaultImage.js +4 -3
  13. package/dist/lib/config/aws/identityCenter.d.ts +4 -4
  14. package/dist/lib/config/aws/identityCenter.js +17 -62
  15. package/dist/lib/config/aws/identityCenterGroupMembership.js +27 -37
  16. package/dist/lib/config/aws/index.d.ts +4 -7
  17. package/dist/lib/config/aws/index.js +5 -8
  18. package/dist/lib/config/aws/oidcConnector.d.ts +8 -0
  19. package/dist/lib/config/aws/oidcConnector.js +46 -0
  20. package/dist/lib/config/aws/platform.d.ts +2 -0
  21. package/dist/lib/config/aws/platform.js +6 -0
  22. package/dist/lib/config/index.d.ts +2 -0
  23. package/dist/lib/config/index.js +21 -0
  24. package/dist/lib/layers/layers/secrets-resolver/bin/resolve-secrets +30 -0
  25. package/dist/lib/layers/layers/secrets-resolver/bin/resolve-secrets.mjs +212 -0
  26. package/dist/lib/layers/secrets-resolver/bin/resolve-secrets +30 -0
  27. package/dist/lib/layers/secrets-resolver/bin/resolve-secrets.mjs +212 -0
  28. package/dist/lib/patterns/aws/account.js +45 -19
  29. package/dist/lib/patterns/aws/cdn.d.ts +19 -40
  30. package/dist/lib/patterns/aws/cdn.js +21 -17
  31. package/dist/lib/patterns/aws/compute.d.ts +6 -7
  32. package/dist/lib/patterns/aws/compute.js +7 -9
  33. package/dist/lib/patterns/aws/database.d.ts +9 -89
  34. package/dist/lib/patterns/aws/database.js +17 -40
  35. package/dist/lib/patterns/aws/index.d.ts +1 -1
  36. package/dist/lib/patterns/aws/index.js +2 -2
  37. package/dist/lib/patterns/aws/interfaces/cdn.d.ts +26 -0
  38. package/dist/lib/patterns/aws/interfaces/cdn.js +14 -0
  39. package/dist/lib/patterns/aws/interfaces/connector.d.ts +4 -181
  40. package/dist/lib/patterns/aws/interfaces/connector.js +16 -113
  41. package/dist/lib/patterns/aws/interfaces/index.d.ts +1 -0
  42. package/dist/lib/patterns/aws/interfaces/index.js +5 -2
  43. package/dist/lib/patterns/aws/interfaces/pattern.d.ts +6 -6
  44. package/dist/lib/patterns/aws/interfaces/pattern.js +1 -1
  45. package/dist/lib/patterns/aws/network.js +6 -9
  46. package/dist/lib/patterns/aws/organisation.d.ts +6 -17
  47. package/dist/lib/patterns/aws/organisation.js +22 -67
  48. package/dist/lib/patterns/aws/payload.js +11 -12
  49. package/dist/lib/patterns/aws/storage.d.ts +3 -2
  50. package/dist/lib/patterns/aws/storage.js +1 -1
  51. package/dist/lib/resources/aws/audit/auditRole.js +4 -4
  52. package/dist/lib/resources/aws/audit/index.d.ts +1 -0
  53. package/dist/lib/resources/aws/audit/index.js +6 -0
  54. package/dist/lib/resources/aws/backup/backupPlan.js +3 -2
  55. package/dist/lib/resources/aws/backup/backupVault.js +5 -3
  56. package/dist/lib/resources/aws/base/awsStack.d.ts +4 -2
  57. package/dist/lib/resources/aws/base/awsStack.js +8 -2
  58. package/dist/lib/resources/aws/cdn/cloudFront.d.ts +14 -0
  59. package/dist/lib/resources/aws/cdn/cloudFront.js +52 -18
  60. package/dist/lib/resources/aws/compute/ec2.js +18 -22
  61. package/dist/lib/resources/aws/compute/ecs.d.ts +9 -8
  62. package/dist/lib/resources/aws/compute/ecs.js +53 -41
  63. package/dist/lib/resources/aws/compute/index.d.ts +1 -0
  64. package/dist/lib/resources/aws/compute/index.js +2 -1
  65. package/dist/lib/resources/aws/compute/lambda.d.ts +12 -3
  66. package/dist/lib/resources/aws/compute/lambda.js +48 -36
  67. package/dist/lib/resources/aws/database/dynamodb.js +3 -13
  68. package/dist/lib/resources/aws/database/index.d.ts +8 -2
  69. package/dist/lib/resources/aws/database/index.js +19 -3
  70. package/dist/lib/resources/aws/database/rdsAurora.d.ts +2 -3
  71. package/dist/lib/resources/aws/database/rdsAurora.js +33 -69
  72. package/dist/lib/resources/aws/database/rdsAuroraGlobal.d.ts +6 -6
  73. package/dist/lib/resources/aws/database/rdsAuroraGlobal.js +25 -29
  74. package/dist/lib/resources/aws/database/rdsDefaults.d.ts +11 -0
  75. package/dist/lib/resources/aws/database/rdsDefaults.js +15 -0
  76. package/dist/lib/resources/aws/database/rdsHelpers.d.ts +39 -0
  77. package/dist/lib/resources/aws/database/rdsHelpers.js +75 -0
  78. package/dist/lib/resources/aws/database/rdsInstance.d.ts +7 -8
  79. package/dist/lib/resources/aws/database/rdsInstance.js +40 -84
  80. package/dist/lib/resources/aws/database/rdsProxyOutput.d.ts +7 -0
  81. package/dist/lib/resources/aws/database/rdsProxyOutput.js +18 -0
  82. package/dist/lib/resources/aws/iam/identityCenter/assignment.d.ts +0 -2
  83. package/dist/lib/resources/aws/iam/identityCenter/assignment.js +9 -45
  84. package/dist/lib/resources/aws/iam/identityCenter/group.d.ts +1 -3
  85. package/dist/lib/resources/aws/iam/identityCenter/group.js +7 -82
  86. package/dist/lib/resources/aws/iam/identityCenter/permissionSet.d.ts +1 -3
  87. package/dist/lib/resources/aws/iam/identityCenter/permissionSet.js +9 -93
  88. package/dist/lib/resources/aws/iam/index.d.ts +0 -1
  89. package/dist/lib/resources/aws/iam/index.js +1 -2
  90. package/dist/lib/resources/aws/index.d.ts +0 -1
  91. package/dist/lib/resources/aws/index.js +1 -2
  92. package/dist/lib/resources/aws/logging/cloudTrail.js +13 -3
  93. package/dist/lib/resources/aws/logging/index.d.ts +2 -0
  94. package/dist/lib/resources/aws/logging/index.js +19 -0
  95. package/dist/lib/resources/aws/messaging/index.d.ts +3 -2
  96. package/dist/lib/resources/aws/messaging/index.js +4 -3
  97. package/dist/lib/resources/aws/messaging/sqs.js +14 -11
  98. package/dist/lib/resources/aws/messaging/utils.d.ts +1 -2
  99. package/dist/lib/resources/aws/messaging/utils.js +3 -4
  100. package/dist/lib/resources/aws/monitoring/index.d.ts +0 -1
  101. package/dist/lib/resources/aws/monitoring/index.js +4 -17
  102. package/dist/lib/resources/aws/networking/hostedZone.d.ts +28 -0
  103. package/dist/lib/resources/aws/networking/hostedZone.js +153 -0
  104. package/dist/lib/resources/aws/networking/index.d.ts +2 -0
  105. package/dist/lib/resources/aws/networking/index.js +3 -1
  106. package/dist/lib/resources/aws/networking/ipamPool.js +110 -31
  107. package/dist/lib/resources/aws/networking/securityGroup.d.ts +5 -0
  108. package/dist/lib/resources/aws/networking/securityGroup.js +14 -0
  109. package/dist/lib/resources/aws/networking/vpc.js +9 -4
  110. package/dist/lib/resources/aws/organisation/costAllocationTagActivator.d.ts +17 -0
  111. package/dist/lib/resources/aws/organisation/costAllocationTagActivator.js +66 -0
  112. package/dist/lib/resources/aws/organisation/index.d.ts +1 -0
  113. package/dist/lib/resources/aws/organisation/index.js +4 -2
  114. package/dist/lib/resources/aws/secrets/index.d.ts +0 -1
  115. package/dist/lib/resources/aws/secrets/index.js +1 -2
  116. package/dist/lib/resources/aws/secrets/parameter.js +5 -3
  117. package/dist/lib/resources/aws/storage/ecr.d.ts +0 -1
  118. package/dist/lib/resources/aws/storage/ecr.js +5 -7
  119. package/dist/lib/resources/aws/storage/s3.d.ts +3 -3
  120. package/dist/lib/resources/aws/storage/s3.js +1 -1
  121. package/dist/lib/resources/aws/utilities/index.d.ts +5 -0
  122. package/dist/lib/resources/aws/utilities/index.js +22 -0
  123. package/dist/lib/utils/backupTierMapping.d.ts +11 -0
  124. package/dist/lib/utils/backupTierMapping.js +17 -0
  125. package/dist/lib/utils/capitaliseString.d.ts +6 -0
  126. package/dist/lib/utils/capitaliseString.js +10 -1
  127. package/dist/lib/utils/connections.d.ts +46 -0
  128. package/dist/lib/utils/connections.js +159 -0
  129. package/dist/lib/utils/connector.d.ts +183 -0
  130. package/dist/lib/utils/connector.js +117 -0
  131. package/dist/lib/utils/databaseTypes.d.ts +85 -0
  132. package/dist/lib/utils/databaseTypes.js +34 -0
  133. package/dist/lib/utils/env.d.ts +42 -0
  134. package/dist/lib/utils/env.js +128 -0
  135. package/dist/lib/utils/getConfig.d.ts +0 -2
  136. package/dist/lib/utils/getConfig.js +1 -4
  137. package/dist/lib/utils/index.d.ts +6 -0
  138. package/dist/lib/utils/index.js +7 -1
  139. package/dist/lib/utils/removalPolicy.d.ts +2 -0
  140. package/dist/lib/utils/removalPolicy.js +16 -0
  141. package/dist/lib/utils/resourceNaming.js +4 -7
  142. package/dist/lib/utils/standardTagsAspect.d.ts +4 -0
  143. package/dist/lib/utils/standardTagsAspect.js +8 -8
  144. package/dist/lib/utils/vpcUtils.d.ts +14 -0
  145. package/dist/lib/utils/vpcUtils.js +28 -0
  146. package/package.json +8 -8
@@ -1,117 +1,20 @@
1
1
  "use strict";
2
- /**
3
- * Unified connector interface for bidirectional connections.
4
- *
5
- * This module provides a unified `IConnector` interface that enables
6
- * bidirectional connections between compute resources (ECS, Lambda, EC2)
7
- * and data resources (S3, DynamoDB, SQS, RDS).
8
- *
9
- * The connector pattern unifies:
10
- * - Security group rules (IConnectable) for RDS, ECS, etc.
11
- * - IAM grants for S3, DynamoDB, SQS
12
- *
13
- * @example
14
- * // Simple connections (default permissions)
15
- * const api = app.addCompute(ComputeFactory.build("Api", {
16
- * type: "ecs",
17
- * services: [{
18
- * name: "api",
19
- * capacityProvider: "FARGATE",
20
- * connections: [database, bucket, cache, queue]
21
- * }]
22
- * }));
23
- *
24
- * @example
25
- * // Explicit access levels
26
- * const worker = app.addCompute(ComputeFactory.build("Worker", {
27
- * type: "ecs",
28
- * services: [{
29
- * name: "worker",
30
- * capacityProvider: "FARGATE",
31
- * connections: [
32
- * database, // Security group (RDS)
33
- * { resource: cache, access: "read" }, // Read-only DynamoDB
34
- * { resource: bucket, access: "write" }, // Write-only S3
35
- * { resource: queue, access: "consume" } // Consume-only SQS
36
- * ]
37
- * }]
38
- * }));
39
- */
40
2
  Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.CONNECTION_TYPE = void 0;
42
- exports.isConnectionAccess = isConnectionAccess;
43
- exports.isMessagingAccess = isMessagingAccess;
44
- exports.isConnector = isConnector;
45
- exports.isConnectable = isConnectable;
46
- exports.isConnectionConfig = isConnectionConfig;
47
- exports.isStorageConnector = isStorageConnector;
48
- exports.isDynamoDBConnector = isDynamoDBConnector;
49
- exports.isQueueConnector = isQueueConnector;
50
- exports.isSecurityGroupConnector = isSecurityGroupConnector;
51
- /** Connection result types. */
52
- exports.CONNECTION_TYPE = {
53
- SECURITY_GROUP: "securityGroup",
54
- IAM: "iam"
55
- };
56
- const VALID_CONNECTION_ACCESS = [
57
- "read",
58
- "write",
59
- "readWrite"
60
- ];
61
- const VALID_MESSAGING_ACCESS = [
62
- "send",
63
- "consume",
64
- "full"
65
- ];
66
- /** Check if a value is a valid ConnectionAccess. */
67
- function isConnectionAccess(value) {
68
- return (typeof value === "string" &&
69
- VALID_CONNECTION_ACCESS.includes(value));
70
- }
71
- /** Check if a value is a valid MessagingAccess. */
72
- function isMessagingAccess(value) {
73
- return (typeof value === "string" &&
74
- VALID_MESSAGING_ACCESS.includes(value));
75
- }
76
- /**
77
- * Type guard to check if a resource is a connector.
78
- * Returns AnyConnector for discriminated union narrowing in switch statements.
79
- */
80
- function isConnector(resource) {
81
- return (resource !== null &&
82
- typeof resource === "object" &&
83
- "connectorType" in resource);
84
- }
85
- /**
86
- * Type guard to check if a resource is a CDK IConnectable.
87
- * Checks for the `connections` property that IConnectable resources have.
88
- */
89
- function isConnectable(resource) {
90
- return (resource !== null &&
91
- typeof resource === "object" &&
92
- "connections" in resource);
93
- }
3
+ exports.isSecurityGroupConnector = exports.isQueueConnector = exports.isDynamoDBConnector = exports.isStorageConnector = exports.isConnectionConfig = exports.isConnectable = exports.isConnector = exports.isMessagingAccess = exports.isConnectionAccess = exports.CONNECTION_TYPE = void 0;
94
4
  /**
95
- * Type guard to check if a connection spec is a ConnectionConfig.
5
+ * Re-export from canonical location in lib/utils/.
6
+ * Connector types are shared between resources and patterns layers,
7
+ * so they belong in utils per the infrastructure layer boundary rules.
96
8
  */
97
- function isConnectionConfig(spec) {
98
- return spec !== null && typeof spec === "object" && "resource" in spec;
99
- }
100
- /** Type guard for storage connectors (S3 buckets). */
101
- function isStorageConnector(connector) {
102
- return connector.connectorType === "storage";
103
- }
104
- /** Type guard for DynamoDB connectors. */
105
- function isDynamoDBConnector(connector) {
106
- return connector.connectorType === "dynamodb";
107
- }
108
- /** Type guard for queue connectors (SQS queues). */
109
- function isQueueConnector(connector) {
110
- return connector.connectorType === "queue";
111
- }
112
- /** Type guard for security group connectors (RDS, ECS). */
113
- function isSecurityGroupConnector(connector) {
114
- return (connector.connectorType === "securityGroup" ||
115
- connector.connectorType === "relational");
116
- }
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3BhdHRlcm5zL2F3cy9pbnRlcmZhY2VzL2Nvbm5lY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ0c7OztBQTJLSCxnREFLQztBQUdELDhDQUtDO0FBTUQsa0NBTUM7QUFNRCxzQ0FNQztBQUtELGdEQUlDO0FBR0QsZ0RBSUM7QUFHRCxrREFJQztBQUdELDRDQUlDO0FBR0QsNERBT0M7QUFqSEQsK0JBQStCO0FBQ2xCLFFBQUEsZUFBZSxHQUFHO0lBQzdCLGNBQWMsRUFBRSxlQUFlO0lBQy9CLEdBQUcsRUFBRSxLQUFLO0NBQ0YsQ0FBQztBQW9CWCxNQUFNLHVCQUF1QixHQUFnQztJQUMzRCxNQUFNO0lBQ04sT0FBTztJQUNQLFdBQVc7Q0FDWixDQUFDO0FBQ0YsTUFBTSxzQkFBc0IsR0FBK0I7SUFDekQsTUFBTTtJQUNOLFNBQVM7SUFDVCxNQUFNO0NBQ1AsQ0FBQztBQUVGLG9EQUFvRDtBQUNwRCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFjO0lBQy9DLE9BQU8sQ0FDTCxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxLQUF5QixDQUFDLENBQzVELENBQUM7QUFDSixDQUFDO0FBRUQsbURBQW1EO0FBQ25ELFNBQWdCLGlCQUFpQixDQUFDLEtBQWM7SUFDOUMsT0FBTyxDQUNMLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDekIsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEtBQXdCLENBQUMsQ0FDMUQsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixXQUFXLENBQUMsUUFBaUI7SUFDM0MsT0FBTyxDQUNMLFFBQVEsS0FBSyxJQUFJO1FBQ2pCLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDNUIsZUFBZSxJQUFJLFFBQVEsQ0FDNUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixhQUFhLENBQUMsUUFBaUI7SUFDN0MsT0FBTyxDQUNMLFFBQVEsS0FBSyxJQUFJO1FBQ2pCLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDNUIsYUFBYSxJQUFJLFFBQVEsQ0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGtCQUFrQixDQUNoQyxJQUFvQjtJQUVwQixPQUFPLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUM7QUFDekUsQ0FBQztBQUVELHNEQUFzRDtBQUN0RCxTQUFnQixrQkFBa0IsQ0FDaEMsU0FBcUI7SUFFckIsT0FBTyxTQUFTLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsMENBQTBDO0FBQzFDLFNBQWdCLG1CQUFtQixDQUNqQyxTQUFxQjtJQUVyQixPQUFPLFNBQVMsQ0FBQyxhQUFhLEtBQUssVUFBVSxDQUFDO0FBQ2hELENBQUM7QUFFRCxvREFBb0Q7QUFDcEQsU0FBZ0IsZ0JBQWdCLENBQzlCLFNBQXFCO0lBRXJCLE9BQU8sU0FBUyxDQUFDLGFBQWEsS0FBSyxPQUFPLENBQUM7QUFDN0MsQ0FBQztBQUVELDJEQUEyRDtBQUMzRCxTQUFnQix3QkFBd0IsQ0FDdEMsU0FBcUI7SUFFckIsT0FBTyxDQUNMLFNBQVMsQ0FBQyxhQUFhLEtBQUssZUFBZTtRQUMzQyxTQUFTLENBQUMsYUFBYSxLQUFLLFlBQVksQ0FDekMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVuaWZpZWQgY29ubmVjdG9yIGludGVyZmFjZSBmb3IgYmlkaXJlY3Rpb25hbCBjb25uZWN0aW9ucy5cbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIHVuaWZpZWQgYElDb25uZWN0b3JgIGludGVyZmFjZSB0aGF0IGVuYWJsZXNcbiAqIGJpZGlyZWN0aW9uYWwgY29ubmVjdGlvbnMgYmV0d2VlbiBjb21wdXRlIHJlc291cmNlcyAoRUNTLCBMYW1iZGEsIEVDMilcbiAqIGFuZCBkYXRhIHJlc291cmNlcyAoUzMsIER5bmFtb0RCLCBTUVMsIFJEUykuXG4gKlxuICogVGhlIGNvbm5lY3RvciBwYXR0ZXJuIHVuaWZpZXM6XG4gKiAtIFNlY3VyaXR5IGdyb3VwIHJ1bGVzIChJQ29ubmVjdGFibGUpIGZvciBSRFMsIEVDUywgZXRjLlxuICogLSBJQU0gZ3JhbnRzIGZvciBTMywgRHluYW1vREIsIFNRU1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTaW1wbGUgY29ubmVjdGlvbnMgKGRlZmF1bHQgcGVybWlzc2lvbnMpXG4gKiBjb25zdCBhcGkgPSBhcHAuYWRkQ29tcHV0ZShDb21wdXRlRmFjdG9yeS5idWlsZChcIkFwaVwiLCB7XG4gKiAgIHR5cGU6IFwiZWNzXCIsXG4gKiAgIHNlcnZpY2VzOiBbe1xuICogICAgIG5hbWU6IFwiYXBpXCIsXG4gKiAgICAgY2FwYWNpdHlQcm92aWRlcjogXCJGQVJHQVRFXCIsXG4gKiAgICAgY29ubmVjdGlvbnM6IFtkYXRhYmFzZSwgYnVja2V0LCBjYWNoZSwgcXVldWVdXG4gKiAgIH1dXG4gKiB9KSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEV4cGxpY2l0IGFjY2VzcyBsZXZlbHNcbiAqIGNvbnN0IHdvcmtlciA9IGFwcC5hZGRDb21wdXRlKENvbXB1dGVGYWN0b3J5LmJ1aWxkKFwiV29ya2VyXCIsIHtcbiAqICAgdHlwZTogXCJlY3NcIixcbiAqICAgc2VydmljZXM6IFt7XG4gKiAgICAgbmFtZTogXCJ3b3JrZXJcIixcbiAqICAgICBjYXBhY2l0eVByb3ZpZGVyOiBcIkZBUkdBVEVcIixcbiAqICAgICBjb25uZWN0aW9uczogW1xuICogICAgICAgZGF0YWJhc2UsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2VjdXJpdHkgZ3JvdXAgKFJEUylcbiAqICAgICAgIHsgcmVzb3VyY2U6IGNhY2hlLCBhY2Nlc3M6IFwicmVhZFwiIH0sICAgLy8gUmVhZC1vbmx5IER5bmFtb0RCXG4gKiAgICAgICB7IHJlc291cmNlOiBidWNrZXQsIGFjY2VzczogXCJ3cml0ZVwiIH0sIC8vIFdyaXRlLW9ubHkgUzNcbiAqICAgICAgIHsgcmVzb3VyY2U6IHF1ZXVlLCBhY2Nlc3M6IFwiY29uc3VtZVwiIH0gLy8gQ29uc3VtZS1vbmx5IFNRU1xuICogICAgIF1cbiAqICAgfV1cbiAqIH0pKTtcbiAqL1xuXG5pbXBvcnQgeyB0eXBlIElDb25uZWN0YWJsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyB0eXBlIElHcmFudGFibGUsIHR5cGUgR3JhbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG4vKipcbiAqIENvbm5lY3RvciB0eXBlIGRpc2NyaW1pbmF0b3IuXG4gKiAtIFwic3RvcmFnZVwiOiBTMyBidWNrZXRzXG4gKiAtIFwiZHluYW1vZGJcIjogRHluYW1vREIgdGFibGVzXG4gKiAtIFwicXVldWVcIjogU1FTIHF1ZXVlc1xuICogLSBcInNlY3VyaXR5R3JvdXBcIjogUmVzb3VyY2VzIHdpdGggc2VjdXJpdHkgZ3JvdXBzIChFQ1MsIExhbWJkYSB3aXRoIFZQQylcbiAqIC0gXCJyZWxhdGlvbmFsXCI6IFJEUyBkYXRhYmFzZXMgKHVzZXMgc2VjdXJpdHkgZ3JvdXBzKVxuICovXG5leHBvcnQgdHlwZSBDb25uZWN0b3JUeXBlID1cbiAgfCBcInN0b3JhZ2VcIlxuICB8IFwiZHluYW1vZGJcIlxuICB8IFwicXVldWVcIlxuICB8IFwic2VjdXJpdHlHcm91cFwiXG4gIHwgXCJyZWxhdGlvbmFsXCI7XG5cbi8qKlxuICogQWNjZXNzIGxldmVsIGZvciBzdG9yYWdlIGFuZCBEeW5hbW9EQiBjb25uZWN0b3JzLlxuICovXG5leHBvcnQgdHlwZSBDb25uZWN0aW9uQWNjZXNzID0gXCJyZWFkXCIgfCBcIndyaXRlXCIgfCBcInJlYWRXcml0ZVwiO1xuXG4vKipcbiAqIEFjY2VzcyBsZXZlbCBmb3IgbWVzc2FnaW5nIGNvbm5lY3RvcnMgKFNRUykuXG4gKi9cbmV4cG9ydCB0eXBlIE1lc3NhZ2luZ0FjY2VzcyA9IFwic2VuZFwiIHwgXCJjb25zdW1lXCIgfCBcImZ1bGxcIjtcblxuLyoqXG4gKiBCYXNlIGNvbm5lY3RvciBpbnRlcmZhY2UuXG4gKiBBbGwgY29ubmVjdG9yIHR5cGVzIGltcGxlbWVudCB0aGlzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29ubmVjdG9yIHtcbiAgLyoqIFRoZSB0eXBlIG9mIGNvbm5lY3RvciByZXNvdXJjZS4gVXNlZCBmb3IgcnVudGltZSB0eXBlIG5hcnJvd2luZy4gKi9cbiAgcmVhZG9ubHkgY29ubmVjdG9yVHlwZTogQ29ubmVjdG9yVHlwZTtcbn1cblxuLyoqXG4gKiBTdG9yYWdlIGNvbm5lY3RvciBpbnRlcmZhY2UgKFMzKS5cbiAqIFByb3ZpZGVzIElBTSBncmFudCBtZXRob2RzIGZvciBTMyBidWNrZXQgYWNjZXNzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTdG9yYWdlQ29ubmVjdG9yIGV4dGVuZHMgSUNvbm5lY3RvciB7XG4gIHJlYWRvbmx5IGNvbm5lY3RvclR5cGU6IFwic3RvcmFnZVwiO1xuXG4gIC8qKiBHcmFudCByZWFkIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLiAqL1xuICBncmFudFJlYWQoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50O1xuXG4gIC8qKiBHcmFudCB3cml0ZSBwZXJtaXNzaW9ucyB0byB0aGUgZ3JhbnRlZS4gKi9cbiAgZ3JhbnRXcml0ZShncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQ7XG5cbiAgLyoqIEdyYW50IHJlYWQgYW5kIHdyaXRlIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLiAqL1xuICBncmFudFJlYWRXcml0ZShncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQ7XG59XG5cbi8qKlxuICogRHluYW1vREIgY29ubmVjdG9yIGludGVyZmFjZS5cbiAqIFByb3ZpZGVzIElBTSBncmFudCBtZXRob2RzIGZvciBEeW5hbW9EQiB0YWJsZSBhY2Nlc3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUR5bmFtb0RCQ29ubmVjdG9yIGV4dGVuZHMgSUNvbm5lY3RvciB7XG4gIHJlYWRvbmx5IGNvbm5lY3RvclR5cGU6IFwiZHluYW1vZGJcIjtcblxuICAvKiogR3JhbnQgcmVhZCBkYXRhIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLiAqL1xuICBncmFudFJlYWREYXRhKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudDtcblxuICAvKiogR3JhbnQgd3JpdGUgZGF0YSBwZXJtaXNzaW9ucyB0byB0aGUgZ3JhbnRlZS4gKi9cbiAgZ3JhbnRXcml0ZURhdGEoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50O1xuXG4gIC8qKiBHcmFudCByZWFkIGFuZCB3cml0ZSBkYXRhIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLiAqL1xuICBncmFudFJlYWRXcml0ZURhdGEoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50O1xufVxuXG4vKipcbiAqIFF1ZXVlIGNvbm5lY3RvciBpbnRlcmZhY2UgKFNRUykuXG4gKiBQcm92aWRlcyBJQU0gZ3JhbnQgbWV0aG9kcyBmb3IgU1FTIHF1ZXVlIGFjY2Vzcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUXVldWVDb25uZWN0b3IgZXh0ZW5kcyBJQ29ubmVjdG9yIHtcbiAgcmVhZG9ubHkgY29ubmVjdG9yVHlwZTogXCJxdWV1ZVwiO1xuXG4gIC8qKiBHcmFudCBzZW5kIG1lc3NhZ2UgcGVybWlzc2lvbnMgdG8gdGhlIGdyYW50ZWUuICovXG4gIGdyYW50U2VuZE1lc3NhZ2VzKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudDtcblxuICAvKiogR3JhbnQgY29uc3VtZSAocmVjZWl2ZSBhbmQgZGVsZXRlKSBtZXNzYWdlIHBlcm1pc3Npb25zIHRvIHRoZSBncmFudGVlLiAqL1xuICBncmFudENvbnN1bWVNZXNzYWdlcyhncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQ7XG5cbiAgLyoqIEdyYW50IGZ1bGwgYWNjZXNzIChzZW5kIGFuZCBjb25zdW1lKSB0byB0aGUgZ3JhbnRlZS4gKi9cbiAgZ3JhbnRGdWxsKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudDtcbn1cblxuLyoqXG4gKiBTZWN1cml0eSBncm91cCBjb25uZWN0b3IgaW50ZXJmYWNlIChSRFMsIEVDUyB3aXRoIFZQQykuXG4gKiBQcm92aWRlcyBhY2Nlc3MgdG8gdGhlIHNlY3VyaXR5IGdyb3VwIGNvbm5lY3Rpb25zIGZvciBuZXR3b3JrLWxldmVsIGFjY2Vzcy5cbiAqXG4gKiBCb3RoIFwic2VjdXJpdHlHcm91cFwiIGFuZCBcInJlbGF0aW9uYWxcIiB0eXBlcyB1c2UgdGhpcyBpbnRlcmZhY2U6XG4gKiAtIFwicmVsYXRpb25hbFwiOiBSRFMgZGF0YWJhc2VzIChBdXJvcmEsIEluc3RhbmNlLCBHbG9iYWxBdXJvcmEpXG4gKiAtIFwic2VjdXJpdHlHcm91cFwiOiBPdGhlciByZXNvdXJjZXMgcmVxdWlyaW5nIHNlY3VyaXR5IGdyb3VwIHJ1bGVzIChFQ1MsIEVDMilcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU2VjdXJpdHlHcm91cENvbm5lY3RvciBleHRlbmRzIElDb25uZWN0b3Ige1xuICByZWFkb25seSBjb25uZWN0b3JUeXBlOiBcInNlY3VyaXR5R3JvdXBcIiB8IFwicmVsYXRpb25hbFwiO1xuXG4gIC8qKiBUaGUgc2VjdXJpdHkgZ3JvdXAgY29ubmVjdGlvbnMgZm9yIHRoaXMgcmVzb3VyY2UuICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25zOiBJQ29ubmVjdGFibGVbXCJjb25uZWN0aW9uc1wiXTtcbn1cblxuLyoqXG4gKiBVbmlvbiB0eXBlIHJlcHJlc2VudGluZyBhbnkgY29ubmVjdG9yIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IHR5cGUgQW55Q29ubmVjdG9yID1cbiAgfCBJU3RvcmFnZUNvbm5lY3RvclxuICB8IElEeW5hbW9EQkNvbm5lY3RvclxuICB8IElRdWV1ZUNvbm5lY3RvclxuICB8IElTZWN1cml0eUdyb3VwQ29ubmVjdG9yO1xuXG4vKipcbiAqIENvbm5lY3Rpb24gY29uZmlndXJhdGlvbiB3aXRoIGV4cGxpY2l0IGFjY2VzcyBsZXZlbC5cbiAqIFVzZSB0aGlzIHRvIHNwZWNpZnkgbm9uLWRlZmF1bHQgYWNjZXNzIGxldmVscy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0aW9uQ29uZmlnIHtcbiAgLyoqIFRoZSByZXNvdXJjZSB0byBjb25uZWN0IHRvLiAqL1xuICByZXNvdXJjZTogQW55Q29ubmVjdG9yIHwgSUNvbm5lY3RhYmxlO1xuXG4gIC8qKiBUaGUgYWNjZXNzIGxldmVsIHRvIGdyYW50LiBEZWZhdWx0cyB2YXJ5IGJ5IHJlc291cmNlIHR5cGUuICovXG4gIGFjY2Vzcz86IENvbm5lY3Rpb25BY2Nlc3MgfCBNZXNzYWdpbmdBY2Nlc3M7XG59XG5cbi8qKlxuICogQ29ubmVjdGlvbiBzcGVjaWZpY2F0aW9uLlxuICogQ2FuIGJlOlxuICogLSBJQ29ubmVjdGFibGU6IExlZ2FjeSBzZWN1cml0eSBncm91cCByZXNvdXJjZVxuICogLSBBbnlDb25uZWN0b3I6IFVuaWZpZWQgY29ubmVjdG9yIHJlc291cmNlXG4gKiAtIENvbm5lY3Rpb25Db25maWc6IEV4cGxpY2l0IGFjY2VzcyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIENvbm5lY3Rpb25TcGVjID0gSUNvbm5lY3RhYmxlIHwgQW55Q29ubmVjdG9yIHwgQ29ubmVjdGlvbkNvbmZpZztcblxuLyoqIENvbm5lY3Rpb24gcmVzdWx0IHR5cGVzLiAqL1xuZXhwb3J0IGNvbnN0IENPTk5FQ1RJT05fVFlQRSA9IHtcbiAgU0VDVVJJVFlfR1JPVVA6IFwic2VjdXJpdHlHcm91cFwiLFxuICBJQU06IFwiaWFtXCJcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIENvbm5lY3Rpb25UeXBlID1cbiAgKHR5cGVvZiBDT05ORUNUSU9OX1RZUEUpW2tleW9mIHR5cGVvZiBDT05ORUNUSU9OX1RZUEVdO1xuXG4vKipcbiAqIFJlc3VsdCBvZiBwcm9jZXNzaW5nIGEgY29ubmVjdGlvbi5cbiAqIENvbnRhaW5zIHRoZSBncmFudCByZXN1bHQgZm9yIElBTS1iYXNlZCBjb25uZWN0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0aW9uUmVzdWx0IHtcbiAgLyoqIFRoZSByZXNvdXJjZSB0aGF0IHdhcyBjb25uZWN0ZWQuICovXG4gIHJlc291cmNlOiBBbnlDb25uZWN0b3IgfCBJQ29ubmVjdGFibGU7XG5cbiAgLyoqIFRoZSBncmFudCByZXN1bHQgaWYgSUFNIHBlcm1pc3Npb25zIHdlcmUgZ3JhbnRlZC4gKi9cbiAgZ3JhbnQ/OiBHcmFudDtcblxuICAvKiogVGhlIHR5cGUgb2YgY29ubmVjdGlvbiB0aGF0IHdhcyBtYWRlLiAqL1xuICBjb25uZWN0aW9uVHlwZTogQ29ubmVjdGlvblR5cGU7XG59XG5cbmNvbnN0IFZBTElEX0NPTk5FQ1RJT05fQUNDRVNTOiByZWFkb25seSBDb25uZWN0aW9uQWNjZXNzW10gPSBbXG4gIFwicmVhZFwiLFxuICBcIndyaXRlXCIsXG4gIFwicmVhZFdyaXRlXCJcbl07XG5jb25zdCBWQUxJRF9NRVNTQUdJTkdfQUNDRVNTOiByZWFkb25seSBNZXNzYWdpbmdBY2Nlc3NbXSA9IFtcbiAgXCJzZW5kXCIsXG4gIFwiY29uc3VtZVwiLFxuICBcImZ1bGxcIlxuXTtcblxuLyoqIENoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZCBDb25uZWN0aW9uQWNjZXNzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29ubmVjdGlvbkFjY2Vzcyh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIENvbm5lY3Rpb25BY2Nlc3Mge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgIFZBTElEX0NPTk5FQ1RJT05fQUNDRVNTLmluY2x1ZGVzKHZhbHVlIGFzIENvbm5lY3Rpb25BY2Nlc3MpXG4gICk7XG59XG5cbi8qKiBDaGVjayBpZiBhIHZhbHVlIGlzIGEgdmFsaWQgTWVzc2FnaW5nQWNjZXNzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTWVzc2FnaW5nQWNjZXNzKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgTWVzc2FnaW5nQWNjZXNzIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiZcbiAgICBWQUxJRF9NRVNTQUdJTkdfQUNDRVNTLmluY2x1ZGVzKHZhbHVlIGFzIE1lc3NhZ2luZ0FjY2VzcylcbiAgKTtcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgcmVzb3VyY2UgaXMgYSBjb25uZWN0b3IuXG4gKiBSZXR1cm5zIEFueUNvbm5lY3RvciBmb3IgZGlzY3JpbWluYXRlZCB1bmlvbiBuYXJyb3dpbmcgaW4gc3dpdGNoIHN0YXRlbWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Nvbm5lY3RvcihyZXNvdXJjZTogdW5rbm93bik6IHJlc291cmNlIGlzIEFueUNvbm5lY3RvciB7XG4gIHJldHVybiAoXG4gICAgcmVzb3VyY2UgIT09IG51bGwgJiZcbiAgICB0eXBlb2YgcmVzb3VyY2UgPT09IFwib2JqZWN0XCIgJiZcbiAgICBcImNvbm5lY3RvclR5cGVcIiBpbiByZXNvdXJjZVxuICApO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSByZXNvdXJjZSBpcyBhIENESyBJQ29ubmVjdGFibGUuXG4gKiBDaGVja3MgZm9yIHRoZSBgY29ubmVjdGlvbnNgIHByb3BlcnR5IHRoYXQgSUNvbm5lY3RhYmxlIHJlc291cmNlcyBoYXZlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNDb25uZWN0YWJsZShyZXNvdXJjZTogdW5rbm93bik6IHJlc291cmNlIGlzIElDb25uZWN0YWJsZSB7XG4gIHJldHVybiAoXG4gICAgcmVzb3VyY2UgIT09IG51bGwgJiZcbiAgICB0eXBlb2YgcmVzb3VyY2UgPT09IFwib2JqZWN0XCIgJiZcbiAgICBcImNvbm5lY3Rpb25zXCIgaW4gcmVzb3VyY2VcbiAgKTtcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgY29ubmVjdGlvbiBzcGVjIGlzIGEgQ29ubmVjdGlvbkNvbmZpZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQ29ubmVjdGlvbkNvbmZpZyhcbiAgc3BlYzogQ29ubmVjdGlvblNwZWNcbik6IHNwZWMgaXMgQ29ubmVjdGlvbkNvbmZpZyB7XG4gIHJldHVybiBzcGVjICE9PSBudWxsICYmIHR5cGVvZiBzcGVjID09PSBcIm9iamVjdFwiICYmIFwicmVzb3VyY2VcIiBpbiBzcGVjO1xufVxuXG4vKiogVHlwZSBndWFyZCBmb3Igc3RvcmFnZSBjb25uZWN0b3JzIChTMyBidWNrZXRzKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N0b3JhZ2VDb25uZWN0b3IoXG4gIGNvbm5lY3RvcjogSUNvbm5lY3RvclxuKTogY29ubmVjdG9yIGlzIElTdG9yYWdlQ29ubmVjdG9yIHtcbiAgcmV0dXJuIGNvbm5lY3Rvci5jb25uZWN0b3JUeXBlID09PSBcInN0b3JhZ2VcIjtcbn1cblxuLyoqIFR5cGUgZ3VhcmQgZm9yIER5bmFtb0RCIGNvbm5lY3RvcnMuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEeW5hbW9EQkNvbm5lY3RvcihcbiAgY29ubmVjdG9yOiBJQ29ubmVjdG9yXG4pOiBjb25uZWN0b3IgaXMgSUR5bmFtb0RCQ29ubmVjdG9yIHtcbiAgcmV0dXJuIGNvbm5lY3Rvci5jb25uZWN0b3JUeXBlID09PSBcImR5bmFtb2RiXCI7XG59XG5cbi8qKiBUeXBlIGd1YXJkIGZvciBxdWV1ZSBjb25uZWN0b3JzIChTUVMgcXVldWVzKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1F1ZXVlQ29ubmVjdG9yKFxuICBjb25uZWN0b3I6IElDb25uZWN0b3Jcbik6IGNvbm5lY3RvciBpcyBJUXVldWVDb25uZWN0b3Ige1xuICByZXR1cm4gY29ubmVjdG9yLmNvbm5lY3RvclR5cGUgPT09IFwicXVldWVcIjtcbn1cblxuLyoqIFR5cGUgZ3VhcmQgZm9yIHNlY3VyaXR5IGdyb3VwIGNvbm5lY3RvcnMgKFJEUywgRUNTKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1NlY3VyaXR5R3JvdXBDb25uZWN0b3IoXG4gIGNvbm5lY3RvcjogSUNvbm5lY3RvclxuKTogY29ubmVjdG9yIGlzIElTZWN1cml0eUdyb3VwQ29ubmVjdG9yIHtcbiAgcmV0dXJuIChcbiAgICBjb25uZWN0b3IuY29ubmVjdG9yVHlwZSA9PT0gXCJzZWN1cml0eUdyb3VwXCIgfHxcbiAgICBjb25uZWN0b3IuY29ubmVjdG9yVHlwZSA9PT0gXCJyZWxhdGlvbmFsXCJcbiAgKTtcbn1cbiJdfQ==
9
+ var connector_js_1 = require("../../../utils/connector.js");
10
+ Object.defineProperty(exports, "CONNECTION_TYPE", { enumerable: true, get: function () { return connector_js_1.CONNECTION_TYPE; } });
11
+ Object.defineProperty(exports, "isConnectionAccess", { enumerable: true, get: function () { return connector_js_1.isConnectionAccess; } });
12
+ Object.defineProperty(exports, "isMessagingAccess", { enumerable: true, get: function () { return connector_js_1.isMessagingAccess; } });
13
+ Object.defineProperty(exports, "isConnector", { enumerable: true, get: function () { return connector_js_1.isConnector; } });
14
+ Object.defineProperty(exports, "isConnectable", { enumerable: true, get: function () { return connector_js_1.isConnectable; } });
15
+ Object.defineProperty(exports, "isConnectionConfig", { enumerable: true, get: function () { return connector_js_1.isConnectionConfig; } });
16
+ Object.defineProperty(exports, "isStorageConnector", { enumerable: true, get: function () { return connector_js_1.isStorageConnector; } });
17
+ Object.defineProperty(exports, "isDynamoDBConnector", { enumerable: true, get: function () { return connector_js_1.isDynamoDBConnector; } });
18
+ Object.defineProperty(exports, "isQueueConnector", { enumerable: true, get: function () { return connector_js_1.isQueueConnector; } });
19
+ Object.defineProperty(exports, "isSecurityGroupConnector", { enumerable: true, get: function () { return connector_js_1.isSecurityGroupConnector; } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3BhdHRlcm5zL2F3cy9pbnRlcmZhY2VzL2Nvbm5lY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7OztHQUlHO0FBQ0gsNERBd0JxQztBQVpuQywrR0FBQSxlQUFlLE9BQUE7QUFHZixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixpSEFBQSxpQkFBaUIsT0FBQTtBQUNqQiwyR0FBQSxXQUFXLE9BQUE7QUFDWCw2R0FBQSxhQUFhLE9BQUE7QUFDYixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixtSEFBQSxtQkFBbUIsT0FBQTtBQUNuQixnSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQix3SEFBQSx3QkFBd0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmUtZXhwb3J0IGZyb20gY2Fub25pY2FsIGxvY2F0aW9uIGluIGxpYi91dGlscy8uXG4gKiBDb25uZWN0b3IgdHlwZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHJlc291cmNlcyBhbmQgcGF0dGVybnMgbGF5ZXJzLFxuICogc28gdGhleSBiZWxvbmcgaW4gdXRpbHMgcGVyIHRoZSBpbmZyYXN0cnVjdHVyZSBsYXllciBib3VuZGFyeSBydWxlcy5cbiAqL1xuZXhwb3J0IHtcbiAgdHlwZSBDb25uZWN0b3JUeXBlLFxuICB0eXBlIENvbm5lY3Rpb25BY2Nlc3MsXG4gIHR5cGUgTWVzc2FnaW5nQWNjZXNzLFxuICB0eXBlIElDb25uZWN0b3IsXG4gIHR5cGUgSVN0b3JhZ2VDb25uZWN0b3IsXG4gIHR5cGUgSUR5bmFtb0RCQ29ubmVjdG9yLFxuICB0eXBlIElRdWV1ZUNvbm5lY3RvcixcbiAgdHlwZSBJU2VjdXJpdHlHcm91cENvbm5lY3RvcixcbiAgdHlwZSBBbnlDb25uZWN0b3IsXG4gIHR5cGUgQ29ubmVjdGlvbkNvbmZpZyxcbiAgdHlwZSBDb25uZWN0aW9uU3BlYyxcbiAgQ09OTkVDVElPTl9UWVBFLFxuICB0eXBlIENvbm5lY3Rpb25UeXBlLFxuICB0eXBlIENvbm5lY3Rpb25SZXN1bHQsXG4gIGlzQ29ubmVjdGlvbkFjY2VzcyxcbiAgaXNNZXNzYWdpbmdBY2Nlc3MsXG4gIGlzQ29ubmVjdG9yLFxuICBpc0Nvbm5lY3RhYmxlLFxuICBpc0Nvbm5lY3Rpb25Db25maWcsXG4gIGlzU3RvcmFnZUNvbm5lY3RvcixcbiAgaXNEeW5hbW9EQkNvbm5lY3RvcixcbiAgaXNRdWV1ZUNvbm5lY3RvcixcbiAgaXNTZWN1cml0eUdyb3VwQ29ubmVjdG9yXG59IGZyb20gXCIuLi8uLi8uLi91dGlscy9jb25uZWN0b3IuanNcIjtcbiJdfQ==
@@ -8,6 +8,7 @@ export { type ComputeType, type ICompute, type IEcsCompute, type ILambdaCompute,
8
8
  export { type DatabaseType, type RelationalDatabaseType, type IDatabase, type IRelationalDatabase, type IDynamoDBDatabase, type AnyDatabase, isDatabase, isRelationalDatabase, isDynamoDBDatabase, isAuroraDatabase, isInstanceDatabase, isGlobalAuroraDatabase } from "./database.js";
9
9
  export { type MessagingType, type IMessaging, type IQueueMessaging, type ITopicMessaging, type IEventBusMessaging, type AnyMessaging, isMessaging, isQueueMessaging, isTopicMessaging, isEventBusMessaging } from "./messaging.js";
10
10
  export { type IStorage, isStorage } from "./storage.js";
11
+ export { type CdnType, type ICdn, type AnyCdn, isCdn } from "./cdn.js";
11
12
  export { type ConnectorType, type ConnectionAccess, type MessagingAccess, type IConnector, type IStorageConnector, type IDynamoDBConnector, type IQueueConnector, type ISecurityGroupConnector, type AnyConnector, type ConnectionConfig, type ConnectionSpec, type ConnectionResult, isConnector, isConnectable, isConnectionConfig, isStorageConnector, isDynamoDBConnector, isQueueConnector, isSecurityGroupConnector } from "./connector.js";
12
13
  export { type PatternType, type IPattern, type IPayload, type IPayloadProps, type IPatternProps, type AnyPattern, type PayloadDatabaseConfig, type PayloadComputeConfig, type PayloadCdnConfig, isPayloadPattern, isPattern } from "./pattern.js";
13
14
  export { type OrganisationType, type IOrganisation, type IPlatform, type IAccount, type AnyOrganisation, isOrganisation, isPlatform, isAccount, isOrganisationResource } from "./organisation.js";
@@ -6,7 +6,7 @@
6
6
  * factory pattern implementations.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.isOrganisationResource = exports.isAccount = exports.isPlatform = exports.isOrganisation = exports.isPattern = exports.isPayloadPattern = exports.isSecurityGroupConnector = exports.isQueueConnector = exports.isDynamoDBConnector = exports.isStorageConnector = exports.isConnectionConfig = exports.isConnectable = exports.isConnector = exports.isStorage = exports.isEventBusMessaging = exports.isTopicMessaging = exports.isQueueMessaging = exports.isMessaging = exports.isGlobalAuroraDatabase = exports.isInstanceDatabase = exports.isAuroraDatabase = exports.isDynamoDBDatabase = exports.isRelationalDatabase = exports.isDatabase = exports.isEc2Compute = exports.isLambdaCompute = exports.isEcsCompute = exports.isCompute = void 0;
9
+ exports.isOrganisationResource = exports.isAccount = exports.isPlatform = exports.isOrganisation = exports.isPattern = exports.isPayloadPattern = exports.isSecurityGroupConnector = exports.isQueueConnector = exports.isDynamoDBConnector = exports.isStorageConnector = exports.isConnectionConfig = exports.isConnectable = exports.isConnector = exports.isCdn = exports.isStorage = exports.isEventBusMessaging = exports.isTopicMessaging = exports.isQueueMessaging = exports.isMessaging = exports.isGlobalAuroraDatabase = exports.isInstanceDatabase = exports.isAuroraDatabase = exports.isDynamoDBDatabase = exports.isRelationalDatabase = exports.isDatabase = exports.isEc2Compute = exports.isLambdaCompute = exports.isEcsCompute = exports.isCompute = void 0;
10
10
  // Compute interfaces
11
11
  var compute_js_1 = require("./compute.js");
12
12
  Object.defineProperty(exports, "isCompute", { enumerable: true, get: function () { return compute_js_1.isCompute; } });
@@ -30,6 +30,9 @@ Object.defineProperty(exports, "isEventBusMessaging", { enumerable: true, get: f
30
30
  // Storage interfaces
31
31
  var storage_js_1 = require("./storage.js");
32
32
  Object.defineProperty(exports, "isStorage", { enumerable: true, get: function () { return storage_js_1.isStorage; } });
33
+ // CDN interfaces
34
+ var cdn_js_1 = require("./cdn.js");
35
+ Object.defineProperty(exports, "isCdn", { enumerable: true, get: function () { return cdn_js_1.isCdn; } });
33
36
  // Connector interfaces
34
37
  var connector_js_1 = require("./connector.js");
35
38
  Object.defineProperty(exports, "isConnector", { enumerable: true, get: function () { return connector_js_1.isConnector; } });
@@ -49,4 +52,4 @@ Object.defineProperty(exports, "isOrganisation", { enumerable: true, get: functi
49
52
  Object.defineProperty(exports, "isPlatform", { enumerable: true, get: function () { return organisation_js_1.isPlatform; } });
50
53
  Object.defineProperty(exports, "isAccount", { enumerable: true, get: function () { return organisation_js_1.isAccount; } });
51
54
  Object.defineProperty(exports, "isOrganisationResource", { enumerable: true, get: function () { return organisation_js_1.isOrganisationResource; } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcGF0dGVybnMvYXdzL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHOzs7QUFFSCxxQkFBcUI7QUFDckIsMkNBV3NCO0FBSnBCLHVHQUFBLFNBQVMsT0FBQTtBQUNULDBHQUFBLFlBQVksT0FBQTtBQUNaLDZHQUFBLGVBQWUsT0FBQTtBQUNmLDBHQUFBLFlBQVksT0FBQTtBQUdkLHNCQUFzQjtBQUN0Qiw2Q0FhdUI7QUFOckIseUdBQUEsVUFBVSxPQUFBO0FBQ1YsbUhBQUEsb0JBQW9CLE9BQUE7QUFDcEIsaUhBQUEsa0JBQWtCLE9BQUE7QUFDbEIsK0dBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsaUhBQUEsa0JBQWtCLE9BQUE7QUFDbEIscUhBQUEsc0JBQXNCLE9BQUE7QUFHeEIsdUJBQXVCO0FBQ3ZCLCtDQVd3QjtBQUp0QiwyR0FBQSxXQUFXLE9BQUE7QUFDWCxnSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQixnSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQixtSEFBQSxtQkFBbUIsT0FBQTtBQUdyQixxQkFBcUI7QUFDckIsMkNBQXdEO0FBQWhDLHVHQUFBLFNBQVMsT0FBQTtBQUVqQyx1QkFBdUI7QUFDdkIsK0NBb0J3QjtBQVB0QiwyR0FBQSxXQUFXLE9BQUE7QUFDWCw2R0FBQSxhQUFhLE9BQUE7QUFDYixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixtSEFBQSxtQkFBbUIsT0FBQTtBQUNuQixnSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQix3SEFBQSx3QkFBd0IsT0FBQTtBQUcxQixxQkFBcUI7QUFDckIsMkNBWXNCO0FBRnBCLDhHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLHVHQUFBLFNBQVMsT0FBQTtBQUdYLDBCQUEwQjtBQUMxQixxREFVMkI7QUFKekIsaUhBQUEsY0FBYyxPQUFBO0FBQ2QsNkdBQUEsVUFBVSxPQUFBO0FBQ1YsNEdBQUEsU0FBUyxPQUFBO0FBQ1QseUhBQUEsc0JBQXNCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR5cGUtc2FmZSBpbnRlcmZhY2VzIGZvciBGamFsbCBpbmZyYXN0cnVjdHVyZSBmYWN0b3JpZXMuXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhbGwgaW50ZXJmYWNlcyBhbmQgdHlwZSBndWFyZHMgZm9yIHR5cGUtc2FmZVxuICogZmFjdG9yeSBwYXR0ZXJuIGltcGxlbWVudGF0aW9ucy5cbiAqL1xuXG4vLyBDb21wdXRlIGludGVyZmFjZXNcbmV4cG9ydCB7XG4gIHR5cGUgQ29tcHV0ZVR5cGUsXG4gIHR5cGUgSUNvbXB1dGUsXG4gIHR5cGUgSUVjc0NvbXB1dGUsXG4gIHR5cGUgSUxhbWJkYUNvbXB1dGUsXG4gIHR5cGUgSUVjMkNvbXB1dGUsXG4gIHR5cGUgQW55Q29tcHV0ZSxcbiAgaXNDb21wdXRlLFxuICBpc0Vjc0NvbXB1dGUsXG4gIGlzTGFtYmRhQ29tcHV0ZSxcbiAgaXNFYzJDb21wdXRlXG59IGZyb20gXCIuL2NvbXB1dGUuanNcIjtcblxuLy8gRGF0YWJhc2UgaW50ZXJmYWNlc1xuZXhwb3J0IHtcbiAgdHlwZSBEYXRhYmFzZVR5cGUsXG4gIHR5cGUgUmVsYXRpb25hbERhdGFiYXNlVHlwZSxcbiAgdHlwZSBJRGF0YWJhc2UsXG4gIHR5cGUgSVJlbGF0aW9uYWxEYXRhYmFzZSxcbiAgdHlwZSBJRHluYW1vREJEYXRhYmFzZSxcbiAgdHlwZSBBbnlEYXRhYmFzZSxcbiAgaXNEYXRhYmFzZSxcbiAgaXNSZWxhdGlvbmFsRGF0YWJhc2UsXG4gIGlzRHluYW1vREJEYXRhYmFzZSxcbiAgaXNBdXJvcmFEYXRhYmFzZSxcbiAgaXNJbnN0YW5jZURhdGFiYXNlLFxuICBpc0dsb2JhbEF1cm9yYURhdGFiYXNlXG59IGZyb20gXCIuL2RhdGFiYXNlLmpzXCI7XG5cbi8vIE1lc3NhZ2luZyBpbnRlcmZhY2VzXG5leHBvcnQge1xuICB0eXBlIE1lc3NhZ2luZ1R5cGUsXG4gIHR5cGUgSU1lc3NhZ2luZyxcbiAgdHlwZSBJUXVldWVNZXNzYWdpbmcsXG4gIHR5cGUgSVRvcGljTWVzc2FnaW5nLFxuICB0eXBlIElFdmVudEJ1c01lc3NhZ2luZyxcbiAgdHlwZSBBbnlNZXNzYWdpbmcsXG4gIGlzTWVzc2FnaW5nLFxuICBpc1F1ZXVlTWVzc2FnaW5nLFxuICBpc1RvcGljTWVzc2FnaW5nLFxuICBpc0V2ZW50QnVzTWVzc2FnaW5nXG59IGZyb20gXCIuL21lc3NhZ2luZy5qc1wiO1xuXG4vLyBTdG9yYWdlIGludGVyZmFjZXNcbmV4cG9ydCB7IHR5cGUgSVN0b3JhZ2UsIGlzU3RvcmFnZSB9IGZyb20gXCIuL3N0b3JhZ2UuanNcIjtcblxuLy8gQ29ubmVjdG9yIGludGVyZmFjZXNcbmV4cG9ydCB7XG4gIHR5cGUgQ29ubmVjdG9yVHlwZSxcbiAgdHlwZSBDb25uZWN0aW9uQWNjZXNzLFxuICB0eXBlIE1lc3NhZ2luZ0FjY2VzcyxcbiAgdHlwZSBJQ29ubmVjdG9yLFxuICB0eXBlIElTdG9yYWdlQ29ubmVjdG9yLFxuICB0eXBlIElEeW5hbW9EQkNvbm5lY3RvcixcbiAgdHlwZSBJUXVldWVDb25uZWN0b3IsXG4gIHR5cGUgSVNlY3VyaXR5R3JvdXBDb25uZWN0b3IsXG4gIHR5cGUgQW55Q29ubmVjdG9yLFxuICB0eXBlIENvbm5lY3Rpb25Db25maWcsXG4gIHR5cGUgQ29ubmVjdGlvblNwZWMsXG4gIHR5cGUgQ29ubmVjdGlvblJlc3VsdCxcbiAgaXNDb25uZWN0b3IsXG4gIGlzQ29ubmVjdGFibGUsXG4gIGlzQ29ubmVjdGlvbkNvbmZpZyxcbiAgaXNTdG9yYWdlQ29ubmVjdG9yLFxuICBpc0R5bmFtb0RCQ29ubmVjdG9yLFxuICBpc1F1ZXVlQ29ubmVjdG9yLFxuICBpc1NlY3VyaXR5R3JvdXBDb25uZWN0b3Jcbn0gZnJvbSBcIi4vY29ubmVjdG9yLmpzXCI7XG5cbi8vIFBhdHRlcm4gaW50ZXJmYWNlc1xuZXhwb3J0IHtcbiAgdHlwZSBQYXR0ZXJuVHlwZSxcbiAgdHlwZSBJUGF0dGVybixcbiAgdHlwZSBJUGF5bG9hZCxcbiAgdHlwZSBJUGF5bG9hZFByb3BzLFxuICB0eXBlIElQYXR0ZXJuUHJvcHMsXG4gIHR5cGUgQW55UGF0dGVybixcbiAgdHlwZSBQYXlsb2FkRGF0YWJhc2VDb25maWcsXG4gIHR5cGUgUGF5bG9hZENvbXB1dGVDb25maWcsXG4gIHR5cGUgUGF5bG9hZENkbkNvbmZpZyxcbiAgaXNQYXlsb2FkUGF0dGVybixcbiAgaXNQYXR0ZXJuXG59IGZyb20gXCIuL3BhdHRlcm4uanNcIjtcblxuLy8gT3JnYW5pc2F0aW9uIGludGVyZmFjZXNcbmV4cG9ydCB7XG4gIHR5cGUgT3JnYW5pc2F0aW9uVHlwZSxcbiAgdHlwZSBJT3JnYW5pc2F0aW9uLFxuICB0eXBlIElQbGF0Zm9ybSxcbiAgdHlwZSBJQWNjb3VudCxcbiAgdHlwZSBBbnlPcmdhbmlzYXRpb24sXG4gIGlzT3JnYW5pc2F0aW9uLFxuICBpc1BsYXRmb3JtLFxuICBpc0FjY291bnQsXG4gIGlzT3JnYW5pc2F0aW9uUmVzb3VyY2Vcbn0gZnJvbSBcIi4vb3JnYW5pc2F0aW9uLmpzXCI7XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcGF0dGVybnMvYXdzL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHOzs7QUFFSCxxQkFBcUI7QUFDckIsMkNBV3NCO0FBSnBCLHVHQUFBLFNBQVMsT0FBQTtBQUNULDBHQUFBLFlBQVksT0FBQTtBQUNaLDZHQUFBLGVBQWUsT0FBQTtBQUNmLDBHQUFBLFlBQVksT0FBQTtBQUdkLHNCQUFzQjtBQUN0Qiw2Q0FhdUI7QUFOckIseUdBQUEsVUFBVSxPQUFBO0FBQ1YsbUhBQUEsb0JBQW9CLE9BQUE7QUFDcEIsaUhBQUEsa0JBQWtCLE9BQUE7QUFDbEIsK0dBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsaUhBQUEsa0JBQWtCLE9BQUE7QUFDbEIscUhBQUEsc0JBQXNCLE9BQUE7QUFHeEIsdUJBQXVCO0FBQ3ZCLCtDQVd3QjtBQUp0QiwyR0FBQSxXQUFXLE9BQUE7QUFDWCxnSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQixnSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQixtSEFBQSxtQkFBbUIsT0FBQTtBQUdyQixxQkFBcUI7QUFDckIsMkNBQXdEO0FBQWhDLHVHQUFBLFNBQVMsT0FBQTtBQUVqQyxpQkFBaUI7QUFDakIsbUNBQXVFO0FBQXhCLCtGQUFBLEtBQUssT0FBQTtBQUVwRCx1QkFBdUI7QUFDdkIsK0NBb0J3QjtBQVB0QiwyR0FBQSxXQUFXLE9BQUE7QUFDWCw2R0FBQSxhQUFhLE9BQUE7QUFDYixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixrSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixtSEFBQSxtQkFBbUIsT0FBQTtBQUNuQixnSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQix3SEFBQSx3QkFBd0IsT0FBQTtBQUcxQixxQkFBcUI7QUFDckIsMkNBWXNCO0FBRnBCLDhHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLHVHQUFBLFNBQVMsT0FBQTtBQUdYLDBCQUEwQjtBQUMxQixxREFVMkI7QUFKekIsaUhBQUEsY0FBYyxPQUFBO0FBQ2QsNkdBQUEsVUFBVSxPQUFBO0FBQ1YsNEdBQUEsU0FBUyxPQUFBO0FBQ1QseUhBQUEsc0JBQXNCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR5cGUtc2FmZSBpbnRlcmZhY2VzIGZvciBGamFsbCBpbmZyYXN0cnVjdHVyZSBmYWN0b3JpZXMuXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhbGwgaW50ZXJmYWNlcyBhbmQgdHlwZSBndWFyZHMgZm9yIHR5cGUtc2FmZVxuICogZmFjdG9yeSBwYXR0ZXJuIGltcGxlbWVudGF0aW9ucy5cbiAqL1xuXG4vLyBDb21wdXRlIGludGVyZmFjZXNcbmV4cG9ydCB7XG4gIHR5cGUgQ29tcHV0ZVR5cGUsXG4gIHR5cGUgSUNvbXB1dGUsXG4gIHR5cGUgSUVjc0NvbXB1dGUsXG4gIHR5cGUgSUxhbWJkYUNvbXB1dGUsXG4gIHR5cGUgSUVjMkNvbXB1dGUsXG4gIHR5cGUgQW55Q29tcHV0ZSxcbiAgaXNDb21wdXRlLFxuICBpc0Vjc0NvbXB1dGUsXG4gIGlzTGFtYmRhQ29tcHV0ZSxcbiAgaXNFYzJDb21wdXRlXG59IGZyb20gXCIuL2NvbXB1dGUuanNcIjtcblxuLy8gRGF0YWJhc2UgaW50ZXJmYWNlc1xuZXhwb3J0IHtcbiAgdHlwZSBEYXRhYmFzZVR5cGUsXG4gIHR5cGUgUmVsYXRpb25hbERhdGFiYXNlVHlwZSxcbiAgdHlwZSBJRGF0YWJhc2UsXG4gIHR5cGUgSVJlbGF0aW9uYWxEYXRhYmFzZSxcbiAgdHlwZSBJRHluYW1vREJEYXRhYmFzZSxcbiAgdHlwZSBBbnlEYXRhYmFzZSxcbiAgaXNEYXRhYmFzZSxcbiAgaXNSZWxhdGlvbmFsRGF0YWJhc2UsXG4gIGlzRHluYW1vREJEYXRhYmFzZSxcbiAgaXNBdXJvcmFEYXRhYmFzZSxcbiAgaXNJbnN0YW5jZURhdGFiYXNlLFxuICBpc0dsb2JhbEF1cm9yYURhdGFiYXNlXG59IGZyb20gXCIuL2RhdGFiYXNlLmpzXCI7XG5cbi8vIE1lc3NhZ2luZyBpbnRlcmZhY2VzXG5leHBvcnQge1xuICB0eXBlIE1lc3NhZ2luZ1R5cGUsXG4gIHR5cGUgSU1lc3NhZ2luZyxcbiAgdHlwZSBJUXVldWVNZXNzYWdpbmcsXG4gIHR5cGUgSVRvcGljTWVzc2FnaW5nLFxuICB0eXBlIElFdmVudEJ1c01lc3NhZ2luZyxcbiAgdHlwZSBBbnlNZXNzYWdpbmcsXG4gIGlzTWVzc2FnaW5nLFxuICBpc1F1ZXVlTWVzc2FnaW5nLFxuICBpc1RvcGljTWVzc2FnaW5nLFxuICBpc0V2ZW50QnVzTWVzc2FnaW5nXG59IGZyb20gXCIuL21lc3NhZ2luZy5qc1wiO1xuXG4vLyBTdG9yYWdlIGludGVyZmFjZXNcbmV4cG9ydCB7IHR5cGUgSVN0b3JhZ2UsIGlzU3RvcmFnZSB9IGZyb20gXCIuL3N0b3JhZ2UuanNcIjtcblxuLy8gQ0ROIGludGVyZmFjZXNcbmV4cG9ydCB7IHR5cGUgQ2RuVHlwZSwgdHlwZSBJQ2RuLCB0eXBlIEFueUNkbiwgaXNDZG4gfSBmcm9tIFwiLi9jZG4uanNcIjtcblxuLy8gQ29ubmVjdG9yIGludGVyZmFjZXNcbmV4cG9ydCB7XG4gIHR5cGUgQ29ubmVjdG9yVHlwZSxcbiAgdHlwZSBDb25uZWN0aW9uQWNjZXNzLFxuICB0eXBlIE1lc3NhZ2luZ0FjY2VzcyxcbiAgdHlwZSBJQ29ubmVjdG9yLFxuICB0eXBlIElTdG9yYWdlQ29ubmVjdG9yLFxuICB0eXBlIElEeW5hbW9EQkNvbm5lY3RvcixcbiAgdHlwZSBJUXVldWVDb25uZWN0b3IsXG4gIHR5cGUgSVNlY3VyaXR5R3JvdXBDb25uZWN0b3IsXG4gIHR5cGUgQW55Q29ubmVjdG9yLFxuICB0eXBlIENvbm5lY3Rpb25Db25maWcsXG4gIHR5cGUgQ29ubmVjdGlvblNwZWMsXG4gIHR5cGUgQ29ubmVjdGlvblJlc3VsdCxcbiAgaXNDb25uZWN0b3IsXG4gIGlzQ29ubmVjdGFibGUsXG4gIGlzQ29ubmVjdGlvbkNvbmZpZyxcbiAgaXNTdG9yYWdlQ29ubmVjdG9yLFxuICBpc0R5bmFtb0RCQ29ubmVjdG9yLFxuICBpc1F1ZXVlQ29ubmVjdG9yLFxuICBpc1NlY3VyaXR5R3JvdXBDb25uZWN0b3Jcbn0gZnJvbSBcIi4vY29ubmVjdG9yLmpzXCI7XG5cbi8vIFBhdHRlcm4gaW50ZXJmYWNlc1xuZXhwb3J0IHtcbiAgdHlwZSBQYXR0ZXJuVHlwZSxcbiAgdHlwZSBJUGF0dGVybixcbiAgdHlwZSBJUGF5bG9hZCxcbiAgdHlwZSBJUGF5bG9hZFByb3BzLFxuICB0eXBlIElQYXR0ZXJuUHJvcHMsXG4gIHR5cGUgQW55UGF0dGVybixcbiAgdHlwZSBQYXlsb2FkRGF0YWJhc2VDb25maWcsXG4gIHR5cGUgUGF5bG9hZENvbXB1dGVDb25maWcsXG4gIHR5cGUgUGF5bG9hZENkbkNvbmZpZyxcbiAgaXNQYXlsb2FkUGF0dGVybixcbiAgaXNQYXR0ZXJuXG59IGZyb20gXCIuL3BhdHRlcm4uanNcIjtcblxuLy8gT3JnYW5pc2F0aW9uIGludGVyZmFjZXNcbmV4cG9ydCB7XG4gIHR5cGUgT3JnYW5pc2F0aW9uVHlwZSxcbiAgdHlwZSBJT3JnYW5pc2F0aW9uLFxuICB0eXBlIElQbGF0Zm9ybSxcbiAgdHlwZSBJQWNjb3VudCxcbiAgdHlwZSBBbnlPcmdhbmlzYXRpb24sXG4gIGlzT3JnYW5pc2F0aW9uLFxuICBpc1BsYXRmb3JtLFxuICBpc0FjY291bnQsXG4gIGlzT3JnYW5pc2F0aW9uUmVzb3VyY2Vcbn0gZnJvbSBcIi4vb3JnYW5pc2F0aW9uLmpzXCI7XG4iXX0=
@@ -17,12 +17,12 @@
17
17
  import { type ICertificate } from "aws-cdk-lib/aws-certificatemanager";
18
18
  import { type Duration } from "aws-cdk-lib";
19
19
  import { type Construct } from "constructs";
20
- import { type RelationalDatabase, type DynamoDBDatabase, type ProxyConfig, type ReadReplicaConfig, type CredentialsConfig, type EncryptionConfig, type AuroraEncryptionConfig, type AuroraWriterConfig, type AuroraReadersConfig, type PerformanceInsightsConfig, type PerformanceInsightsRetentionPeriod } from "../database.js";
20
+ import { type RelationalDatabase, type DynamoDBDatabase, type ProxyConfig, type ReadReplicaConfig, type CredentialsConfig, type EncryptionConfig, type AuroraEncryptionConfig, type AuroraWriterConfig, type AuroraReadersConfig, type DatabaseInsightsConfig } from "../database.js";
21
21
  import { type LambdaCompute } from "../compute.js";
22
22
  import { type Storage } from "../storage.js";
23
23
  import { type QueueMessaging } from "../messaging.js";
24
24
  import { type Cdn, type SmartCdnBehaviour } from "../cdn.js";
25
- export type { ProxyConfig, ReadReplicaConfig, CredentialsConfig, EncryptionConfig, AuroraEncryptionConfig, AuroraWriterConfig, AuroraReadersConfig, PerformanceInsightsConfig, PerformanceInsightsRetentionPeriod };
25
+ export type { ProxyConfig, ReadReplicaConfig, CredentialsConfig, EncryptionConfig, AuroraEncryptionConfig, AuroraWriterConfig, AuroraReadersConfig, DatabaseInsightsConfig };
26
26
  /**
27
27
  * Full database configuration for patterns.
28
28
  * Extends underlying DatabaseFactory props with pattern-specific defaults.
@@ -38,7 +38,7 @@ export type { ProxyConfig, ReadReplicaConfig, CredentialsConfig, EncryptionConfi
38
38
  * instanceType: "t4g.large",
39
39
  * allocatedStorage: 50,
40
40
  * multiAz: true,
41
- * performanceInsights: { retentionPeriod: 31 },
41
+ * databaseInsights: { mode: "advanced" },
42
42
  * encryption: { storageKey: { useCMK: true } }
43
43
  * }
44
44
  *
@@ -119,11 +119,11 @@ export interface PayloadDatabaseConfig {
119
119
  */
120
120
  preferredMaintenanceWindow?: string;
121
121
  /**
122
- * Performance Insights configuration.
122
+ * Database Insights configuration.
123
123
  * Set to false to explicitly disable.
124
- * @example { retentionPeriod: 31 }
124
+ * @example { mode: "advanced" }
125
125
  */
126
- performanceInsights?: PerformanceInsightsConfig | false;
126
+ databaseInsights?: DatabaseInsightsConfig | false;
127
127
  /**
128
128
  * RDS Proxy configuration for connection pooling.
129
129
  * Set to false to explicitly disable.
@@ -33,4 +33,4 @@ function isPattern(resource) {
33
33
  "patternType" in resource &&
34
34
  typeof resource.patternType === "string");
35
35
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvaW50ZXJmYWNlcy9wYXR0ZXJuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBNGNILDRDQUVDO0FBS0QsOEJBT0M7QUFqQkQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxPQUFpQjtJQUNoRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxRQUFpQjtJQUN6QyxPQUFPLENBQ0wsUUFBUSxLQUFLLElBQUk7UUFDakIsT0FBTyxRQUFRLEtBQUssUUFBUTtRQUM1QixhQUFhLElBQUksUUFBUTtRQUN6QixPQUFRLFFBQXFCLENBQUMsV0FBVyxLQUFLLFFBQVEsQ0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR5cGUtc2FmZSBwYXR0ZXJuIGludGVyZmFjZXMuXG4gKlxuICogVGhlc2UgaW50ZXJmYWNlcyBwcm92aWRlIGNvbXBpbGUtdGltZSB0eXBlIHNhZmV0eSBmb3IgcGF0dGVybiByZXNvdXJjZXMuXG4gKiBQYXR0ZXJucyBhcmUgaGlnaC1sZXZlbCBjb25zdHJ1Y3RzIHRoYXQgY29tcG9zZSBtdWx0aXBsZSBpbmZyYXN0cnVjdHVyZSByZXNvdXJjZXNcbiAqIGludG8gYSBjb2hlc2l2ZSwgb3BpbmlvbmF0ZWQgZGVwbG95bWVudCAoZS5nLiwgUGF5bG9hZCBDTVMsIE5leHQuanMpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBwYXlsb2FkID0gYXBwLmFkZFBhdHRlcm4oUGF0dGVybkZhY3RvcnkuYnVpbGQoXCJQYXlsb2FkQXBwXCIsIHtcbiAqICAgdHlwZTogXCJwYXlsb2FkXCIsXG4gKiAgIG5hbWU6IFwibXktY21zXCIsXG4gKiAgIHNvdXJjZTogXCIuLi8uLlwiXG4gKiB9KSk7XG4gKiBwYXlsb2FkLmdldERhdGFiYXNlKCk7IC8vIOKckyBBdmFpbGFibGUgb24gSVBheWxvYWRcbiAqIHBheWxvYWQuZ2V0U2VydmVyKCk7IC8vIOKckyBBdmFpbGFibGUgb24gSVBheWxvYWRcbiAqL1xuXG5pbXBvcnQgeyB0eXBlIElDZXJ0aWZpY2F0ZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgeyB0eXBlIER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyB0eXBlIENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCB7XG4gIHR5cGUgUmVsYXRpb25hbERhdGFiYXNlLFxuICB0eXBlIER5bmFtb0RCRGF0YWJhc2UsXG4gIHR5cGUgUHJveHlDb25maWcsXG4gIHR5cGUgUmVhZFJlcGxpY2FDb25maWcsXG4gIHR5cGUgQ3JlZGVudGlhbHNDb25maWcsXG4gIHR5cGUgRW5jcnlwdGlvbkNvbmZpZyxcbiAgdHlwZSBBdXJvcmFFbmNyeXB0aW9uQ29uZmlnLFxuICB0eXBlIEF1cm9yYVdyaXRlckNvbmZpZyxcbiAgdHlwZSBBdXJvcmFSZWFkZXJzQ29uZmlnLFxuICB0eXBlIFBlcmZvcm1hbmNlSW5zaWdodHNDb25maWcsXG4gIHR5cGUgUGVyZm9ybWFuY2VJbnNpZ2h0c1JldGVudGlvblBlcmlvZFxufSBmcm9tIFwiLi4vZGF0YWJhc2UuanNcIjtcbmltcG9ydCB7IHR5cGUgTGFtYmRhQ29tcHV0ZSB9IGZyb20gXCIuLi9jb21wdXRlLmpzXCI7XG5pbXBvcnQgeyB0eXBlIFN0b3JhZ2UgfSBmcm9tIFwiLi4vc3RvcmFnZS5qc1wiO1xuaW1wb3J0IHsgdHlwZSBRdWV1ZU1lc3NhZ2luZyB9IGZyb20gXCIuLi9tZXNzYWdpbmcuanNcIjtcbmltcG9ydCB7IHR5cGUgQ2RuLCB0eXBlIFNtYXJ0Q2RuQmVoYXZpb3VyIH0gZnJvbSBcIi4uL2Nkbi5qc1wiO1xuXG4vLyBSZS1leHBvcnQgZGF0YWJhc2UgdHlwZXMgZm9yIGNvbnN1bWVyIGNvbnZlbmllbmNlXG5leHBvcnQgdHlwZSB7XG4gIFByb3h5Q29uZmlnLFxuICBSZWFkUmVwbGljYUNvbmZpZyxcbiAgQ3JlZGVudGlhbHNDb25maWcsXG4gIEVuY3J5cHRpb25Db25maWcsXG4gIEF1cm9yYUVuY3J5cHRpb25Db25maWcsXG4gIEF1cm9yYVdyaXRlckNvbmZpZyxcbiAgQXVyb3JhUmVhZGVyc0NvbmZpZyxcbiAgUGVyZm9ybWFuY2VJbnNpZ2h0c0NvbmZpZyxcbiAgUGVyZm9ybWFuY2VJbnNpZ2h0c1JldGVudGlvblBlcmlvZFxufTtcblxuLyoqXG4gKiBGdWxsIGRhdGFiYXNlIGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm5zLlxuICogRXh0ZW5kcyB1bmRlcmx5aW5nIERhdGFiYXNlRmFjdG9yeSBwcm9wcyB3aXRoIHBhdHRlcm4tc3BlY2lmaWMgZGVmYXVsdHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIE1pbmltYWwgLSB1c2UgZGVmYXVsdHNcbiAqIGRhdGFiYXNlOiB7IHR5cGU6IFwiSW5zdGFuY2VcIiB9XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFByb2R1Y3Rpb24tcmVhZHkgSW5zdGFuY2VcbiAqIGRhdGFiYXNlOiB7XG4gKiAgIHR5cGU6IFwiSW5zdGFuY2VcIixcbiAqICAgaW5zdGFuY2VUeXBlOiBcInQ0Zy5sYXJnZVwiLFxuICogICBhbGxvY2F0ZWRTdG9yYWdlOiA1MCxcbiAqICAgbXVsdGlBejogdHJ1ZSxcbiAqICAgcGVyZm9ybWFuY2VJbnNpZ2h0czogeyByZXRlbnRpb25QZXJpb2Q6IDMxIH0sXG4gKiAgIGVuY3J5cHRpb246IHsgc3RvcmFnZUtleTogeyB1c2VDTUs6IHRydWUgfSB9XG4gKiB9XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEF1cm9yYSB3aXRoIHJlYWRlcnNcbiAqIGRhdGFiYXNlOiB7XG4gKiAgIHR5cGU6IFwiQXVyb3JhXCIsXG4gKiAgIHJlYWRlcnM6IHsgY291bnQ6IDIgfSxcbiAqICAgYWxsb3dWcGNBY2Nlc3M6IHRydWVcbiAqIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkRGF0YWJhc2VDb25maWcge1xuICAvLyAtLS0gQmFzZSBDb25maWd1cmF0aW9uIC0tLVxuXG4gIC8qKiBEYXRhYmFzZSB0eXBlOiBcIkluc3RhbmNlXCIgb3IgXCJBdXJvcmFcIi4gRGVmYXVsdDogXCJJbnN0YW5jZVwiICovXG4gIHR5cGU/OiBcIkluc3RhbmNlXCIgfCBcIkF1cm9yYVwiO1xuICAvKiogRGF0YWJhc2UgbmFtZS4gRGVmYXVsdDogZGVyaXZlZCBmcm9tIHBhdHRlcm4gbmFtZSAqL1xuICBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gIC8qKiBEYXRhYmFzZSBlbmdpbmUuIERlZmF1bHQ6IFwicG9zdGdyZXNxbFwiICovXG4gIGRhdGFiYXNlRW5naW5lPzogXCJwb3N0Z3Jlc3FsXCIgfCBcIm15c3FsXCI7XG5cbiAgLy8gLS0tIENvbW1vbiBDb25maWd1cmF0aW9uIC0tLVxuXG4gIC8qKiBFbmFibGUgZGVsZXRpb24gcHJvdGVjdGlvbi4gRGVmYXVsdDogdHJ1ZSAqL1xuICBkZWxldGlvblByb3RlY3Rpb24/OiBib29sZWFuO1xuICAvKiogQmFja3VwIHJldGVudGlvbiBpbiBkYXlzICgxLTM1KS4gRGVmYXVsdDogNyAqL1xuICBiYWNrdXBSZXRlbnRpb24/OiBudW1iZXI7XG4gIC8qKiBEYXRhYmFzZSBwb3J0LiBEZWZhdWx0OiBlbmdpbmUtc3BlY2lmaWMgKDU0MzIgZm9yIFBvc3RncmVTUUwpICovXG4gIHBvcnQ/OiBudW1iZXI7XG5cbiAgLy8gLS0tIFB1YmxpYyBBY2Nlc3MgKERldmVsb3BtZW50IFVzZSkgLS0tXG5cbiAgLyoqIE1ha2UgZGF0YWJhc2UgcHVibGljbHkgYWNjZXNzaWJsZSAoZm9yIGxvY2FsIGRldmVsb3BtZW50KS4gRGVmYXVsdDogZmFsc2UgKi9cbiAgcHVibGljbHlBY2Nlc3NpYmxlPzogYm9vbGVhbjtcbiAgLyoqIElQIENJRFIgdG8gYWxsb3cgd2hlbiBwdWJsaWNseSBhY2Nlc3NpYmxlIChlLmcuLCBcIjIwMy4wLjExMy4wLzMyXCIpICovXG4gIGFsbG93ZWRJcENpZHI/OiBzdHJpbmc7XG5cbiAgLy8gLS0tIEluc3RhbmNlLVNwZWNpZmljIENvbmZpZ3VyYXRpb24gLS0tXG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIHR5cGUgZm9yIFJEUyBJbnN0YW5jZSBkYXRhYmFzZXMuXG4gICAqIEV4YW1wbGVzOiBcInQ0Zy5taWNyb1wiLCBcInQ0Zy5zbWFsbFwiLCBcInQ0Zy5sYXJnZVwiLCBcInI2Zy5sYXJnZVwiXG4gICAqIERlZmF1bHQ6IFwidDRnLnNtYWxsXCJcbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJJbnN0YW5jZVwiXG4gICAqL1xuICBpbnN0YW5jZVR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGxvY2F0ZWQgc3RvcmFnZSBpbiBHQiBmb3IgUkRTIEluc3RhbmNlLlxuICAgKiBEZWZhdWx0OiAyMFxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkluc3RhbmNlXCJcbiAgICovXG4gIGFsbG9jYXRlZFN0b3JhZ2U/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBFbmFibGUgTXVsdGktQVogZGVwbG95bWVudCBmb3IgaGlnaCBhdmFpbGFiaWxpdHkuXG4gICAqIENyZWF0ZXMgYSBzdGFuZGJ5IHJlcGxpY2EgaW4gYSBkaWZmZXJlbnQgQVouXG4gICAqIE9ubHkgYXBwbGllcyB3aGVuIHR5cGU6IFwiSW5zdGFuY2VcIlxuICAgKi9cbiAgbXVsdGlBej86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZWFkIHJlcGxpY2EgY29uZmlndXJhdGlvbiBmb3IgUkRTIEluc3RhbmNlLlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZXhwbGljaXRseSBkaXNhYmxlLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkluc3RhbmNlXCJcbiAgICovXG4gIHJlYWRSZXBsaWNhPzogUmVhZFJlcGxpY2FDb25maWcgfCBmYWxzZTtcblxuICAvLyAtLS0gQXVyb3JhLVNwZWNpZmljIENvbmZpZ3VyYXRpb24gLS0tXG5cbiAgLyoqXG4gICAqIEF1cm9yYSB3cml0ZXIgaW5zdGFuY2UgY29uZmlndXJhdGlvbi5cbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJBdXJvcmFcIlxuICAgKi9cbiAgd3JpdGVyPzogQXVyb3JhV3JpdGVyQ29uZmlnO1xuICAvKipcbiAgICogQXVyb3JhIHJlYWRlciBpbnN0YW5jZXMgY29uZmlndXJhdGlvbi5cbiAgICogU2V0IHRvIGZhbHNlIHRvIGV4cGxpY2l0bHkgZGlzYWJsZSByZWFkZXJzLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkF1cm9yYVwiXG4gICAqL1xuICByZWFkZXJzPzogQXVyb3JhUmVhZGVyc0NvbmZpZyB8IGZhbHNlO1xuICAvKipcbiAgICogQWxsb3cgYWNjZXNzIGZyb20gVlBDIENJRFIgKGF2b2lkcyBjcm9zcy1zdGFjayBjeWNsaWMgZGVwZW5kZW5jaWVzKS5cbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJBdXJvcmFcIlxuICAgKi9cbiAgYWxsb3dWcGNBY2Nlc3M/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5oYW5jZWQgbW9uaXRvcmluZyBpbnRlcnZhbC5cbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJBdXJvcmFcIlxuICAgKi9cbiAgbW9uaXRvcmluZ0ludGVydmFsPzogRHVyYXRpb247XG4gIC8qKlxuICAgKiBQcmVmZXJyZWQgbWFpbnRlbmFuY2Ugd2luZG93IChlLmcuLCBcInN1bjowNTowMC1zdW46MDY6MDBcIikuXG4gICAqIE9ubHkgYXBwbGllcyB3aGVuIHR5cGU6IFwiQXVyb3JhXCJcbiAgICovXG4gIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93Pzogc3RyaW5nO1xuXG4gIC8vIC0tLSBTaGFyZWQgQWR2YW5jZWQgQ29uZmlndXJhdGlvbiAtLS1cblxuICAvKipcbiAgICogUGVyZm9ybWFuY2UgSW5zaWdodHMgY29uZmlndXJhdGlvbi5cbiAgICogU2V0IHRvIGZhbHNlIHRvIGV4cGxpY2l0bHkgZGlzYWJsZS5cbiAgICogQGV4YW1wbGUgeyByZXRlbnRpb25QZXJpb2Q6IDMxIH1cbiAgICovXG4gIHBlcmZvcm1hbmNlSW5zaWdodHM/OiBQZXJmb3JtYW5jZUluc2lnaHRzQ29uZmlnIHwgZmFsc2U7XG4gIC8qKlxuICAgKiBSRFMgUHJveHkgY29uZmlndXJhdGlvbiBmb3IgY29ubmVjdGlvbiBwb29saW5nLlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZXhwbGljaXRseSBkaXNhYmxlLlxuICAgKiBAZXhhbXBsZSB7IG1heENvbm5lY3Rpb25zOiAxMDAgfVxuICAgKi9cbiAgcHJveHk/OiBQcm94eUNvbmZpZyB8IGZhbHNlO1xuICAvKipcbiAgICogQ3JlZGVudGlhbHMgY29uZmlndXJhdGlvbiAodXNlcm5hbWUsIHJvdGF0aW9uKS5cbiAgICovXG4gIGNyZWRlbnRpYWxzPzogQ3JlZGVudGlhbHNDb25maWc7XG4gIC8qKlxuICAgKiBFbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqIEZvciBJbnN0YW5jZTogRW5jcnlwdGlvbkNvbmZpZ1xuICAgKiBGb3IgQXVyb3JhOiBBdXJvcmFFbmNyeXB0aW9uQ29uZmlnXG4gICAqIEBleGFtcGxlIHsgc3RvcmFnZUtleTogeyB1c2VDTUs6IHRydWUgfSB9XG4gICAqL1xuICBlbmNyeXB0aW9uPzogRW5jcnlwdGlvbkNvbmZpZyB8IEF1cm9yYUVuY3J5cHRpb25Db25maWc7XG5cbiAgLy8gLS0tIFNuYXBzaG90IFJlc3RvcmUgLS0tXG5cbiAgLyoqIEFSTiBvciBpZGVudGlmaWVyIG9mIHNuYXBzaG90IHRvIHJlc3RvcmUgZnJvbSAqL1xuICBzbmFwc2hvdElkZW50aWZpZXI/OiBzdHJpbmc7XG4gIC8qKiBVc2VybmFtZSBmcm9tIHRoZSBzbmFwc2hvdCAocmVxdWlyZWQgd2hlbiByZXN0b3JpbmcpICovXG4gIHNuYXBzaG90VXNlcm5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTGFtYmRhIGZ1bmN0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm4gc3ViLWZ1bmN0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZVxuICogc2VydmVyOiB7IG1lbW9yeVNpemU6IDIwNDgsIHRpbWVvdXQ6IDYwIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuTGFtYmRhQ29uZmlnIHtcbiAgLyoqIE1lbW9yeSBzaXplIGluIE1CLiBSYW5nZTogMTI4LTEwMjQwLiAqL1xuICBtZW1vcnlTaXplPzogbnVtYmVyO1xuICAvKiogVGltZW91dCBpbiBzZWNvbmRzLiBSYW5nZTogMS05MDAuICovXG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKiBFcGhlbWVyYWwgc3RvcmFnZSBzaXplIGluIE1CLiBSYW5nZTogNTEyLTEwMjQwLiBEZWZhdWx0OiA1MTIuICovXG4gIGVwaGVtZXJhbFN0b3JhZ2VTaXplPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZ1bGwgY29tcHV0ZSBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJucy5cbiAqIEFsbG93cyBwZXItZnVuY3Rpb24gY29uZmlndXJhdGlvbiBmb3IgZWFjaCBMYW1iZGEgaW4gdGhlIHBhdHRlcm4uXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIENvbmZpZ3VyZSBpbmRpdmlkdWFsIGZ1bmN0aW9uc1xuICogY29tcHV0ZToge1xuICogICBzZXJ2ZXI6IHsgbWVtb3J5U2l6ZTogMjA0OCwgdGltZW91dDogNjAgfSxcbiAqICAgaW1hZ2VPcHRpbWlzYXRpb246IHsgbWVtb3J5U2l6ZTogMjA0OCB9LFxuICogICByZXZhbGlkYXRpb246IHsgbWVtb3J5U2l6ZTogMTAyNCwgdGltZW91dDogNjAwIH1cbiAqIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkQ29tcHV0ZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBTZXJ2ZXIgTGFtYmRhIGNvbmZpZ3VyYXRpb24uXG4gICAqIEhhbmRsZXMgbWFpbiBhcHBsaWNhdGlvbiByZXF1ZXN0cy5cbiAgICogRGVmYXVsdHM6IG1lbW9yeVNpemU9MTUzNiwgdGltZW91dD0zMFxuICAgKi9cbiAgc2VydmVyPzogUGF0dGVybkxhbWJkYUNvbmZpZztcbiAgLyoqXG4gICAqIEltYWdlIG9wdGltaXNhdGlvbiBMYW1iZGEgY29uZmlndXJhdGlvbi5cbiAgICogSGFuZGxlcyBOZXh0LmpzIGltYWdlIG9wdGltaXNhdGlvbi5cbiAgICogRGVmYXVsdHM6IG1lbW9yeVNpemU9MTUzNiwgdGltZW91dD0zMFxuICAgKi9cbiAgaW1hZ2VPcHRpbWlzYXRpb24/OiBQYXR0ZXJuTGFtYmRhQ29uZmlnO1xuICAvKipcbiAgICogUmV2YWxpZGF0aW9uIExhbWJkYSBjb25maWd1cmF0aW9uLlxuICAgKiBIYW5kbGVzIElTUiByZXZhbGlkYXRpb24gZnJvbSBTUVMgcXVldWUuXG4gICAqIERlZmF1bHRzOiBtZW1vcnlTaXplPTc2OCwgdGltZW91dD0zMDBcbiAgICovXG4gIHJldmFsaWRhdGlvbj86IFBhdHRlcm5MYW1iZGFDb25maWc7XG59XG5cbi8qKlxuICogUzMgYnVja2V0IGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm4gc3ViLWJ1Y2tldHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVyblN0b3JhZ2VCdWNrZXRDb25maWcge1xuICAvKiogRW5hYmxlIHZlcnNpb25pbmcuIERlZmF1bHQ6IGZhbHNlICovXG4gIHZlcnNpb25lZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRnVsbCBzdG9yYWdlIGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm5zLlxuICogQWxsb3dzIHBlci1idWNrZXQgY29uZmlndXJhdGlvbiBmb3IgZWFjaCBTMyBidWNrZXQgaW4gdGhlIHBhdHRlcm4uXG4gKlxuICogQGV4YW1wbGVcbiAqIHN0b3JhZ2U6IHtcbiAqICAgYXNzZXRzOiB7IHZlcnNpb25lZDogdHJ1ZSB9LFxuICogICBjYWNoZTogeyB2ZXJzaW9uZWQ6IGZhbHNlIH0sXG4gKiAgIG1lZGlhOiB7IHZlcnNpb25lZDogdHJ1ZSB9XG4gKiB9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZFN0b3JhZ2VDb25maWcge1xuICAvKiogQXNzZXRzIGJ1Y2tldCAoc3RhdGljIGZpbGVzKSAqL1xuICBhc3NldHM/OiBQYXR0ZXJuU3RvcmFnZUJ1Y2tldENvbmZpZztcbiAgLyoqIENhY2hlIGJ1Y2tldCAoSVNSIGNhY2hlKSAqL1xuICBjYWNoZT86IFBhdHRlcm5TdG9yYWdlQnVja2V0Q29uZmlnO1xuICAvKiogTWVkaWEgYnVja2V0ICh1cGxvYWRzKSAqL1xuICBtZWRpYT86IFBhdHRlcm5TdG9yYWdlQnVja2V0Q29uZmlnO1xufVxuXG4vKipcbiAqIFNRUyBxdWV1ZSBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJuIG1lc3NhZ2luZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuUXVldWVDb25maWcge1xuICAvKiogVmlzaWJpbGl0eSB0aW1lb3V0IGluIHNlY29uZHMuIERlZmF1bHQ6IG1hdGNoZXMgcmV2YWxpZGF0aW9uIHRpbWVvdXQgKi9cbiAgdmlzaWJpbGl0eVRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKiBNZXNzYWdlIHJldGVudGlvbiBwZXJpb2QgaW4gc2Vjb25kcy4gRGVmYXVsdDogMzQ1NjAwICg0IGRheXMpICovXG4gIG1lc3NhZ2VSZXRlbnRpb25QZXJpb2Q/OiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIG1lc3NhZ2Ugc2l6ZSBpbiBieXRlcy4gRGVmYXVsdDogMjYyMTQ0ICgyNTYgS0IpICovXG4gIG1heE1lc3NhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogRGVhZCBsZXR0ZXIgcXVldWUgY29uZmlndXJhdGlvbi5cbiAgICogU2V0IHRvIGZhbHNlIHRvIGV4cGxpY2l0bHkgZGlzYWJsZS5cbiAgICovXG4gIGRlYWRMZXR0ZXJRdWV1ZT86XG4gICAgfCB7XG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgICBtYXhSZWNlaXZlQ291bnQ/OiBudW1iZXI7XG4gICAgICB9XG4gICAgfCBmYWxzZTtcbn1cblxuLyoqXG4gKiBGdWxsIG1lc3NhZ2luZyBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJucy5cbiAqXG4gKiBAZXhhbXBsZVxuICogbWVzc2FnaW5nOiB7XG4gKiAgIHJldmFsaWRhdGlvblF1ZXVlOiB7XG4gKiAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IDYwMCxcbiAqICAgICBkZWFkTGV0dGVyUXVldWU6IHsgZW5hYmxlZDogdHJ1ZSwgbWF4UmVjZWl2ZUNvdW50OiA1IH1cbiAqICAgfVxuICogfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRNZXNzYWdpbmdDb25maWcge1xuICAvKiogUmV2YWxpZGF0aW9uIHF1ZXVlIGNvbmZpZ3VyYXRpb24gKi9cbiAgcmV2YWxpZGF0aW9uUXVldWU/OiBQYXR0ZXJuUXVldWVDb25maWc7XG59XG5cbi8qKlxuICogQ0ROIGNvbmZpZ3VyYXRpb24gZm9yIFBheWxvYWQgcGF0dGVybi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkQ2RuQ29uZmlnIHtcbiAgLyoqIEN1c3RvbSBkb21haW4gbmFtZXMgZm9yIENsb3VkRnJvbnQgKi9cbiAgZG9tYWluTmFtZXM/OiBzdHJpbmdbXTtcbiAgLyoqIEFDTSBjZXJ0aWZpY2F0ZSBmb3IgY3VzdG9tIGRvbWFpbnMgKG11c3QgYmUgaW4gdXMtZWFzdC0xKSAqL1xuICBjZXJ0aWZpY2F0ZT86IElDZXJ0aWZpY2F0ZTtcbiAgLyoqIEFDTSBjZXJ0aWZpY2F0ZSBBUk4gKGFsdGVybmF0aXZlIHRvIGNlcnRpZmljYXRlIC0gbXVzdCBiZSBpbiB1cy1lYXN0LTEpICovXG4gIGNlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuICAvKiogQWRkaXRpb25hbCBDRE4gYmVoYXZpb3VycyAqL1xuICBiZWhhdmlvdXJzPzogU21hcnRDZG5CZWhhdmlvdXJbXTtcbn1cblxuLyoqXG4gKiBQYXlsb2FkIHBhdHRlcm4gcHJvcHMuXG4gKlxuICogQ29uZmlndXJlcyBhIFBheWxvYWQgQ01TIGRlcGxveW1lbnQgd2l0aCBhbGwgcmVxdWlyZWQgaW5mcmFzdHJ1Y3R1cmU6XG4gKiAtIFJEUyBQb3N0Z3JlU1FMIGRhdGFiYXNlIChBdXJvcmEgb3IgSW5zdGFuY2UpXG4gKiAtIFMzIGJ1Y2tldHMgKGFzc2V0cywgY2FjaGUsIG1lZGlhKVxuICogLSBEeW5hbW9EQiB0YWJsZSAodGFnIGNhY2hlKVxuICogLSBTUVMgRklGTyBxdWV1ZSAocmV2YWxpZGF0aW9uKVxuICogLSBMYW1iZGEgZnVuY3Rpb25zIChzZXJ2ZXIsIGltYWdlIG9wdGltaXNhdGlvbiwgcmV2YWxpZGF0aW9uKVxuICogLSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvblxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNaW5pbWFsIC0gd29ya3Mgb3V0IG9mIGJveFxuICogYXBwLmFkZFBhdHRlcm4oUGF0dGVybkZhY3RvcnkuYnVpbGQoXCJQYXlsb2FkQXBwXCIsIHtcbiAqICAgdHlwZTogXCJwYXlsb2FkXCIsXG4gKiAgIG5hbWU6IFwibXktY21zXCJcbiAqIH0pKTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2l0aCBjdXN0b20gZG9tYWluIChhdXRvLWNyZWF0ZXMgY2VydGlmaWNhdGUgKyBETlMpXG4gKiBhcHAuYWRkUGF0dGVybihQYXR0ZXJuRmFjdG9yeS5idWlsZChcIlBheWxvYWRBcHBcIiwge1xuICogICB0eXBlOiBcInBheWxvYWRcIixcbiAqICAgbmFtZTogXCJteS1jbXNcIixcbiAqICAgZG9tYWluOiBcImNtcy5leGFtcGxlLmNvbVwiXG4gKiB9KSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEN1c3RvbWlzZWRcbiAqIGFwcC5hZGRQYXR0ZXJuKFBhdHRlcm5GYWN0b3J5LmJ1aWxkKFwiUGF5bG9hZEFwcFwiLCB7XG4gKiAgIHR5cGU6IFwicGF5bG9hZFwiLFxuICogICBuYW1lOiBcIm15LWNtc1wiLFxuICogICBkYXRhYmFzZToge1xuICogICAgIHR5cGU6IFwiSW5zdGFuY2VcIixcbiAqICAgICBwdWJsaWNseUFjY2Vzc2libGU6IHRydWVcbiAqICAgfSxcbiAqICAgY29tcHV0ZToge1xuICogICAgIHNlcnZlcjogeyBtZW1vcnlTaXplOiAyMDQ4IH1cbiAqICAgfVxuICogfSkpO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElQYXlsb2FkUHJvcHMge1xuICAvKiogUGF0dGVybiB0eXBlIGRpc2NyaW1pbmF0b3IgKi9cbiAgdHlwZTogXCJwYXlsb2FkXCI7XG4gIC8qKiBQYXR0ZXJuIG5hbWUgKHVzZWQgZm9yIHJlc291cmNlIG5hbWluZykgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gZG9tYWluIGZvciB0aGUgUGF5bG9hZCBhcHBsaWNhdGlvbi5cbiAgICogV2hlbiBwcm92aWRlZCwgYXV0b21hdGljYWxseTpcbiAgICogLSBMb29rcyB1cCB0aGUgUm91dGU1MyBob3N0ZWQgem9uZVxuICAgKiAtIENyZWF0ZXMgYW4gQUNNIGNlcnRpZmljYXRlIHdpdGggRE5TIHZhbGlkYXRpb24gKGluIHVzLWVhc3QtMSlcbiAgICogLSBDb25maWd1cmVzIENsb3VkRnJvbnQgd2l0aCB0aGUgY2VydGlmaWNhdGVcbiAgICogLSBDcmVhdGVzIGFuIEEgcmVjb3JkIChhbGlhcykgcG9pbnRpbmcgdG8gQ2xvdWRGcm9udFxuICAgKlxuICAgKiBSZXF1aXJlczogQSBSb3V0ZTUzIGhvc3RlZCB6b25lIGZvciB0aGUgZG9tYWluIG11c3QgZXhpc3QuXG4gICAqXG4gICAqIEBleGFtcGxlIFwiY21zLmV4YW1wbGUuY29tXCJcbiAgICovXG4gIGRvbWFpbj86IHN0cmluZztcblxuICAvKiogRGF0YWJhc2UgY29uZmlndXJhdGlvbiAqL1xuICBkYXRhYmFzZT86IFBheWxvYWREYXRhYmFzZUNvbmZpZztcbiAgLyoqIENvbXB1dGUgKExhbWJkYSkgY29uZmlndXJhdGlvbiAqL1xuICBjb21wdXRlPzogUGF5bG9hZENvbXB1dGVDb25maWc7XG4gIC8qKiBTdG9yYWdlIChTMykgY29uZmlndXJhdGlvbiAqL1xuICBzdG9yYWdlPzogUGF5bG9hZFN0b3JhZ2VDb25maWc7XG4gIC8qKiBNZXNzYWdpbmcgKFNRUykgY29uZmlndXJhdGlvbiAqL1xuICBtZXNzYWdpbmc/OiBQYXlsb2FkTWVzc2FnaW5nQ29uZmlnO1xuICAvKiogQ0ROIChDbG91ZEZyb250KSBjb25maWd1cmF0aW9uIC0gZm9yIGFkdmFuY2VkIHVzZS4gVXNlIGBkb21haW5gIGZvciBzaW1wbGUgc2V0dXAuICovXG4gIGNkbj86IFBheWxvYWRDZG5Db25maWc7XG5cbiAgLyoqIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciBzZXJ2ZXIgTGFtYmRhICovXG4gIGVudmlyb25tZW50PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBVbmlvbiBvZiBhbGwgcGF0dGVybiBwcm9wcy5cbiAqIEV4dGVuZCB0aGlzIHdoZW4gYWRkaW5nIG5ldyBwYXR0ZXJucyAoZS5nLiwgSU5leHRqc1Byb3BzLCBJUmVtaXhQcm9wcykuXG4gKi9cbmV4cG9ydCB0eXBlIElQYXR0ZXJuUHJvcHMgPSBJUGF5bG9hZFByb3BzOyAvLyB8IElOZXh0anNQcm9wcyB8IElSZW1peFByb3BzIGluIGZ1dHVyZVxuXG4vKipcbiAqIFBhdHRlcm4gdHlwZSBkaXNjcmltaW5hdG9yLlxuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuVHlwZSA9IFwicGF5bG9hZFwiOyAvLyB8IFwibmV4dGpzXCIgfCBcInJlbWl4XCIgaW4gZnV0dXJlXG5cbi8qKlxuICogQmFzZSBwYXR0ZXJuIGludGVyZmFjZS5cbiAqIEFsbCBwYXR0ZXJucyBpbXBsZW1lbnQgdGhpcyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBhdHRlcm4ge1xuICAvKiogVGhlIHR5cGUgb2YgcGF0dGVybi4gVXNlZCBmb3IgcnVudGltZSB0eXBlIG5hcnJvd2luZy4gKi9cbiAgcmVhZG9ubHkgcGF0dGVyblR5cGU6IFBhdHRlcm5UeXBlO1xuXG4gIC8qKiBUaGUgdW5kZXJseWluZyBDREsgY29uc3RydWN0IG5vZGUuICovXG4gIHJlYWRvbmx5IG5vZGU6IENvbnN0cnVjdFtcIm5vZGVcIl07XG59XG5cbi8qKlxuICogUGF5bG9hZCBwYXR0ZXJuIGludGVyZmFjZS5cbiAqIFByb3ZpZGVzIGFjY2VzcyB0byBhbGwgdW5kZXJseWluZyByZXNvdXJjZXMgZm9yIGVzY2FwZSBoYXRjaGVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBFc2NhcGUgaGF0Y2hlcyAtIGZ1bGwgYWNjZXNzIHRvIHVuZGVybHlpbmcgcmVzb3VyY2VzXG4gKiBwYXlsb2FkLmdldERhdGFiYXNlKCkuZ3JhbnRDb25uZWN0KHNvbWVPdGhlckxhbWJkYSk7XG4gKiBwYXlsb2FkLmdldFNlcnZlcigpLmdldExhbWJkYUZ1bmN0aW9uKCkuYWRkRW52aXJvbm1lbnQoXCJDVVNUT01fVkFSXCIsIFwidmFsdWVcIik7XG4gKiBwYXlsb2FkLmdldENkbigpLmdldERpc3RyaWJ1dGlvbigpLmFkZEJlaGF2aW9yKFwiL2N1c3RvbS8qXCIsIGN1c3RvbU9yaWdpbik7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBheWxvYWQgZXh0ZW5kcyBJUGF0dGVybiB7XG4gIHJlYWRvbmx5IHBhdHRlcm5UeXBlOiBcInBheWxvYWRcIjtcblxuICAvKiogR2V0IHRoZSBQb3N0Z3JlU1FMIGRhdGFiYXNlIChBdXJvcmEgb3IgSW5zdGFuY2UpICovXG4gIGdldERhdGFiYXNlKCk6IFJlbGF0aW9uYWxEYXRhYmFzZTtcblxuICAvKiogR2V0IHRoZSBTZXJ2ZXIgTGFtYmRhIGZ1bmN0aW9uICovXG4gIGdldFNlcnZlcigpOiBMYW1iZGFDb21wdXRlO1xuXG4gIC8qKiBHZXQgdGhlIEltYWdlIE9wdGltaXNhdGlvbiBMYW1iZGEgZnVuY3Rpb24gKi9cbiAgZ2V0SW1hZ2VPcHRpbWlzYXRpb24oKTogTGFtYmRhQ29tcHV0ZTtcblxuICAvKiogR2V0IHRoZSBSZXZhbGlkYXRpb24gTGFtYmRhIGZ1bmN0aW9uICovXG4gIGdldFJldmFsaWRhdGlvbigpOiBMYW1iZGFDb21wdXRlO1xuXG4gIC8qKiBHZXQgdGhlIEFzc2V0cyBTMyBidWNrZXQgKHN0YXRpYyBmaWxlcykgKi9cbiAgZ2V0QXNzZXRzQnVja2V0KCk6IFN0b3JhZ2U7XG5cbiAgLyoqIEdldCB0aGUgQ2FjaGUgUzMgYnVja2V0IChJU1IgY2FjaGUpICovXG4gIGdldENhY2hlQnVja2V0KCk6IFN0b3JhZ2U7XG5cbiAgLyoqIEdldCB0aGUgTWVkaWEgUzMgYnVja2V0ICh1cGxvYWRzKSAqL1xuICBnZXRNZWRpYUJ1Y2tldCgpOiBTdG9yYWdlO1xuXG4gIC8qKiBHZXQgdGhlIFRhZyBDYWNoZSBEeW5hbW9EQiB0YWJsZSAqL1xuICBnZXRUYWdDYWNoZSgpOiBEeW5hbW9EQkRhdGFiYXNlO1xuXG4gIC8qKiBHZXQgdGhlIFJldmFsaWRhdGlvbiBTUVMgcXVldWUgKi9cbiAgZ2V0UmV2YWxpZGF0aW9uUXVldWUoKTogUXVldWVNZXNzYWdpbmc7XG5cbiAgLyoqIEdldCB0aGUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24gKi9cbiAgZ2V0Q2RuKCk6IENkbjtcbn1cblxuLyoqXG4gKiBVbmlvbiB0eXBlIHJlcHJlc2VudGluZyBhbnkgcGF0dGVybiBpbnRlcmZhY2UuXG4gKiBVc2Ugd2l0aCB0eXBlIGd1YXJkcyBmb3IgZ2VuZXJpYyBoYW5kbGluZy5cbiAqL1xuZXhwb3J0IHR5cGUgQW55UGF0dGVybiA9IElQYXlsb2FkOyAvLyB8IElOZXh0anMgfCBJUmVtaXggaW4gZnV0dXJlXG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHBhdHRlcm4gaXMgUGF5bG9hZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUGF5bG9hZFBhdHRlcm4ocGF0dGVybjogSVBhdHRlcm4pOiBwYXR0ZXJuIGlzIElQYXlsb2FkIHtcbiAgcmV0dXJuIHBhdHRlcm4ucGF0dGVyblR5cGUgPT09IFwicGF5bG9hZFwiO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSByZXNvdXJjZSBpcyBhbnkgcGF0dGVybiB0eXBlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQYXR0ZXJuKHJlc291cmNlOiB1bmtub3duKTogcmVzb3VyY2UgaXMgSVBhdHRlcm4ge1xuICByZXR1cm4gKFxuICAgIHJlc291cmNlICE9PSBudWxsICYmXG4gICAgdHlwZW9mIHJlc291cmNlID09PSBcIm9iamVjdFwiICYmXG4gICAgXCJwYXR0ZXJuVHlwZVwiIGluIHJlc291cmNlICYmXG4gICAgdHlwZW9mIChyZXNvdXJjZSBhcyBJUGF0dGVybikucGF0dGVyblR5cGUgPT09IFwic3RyaW5nXCJcbiAgKTtcbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvaW50ZXJmYWNlcy9wYXR0ZXJuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7O0FBNGJILDRDQUVDO0FBS0QsOEJBT0M7QUFqQkQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxPQUFpQjtJQUNoRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDO0FBQzNDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxRQUFpQjtJQUN6QyxPQUFPLENBQ0wsUUFBUSxLQUFLLElBQUk7UUFDakIsT0FBTyxRQUFRLEtBQUssUUFBUTtRQUM1QixhQUFhLElBQUksUUFBUTtRQUN6QixPQUFRLFFBQXFCLENBQUMsV0FBVyxLQUFLLFFBQVEsQ0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR5cGUtc2FmZSBwYXR0ZXJuIGludGVyZmFjZXMuXG4gKlxuICogVGhlc2UgaW50ZXJmYWNlcyBwcm92aWRlIGNvbXBpbGUtdGltZSB0eXBlIHNhZmV0eSBmb3IgcGF0dGVybiByZXNvdXJjZXMuXG4gKiBQYXR0ZXJucyBhcmUgaGlnaC1sZXZlbCBjb25zdHJ1Y3RzIHRoYXQgY29tcG9zZSBtdWx0aXBsZSBpbmZyYXN0cnVjdHVyZSByZXNvdXJjZXNcbiAqIGludG8gYSBjb2hlc2l2ZSwgb3BpbmlvbmF0ZWQgZGVwbG95bWVudCAoZS5nLiwgUGF5bG9hZCBDTVMsIE5leHQuanMpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBwYXlsb2FkID0gYXBwLmFkZFBhdHRlcm4oUGF0dGVybkZhY3RvcnkuYnVpbGQoXCJQYXlsb2FkQXBwXCIsIHtcbiAqICAgdHlwZTogXCJwYXlsb2FkXCIsXG4gKiAgIG5hbWU6IFwibXktY21zXCIsXG4gKiAgIHNvdXJjZTogXCIuLi8uLlwiXG4gKiB9KSk7XG4gKiBwYXlsb2FkLmdldERhdGFiYXNlKCk7IC8vIOKckyBBdmFpbGFibGUgb24gSVBheWxvYWRcbiAqIHBheWxvYWQuZ2V0U2VydmVyKCk7IC8vIOKckyBBdmFpbGFibGUgb24gSVBheWxvYWRcbiAqL1xuXG5pbXBvcnQgeyB0eXBlIElDZXJ0aWZpY2F0ZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgeyB0eXBlIER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyB0eXBlIENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCB7XG4gIHR5cGUgUmVsYXRpb25hbERhdGFiYXNlLFxuICB0eXBlIER5bmFtb0RCRGF0YWJhc2UsXG4gIHR5cGUgUHJveHlDb25maWcsXG4gIHR5cGUgUmVhZFJlcGxpY2FDb25maWcsXG4gIHR5cGUgQ3JlZGVudGlhbHNDb25maWcsXG4gIHR5cGUgRW5jcnlwdGlvbkNvbmZpZyxcbiAgdHlwZSBBdXJvcmFFbmNyeXB0aW9uQ29uZmlnLFxuICB0eXBlIEF1cm9yYVdyaXRlckNvbmZpZyxcbiAgdHlwZSBBdXJvcmFSZWFkZXJzQ29uZmlnLFxuICB0eXBlIERhdGFiYXNlSW5zaWdodHNDb25maWdcbn0gZnJvbSBcIi4uL2RhdGFiYXNlLmpzXCI7XG5pbXBvcnQgeyB0eXBlIExhbWJkYUNvbXB1dGUgfSBmcm9tIFwiLi4vY29tcHV0ZS5qc1wiO1xuaW1wb3J0IHsgdHlwZSBTdG9yYWdlIH0gZnJvbSBcIi4uL3N0b3JhZ2UuanNcIjtcbmltcG9ydCB7IHR5cGUgUXVldWVNZXNzYWdpbmcgfSBmcm9tIFwiLi4vbWVzc2FnaW5nLmpzXCI7XG5pbXBvcnQgeyB0eXBlIENkbiwgdHlwZSBTbWFydENkbkJlaGF2aW91ciB9IGZyb20gXCIuLi9jZG4uanNcIjtcblxuLy8gUmUtZXhwb3J0IGRhdGFiYXNlIHR5cGVzIGZvciBjb25zdW1lciBjb252ZW5pZW5jZVxuZXhwb3J0IHR5cGUge1xuICBQcm94eUNvbmZpZyxcbiAgUmVhZFJlcGxpY2FDb25maWcsXG4gIENyZWRlbnRpYWxzQ29uZmlnLFxuICBFbmNyeXB0aW9uQ29uZmlnLFxuICBBdXJvcmFFbmNyeXB0aW9uQ29uZmlnLFxuICBBdXJvcmFXcml0ZXJDb25maWcsXG4gIEF1cm9yYVJlYWRlcnNDb25maWcsXG4gIERhdGFiYXNlSW5zaWdodHNDb25maWdcbn07XG5cbi8qKlxuICogRnVsbCBkYXRhYmFzZSBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJucy5cbiAqIEV4dGVuZHMgdW5kZXJseWluZyBEYXRhYmFzZUZhY3RvcnkgcHJvcHMgd2l0aCBwYXR0ZXJuLXNwZWNpZmljIGRlZmF1bHRzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNaW5pbWFsIC0gdXNlIGRlZmF1bHRzXG4gKiBkYXRhYmFzZTogeyB0eXBlOiBcIkluc3RhbmNlXCIgfVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBQcm9kdWN0aW9uLXJlYWR5IEluc3RhbmNlXG4gKiBkYXRhYmFzZToge1xuICogICB0eXBlOiBcIkluc3RhbmNlXCIsXG4gKiAgIGluc3RhbmNlVHlwZTogXCJ0NGcubGFyZ2VcIixcbiAqICAgYWxsb2NhdGVkU3RvcmFnZTogNTAsXG4gKiAgIG11bHRpQXo6IHRydWUsXG4gKiAgIGRhdGFiYXNlSW5zaWdodHM6IHsgbW9kZTogXCJhZHZhbmNlZFwiIH0sXG4gKiAgIGVuY3J5cHRpb246IHsgc3RvcmFnZUtleTogeyB1c2VDTUs6IHRydWUgfSB9XG4gKiB9XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEF1cm9yYSB3aXRoIHJlYWRlcnNcbiAqIGRhdGFiYXNlOiB7XG4gKiAgIHR5cGU6IFwiQXVyb3JhXCIsXG4gKiAgIHJlYWRlcnM6IHsgY291bnQ6IDIgfSxcbiAqICAgYWxsb3dWcGNBY2Nlc3M6IHRydWVcbiAqIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkRGF0YWJhc2VDb25maWcge1xuICAvKiogRGF0YWJhc2UgdHlwZTogXCJJbnN0YW5jZVwiIG9yIFwiQXVyb3JhXCIuIERlZmF1bHQ6IFwiSW5zdGFuY2VcIiAqL1xuICB0eXBlPzogXCJJbnN0YW5jZVwiIHwgXCJBdXJvcmFcIjtcbiAgLyoqIERhdGFiYXNlIG5hbWUuIERlZmF1bHQ6IGRlcml2ZWQgZnJvbSBwYXR0ZXJuIG5hbWUgKi9cbiAgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuICAvKiogRGF0YWJhc2UgZW5naW5lLiBEZWZhdWx0OiBcInBvc3RncmVzcWxcIiAqL1xuICBkYXRhYmFzZUVuZ2luZT86IFwicG9zdGdyZXNxbFwiIHwgXCJteXNxbFwiO1xuXG4gIC8qKiBFbmFibGUgZGVsZXRpb24gcHJvdGVjdGlvbi4gRGVmYXVsdDogdHJ1ZSAqL1xuICBkZWxldGlvblByb3RlY3Rpb24/OiBib29sZWFuO1xuICAvKiogQmFja3VwIHJldGVudGlvbiBpbiBkYXlzICgxLTM1KS4gRGVmYXVsdDogNyAqL1xuICBiYWNrdXBSZXRlbnRpb24/OiBudW1iZXI7XG4gIC8qKiBEYXRhYmFzZSBwb3J0LiBEZWZhdWx0OiBlbmdpbmUtc3BlY2lmaWMgKDU0MzIgZm9yIFBvc3RncmVTUUwpICovXG4gIHBvcnQ/OiBudW1iZXI7XG5cbiAgLyoqIE1ha2UgZGF0YWJhc2UgcHVibGljbHkgYWNjZXNzaWJsZSAoZm9yIGxvY2FsIGRldmVsb3BtZW50KS4gRGVmYXVsdDogZmFsc2UgKi9cbiAgcHVibGljbHlBY2Nlc3NpYmxlPzogYm9vbGVhbjtcbiAgLyoqIElQIENJRFIgdG8gYWxsb3cgd2hlbiBwdWJsaWNseSBhY2Nlc3NpYmxlIChlLmcuLCBcIjIwMy4wLjExMy4wLzMyXCIpICovXG4gIGFsbG93ZWRJcENpZHI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIHR5cGUgZm9yIFJEUyBJbnN0YW5jZSBkYXRhYmFzZXMuXG4gICAqIEV4YW1wbGVzOiBcInQ0Zy5taWNyb1wiLCBcInQ0Zy5zbWFsbFwiLCBcInQ0Zy5sYXJnZVwiLCBcInI2Zy5sYXJnZVwiXG4gICAqIERlZmF1bHQ6IFwidDRnLnNtYWxsXCJcbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJJbnN0YW5jZVwiXG4gICAqL1xuICBpbnN0YW5jZVR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGxvY2F0ZWQgc3RvcmFnZSBpbiBHQiBmb3IgUkRTIEluc3RhbmNlLlxuICAgKiBEZWZhdWx0OiAyMFxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkluc3RhbmNlXCJcbiAgICovXG4gIGFsbG9jYXRlZFN0b3JhZ2U/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBFbmFibGUgTXVsdGktQVogZGVwbG95bWVudCBmb3IgaGlnaCBhdmFpbGFiaWxpdHkuXG4gICAqIENyZWF0ZXMgYSBzdGFuZGJ5IHJlcGxpY2EgaW4gYSBkaWZmZXJlbnQgQVouXG4gICAqIE9ubHkgYXBwbGllcyB3aGVuIHR5cGU6IFwiSW5zdGFuY2VcIlxuICAgKi9cbiAgbXVsdGlBej86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZWFkIHJlcGxpY2EgY29uZmlndXJhdGlvbiBmb3IgUkRTIEluc3RhbmNlLlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZXhwbGljaXRseSBkaXNhYmxlLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkluc3RhbmNlXCJcbiAgICovXG4gIHJlYWRSZXBsaWNhPzogUmVhZFJlcGxpY2FDb25maWcgfCBmYWxzZTtcblxuICAvKipcbiAgICogQXVyb3JhIHdyaXRlciBpbnN0YW5jZSBjb25maWd1cmF0aW9uLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkF1cm9yYVwiXG4gICAqL1xuICB3cml0ZXI/OiBBdXJvcmFXcml0ZXJDb25maWc7XG4gIC8qKlxuICAgKiBBdXJvcmEgcmVhZGVyIGluc3RhbmNlcyBjb25maWd1cmF0aW9uLlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZXhwbGljaXRseSBkaXNhYmxlIHJlYWRlcnMuXG4gICAqIE9ubHkgYXBwbGllcyB3aGVuIHR5cGU6IFwiQXVyb3JhXCJcbiAgICovXG4gIHJlYWRlcnM/OiBBdXJvcmFSZWFkZXJzQ29uZmlnIHwgZmFsc2U7XG4gIC8qKlxuICAgKiBBbGxvdyBhY2Nlc3MgZnJvbSBWUEMgQ0lEUiAoYXZvaWRzIGNyb3NzLXN0YWNrIGN5Y2xpYyBkZXBlbmRlbmNpZXMpLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkF1cm9yYVwiXG4gICAqL1xuICBhbGxvd1ZwY0FjY2Vzcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmhhbmNlZCBtb25pdG9yaW5nIGludGVydmFsLlxuICAgKiBPbmx5IGFwcGxpZXMgd2hlbiB0eXBlOiBcIkF1cm9yYVwiXG4gICAqL1xuICBtb25pdG9yaW5nSW50ZXJ2YWw/OiBEdXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZWZlcnJlZCBtYWludGVuYW5jZSB3aW5kb3cgKGUuZy4sIFwic3VuOjA1OjAwLXN1bjowNjowMFwiKS5cbiAgICogT25seSBhcHBsaWVzIHdoZW4gdHlwZTogXCJBdXJvcmFcIlxuICAgKi9cbiAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERhdGFiYXNlIEluc2lnaHRzIGNvbmZpZ3VyYXRpb24uXG4gICAqIFNldCB0byBmYWxzZSB0byBleHBsaWNpdGx5IGRpc2FibGUuXG4gICAqIEBleGFtcGxlIHsgbW9kZTogXCJhZHZhbmNlZFwiIH1cbiAgICovXG4gIGRhdGFiYXNlSW5zaWdodHM/OiBEYXRhYmFzZUluc2lnaHRzQ29uZmlnIHwgZmFsc2U7XG4gIC8qKlxuICAgKiBSRFMgUHJveHkgY29uZmlndXJhdGlvbiBmb3IgY29ubmVjdGlvbiBwb29saW5nLlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZXhwbGljaXRseSBkaXNhYmxlLlxuICAgKiBAZXhhbXBsZSB7IG1heENvbm5lY3Rpb25zOiAxMDAgfVxuICAgKi9cbiAgcHJveHk/OiBQcm94eUNvbmZpZyB8IGZhbHNlO1xuICAvKipcbiAgICogQ3JlZGVudGlhbHMgY29uZmlndXJhdGlvbiAodXNlcm5hbWUsIHJvdGF0aW9uKS5cbiAgICovXG4gIGNyZWRlbnRpYWxzPzogQ3JlZGVudGlhbHNDb25maWc7XG4gIC8qKlxuICAgKiBFbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqIEZvciBJbnN0YW5jZTogRW5jcnlwdGlvbkNvbmZpZ1xuICAgKiBGb3IgQXVyb3JhOiBBdXJvcmFFbmNyeXB0aW9uQ29uZmlnXG4gICAqIEBleGFtcGxlIHsgc3RvcmFnZUtleTogeyB1c2VDTUs6IHRydWUgfSB9XG4gICAqL1xuICBlbmNyeXB0aW9uPzogRW5jcnlwdGlvbkNvbmZpZyB8IEF1cm9yYUVuY3J5cHRpb25Db25maWc7XG5cbiAgLyoqIEFSTiBvciBpZGVudGlmaWVyIG9mIHNuYXBzaG90IHRvIHJlc3RvcmUgZnJvbSAqL1xuICBzbmFwc2hvdElkZW50aWZpZXI/OiBzdHJpbmc7XG4gIC8qKiBVc2VybmFtZSBmcm9tIHRoZSBzbmFwc2hvdCAocmVxdWlyZWQgd2hlbiByZXN0b3JpbmcpICovXG4gIHNuYXBzaG90VXNlcm5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTGFtYmRhIGZ1bmN0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm4gc3ViLWZ1bmN0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZVxuICogc2VydmVyOiB7IG1lbW9yeVNpemU6IDIwNDgsIHRpbWVvdXQ6IDYwIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuTGFtYmRhQ29uZmlnIHtcbiAgLyoqIE1lbW9yeSBzaXplIGluIE1CLiBSYW5nZTogMTI4LTEwMjQwLiAqL1xuICBtZW1vcnlTaXplPzogbnVtYmVyO1xuICAvKiogVGltZW91dCBpbiBzZWNvbmRzLiBSYW5nZTogMS05MDAuICovXG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKiBFcGhlbWVyYWwgc3RvcmFnZSBzaXplIGluIE1CLiBSYW5nZTogNTEyLTEwMjQwLiBEZWZhdWx0OiA1MTIuICovXG4gIGVwaGVtZXJhbFN0b3JhZ2VTaXplPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZ1bGwgY29tcHV0ZSBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJucy5cbiAqIEFsbG93cyBwZXItZnVuY3Rpb24gY29uZmlndXJhdGlvbiBmb3IgZWFjaCBMYW1iZGEgaW4gdGhlIHBhdHRlcm4uXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIENvbmZpZ3VyZSBpbmRpdmlkdWFsIGZ1bmN0aW9uc1xuICogY29tcHV0ZToge1xuICogICBzZXJ2ZXI6IHsgbWVtb3J5U2l6ZTogMjA0OCwgdGltZW91dDogNjAgfSxcbiAqICAgaW1hZ2VPcHRpbWlzYXRpb246IHsgbWVtb3J5U2l6ZTogMjA0OCB9LFxuICogICByZXZhbGlkYXRpb246IHsgbWVtb3J5U2l6ZTogMTAyNCwgdGltZW91dDogNjAwIH1cbiAqIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkQ29tcHV0ZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBTZXJ2ZXIgTGFtYmRhIGNvbmZpZ3VyYXRpb24uXG4gICAqIEhhbmRsZXMgbWFpbiBhcHBsaWNhdGlvbiByZXF1ZXN0cy5cbiAgICogRGVmYXVsdHM6IG1lbW9yeVNpemU9MTUzNiwgdGltZW91dD0zMFxuICAgKi9cbiAgc2VydmVyPzogUGF0dGVybkxhbWJkYUNvbmZpZztcbiAgLyoqXG4gICAqIEltYWdlIG9wdGltaXNhdGlvbiBMYW1iZGEgY29uZmlndXJhdGlvbi5cbiAgICogSGFuZGxlcyBOZXh0LmpzIGltYWdlIG9wdGltaXNhdGlvbi5cbiAgICogRGVmYXVsdHM6IG1lbW9yeVNpemU9MTUzNiwgdGltZW91dD0zMFxuICAgKi9cbiAgaW1hZ2VPcHRpbWlzYXRpb24/OiBQYXR0ZXJuTGFtYmRhQ29uZmlnO1xuICAvKipcbiAgICogUmV2YWxpZGF0aW9uIExhbWJkYSBjb25maWd1cmF0aW9uLlxuICAgKiBIYW5kbGVzIElTUiByZXZhbGlkYXRpb24gZnJvbSBTUVMgcXVldWUuXG4gICAqIERlZmF1bHRzOiBtZW1vcnlTaXplPTc2OCwgdGltZW91dD0zMDBcbiAgICovXG4gIHJldmFsaWRhdGlvbj86IFBhdHRlcm5MYW1iZGFDb25maWc7XG59XG5cbi8qKlxuICogUzMgYnVja2V0IGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm4gc3ViLWJ1Y2tldHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVyblN0b3JhZ2VCdWNrZXRDb25maWcge1xuICAvKiogRW5hYmxlIHZlcnNpb25pbmcuIERlZmF1bHQ6IGZhbHNlICovXG4gIHZlcnNpb25lZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRnVsbCBzdG9yYWdlIGNvbmZpZ3VyYXRpb24gZm9yIHBhdHRlcm5zLlxuICogQWxsb3dzIHBlci1idWNrZXQgY29uZmlndXJhdGlvbiBmb3IgZWFjaCBTMyBidWNrZXQgaW4gdGhlIHBhdHRlcm4uXG4gKlxuICogQGV4YW1wbGVcbiAqIHN0b3JhZ2U6IHtcbiAqICAgYXNzZXRzOiB7IHZlcnNpb25lZDogdHJ1ZSB9LFxuICogICBjYWNoZTogeyB2ZXJzaW9uZWQ6IGZhbHNlIH0sXG4gKiAgIG1lZGlhOiB7IHZlcnNpb25lZDogdHJ1ZSB9XG4gKiB9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZFN0b3JhZ2VDb25maWcge1xuICAvKiogQXNzZXRzIGJ1Y2tldCAoc3RhdGljIGZpbGVzKSAqL1xuICBhc3NldHM/OiBQYXR0ZXJuU3RvcmFnZUJ1Y2tldENvbmZpZztcbiAgLyoqIENhY2hlIGJ1Y2tldCAoSVNSIGNhY2hlKSAqL1xuICBjYWNoZT86IFBhdHRlcm5TdG9yYWdlQnVja2V0Q29uZmlnO1xuICAvKiogTWVkaWEgYnVja2V0ICh1cGxvYWRzKSAqL1xuICBtZWRpYT86IFBhdHRlcm5TdG9yYWdlQnVja2V0Q29uZmlnO1xufVxuXG4vKipcbiAqIFNRUyBxdWV1ZSBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJuIG1lc3NhZ2luZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuUXVldWVDb25maWcge1xuICAvKiogVmlzaWJpbGl0eSB0aW1lb3V0IGluIHNlY29uZHMuIERlZmF1bHQ6IG1hdGNoZXMgcmV2YWxpZGF0aW9uIHRpbWVvdXQgKi9cbiAgdmlzaWJpbGl0eVRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKiBNZXNzYWdlIHJldGVudGlvbiBwZXJpb2QgaW4gc2Vjb25kcy4gRGVmYXVsdDogMzQ1NjAwICg0IGRheXMpICovXG4gIG1lc3NhZ2VSZXRlbnRpb25QZXJpb2Q/OiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIG1lc3NhZ2Ugc2l6ZSBpbiBieXRlcy4gRGVmYXVsdDogMjYyMTQ0ICgyNTYgS0IpICovXG4gIG1heE1lc3NhZ2VTaXplPzogbnVtYmVyO1xuICAvKipcbiAgICogRGVhZCBsZXR0ZXIgcXVldWUgY29uZmlndXJhdGlvbi5cbiAgICogU2V0IHRvIGZhbHNlIHRvIGV4cGxpY2l0bHkgZGlzYWJsZS5cbiAgICovXG4gIGRlYWRMZXR0ZXJRdWV1ZT86XG4gICAgfCB7XG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgICBtYXhSZWNlaXZlQ291bnQ/OiBudW1iZXI7XG4gICAgICB9XG4gICAgfCBmYWxzZTtcbn1cblxuLyoqXG4gKiBGdWxsIG1lc3NhZ2luZyBjb25maWd1cmF0aW9uIGZvciBwYXR0ZXJucy5cbiAqXG4gKiBAZXhhbXBsZVxuICogbWVzc2FnaW5nOiB7XG4gKiAgIHJldmFsaWRhdGlvblF1ZXVlOiB7XG4gKiAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IDYwMCxcbiAqICAgICBkZWFkTGV0dGVyUXVldWU6IHsgZW5hYmxlZDogdHJ1ZSwgbWF4UmVjZWl2ZUNvdW50OiA1IH1cbiAqICAgfVxuICogfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRNZXNzYWdpbmdDb25maWcge1xuICAvKiogUmV2YWxpZGF0aW9uIHF1ZXVlIGNvbmZpZ3VyYXRpb24gKi9cbiAgcmV2YWxpZGF0aW9uUXVldWU/OiBQYXR0ZXJuUXVldWVDb25maWc7XG59XG5cbi8qKlxuICogQ0ROIGNvbmZpZ3VyYXRpb24gZm9yIFBheWxvYWQgcGF0dGVybi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkQ2RuQ29uZmlnIHtcbiAgLyoqIEN1c3RvbSBkb21haW4gbmFtZXMgZm9yIENsb3VkRnJvbnQgKi9cbiAgZG9tYWluTmFtZXM/OiBzdHJpbmdbXTtcbiAgLyoqIEFDTSBjZXJ0aWZpY2F0ZSBmb3IgY3VzdG9tIGRvbWFpbnMgKG11c3QgYmUgaW4gdXMtZWFzdC0xKSAqL1xuICBjZXJ0aWZpY2F0ZT86IElDZXJ0aWZpY2F0ZTtcbiAgLyoqIEFDTSBjZXJ0aWZpY2F0ZSBBUk4gKGFsdGVybmF0aXZlIHRvIGNlcnRpZmljYXRlIC0gbXVzdCBiZSBpbiB1cy1lYXN0LTEpICovXG4gIGNlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuICAvKiogQWRkaXRpb25hbCBDRE4gYmVoYXZpb3VycyAqL1xuICBiZWhhdmlvdXJzPzogU21hcnRDZG5CZWhhdmlvdXJbXTtcbn1cblxuLyoqXG4gKiBQYXlsb2FkIHBhdHRlcm4gcHJvcHMuXG4gKlxuICogQ29uZmlndXJlcyBhIFBheWxvYWQgQ01TIGRlcGxveW1lbnQgd2l0aCBhbGwgcmVxdWlyZWQgaW5mcmFzdHJ1Y3R1cmU6XG4gKiAtIFJEUyBQb3N0Z3JlU1FMIGRhdGFiYXNlIChBdXJvcmEgb3IgSW5zdGFuY2UpXG4gKiAtIFMzIGJ1Y2tldHMgKGFzc2V0cywgY2FjaGUsIG1lZGlhKVxuICogLSBEeW5hbW9EQiB0YWJsZSAodGFnIGNhY2hlKVxuICogLSBTUVMgRklGTyBxdWV1ZSAocmV2YWxpZGF0aW9uKVxuICogLSBMYW1iZGEgZnVuY3Rpb25zIChzZXJ2ZXIsIGltYWdlIG9wdGltaXNhdGlvbiwgcmV2YWxpZGF0aW9uKVxuICogLSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvblxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNaW5pbWFsIC0gd29ya3Mgb3V0IG9mIGJveFxuICogYXBwLmFkZFBhdHRlcm4oUGF0dGVybkZhY3RvcnkuYnVpbGQoXCJQYXlsb2FkQXBwXCIsIHtcbiAqICAgdHlwZTogXCJwYXlsb2FkXCIsXG4gKiAgIG5hbWU6IFwibXktY21zXCJcbiAqIH0pKTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gV2l0aCBjdXN0b20gZG9tYWluIChhdXRvLWNyZWF0ZXMgY2VydGlmaWNhdGUgKyBETlMpXG4gKiBhcHAuYWRkUGF0dGVybihQYXR0ZXJuRmFjdG9yeS5idWlsZChcIlBheWxvYWRBcHBcIiwge1xuICogICB0eXBlOiBcInBheWxvYWRcIixcbiAqICAgbmFtZTogXCJteS1jbXNcIixcbiAqICAgZG9tYWluOiBcImNtcy5leGFtcGxlLmNvbVwiXG4gKiB9KSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEN1c3RvbWlzZWRcbiAqIGFwcC5hZGRQYXR0ZXJuKFBhdHRlcm5GYWN0b3J5LmJ1aWxkKFwiUGF5bG9hZEFwcFwiLCB7XG4gKiAgIHR5cGU6IFwicGF5bG9hZFwiLFxuICogICBuYW1lOiBcIm15LWNtc1wiLFxuICogICBkYXRhYmFzZToge1xuICogICAgIHR5cGU6IFwiSW5zdGFuY2VcIixcbiAqICAgICBwdWJsaWNseUFjY2Vzc2libGU6IHRydWVcbiAqICAgfSxcbiAqICAgY29tcHV0ZToge1xuICogICAgIHNlcnZlcjogeyBtZW1vcnlTaXplOiAyMDQ4IH1cbiAqICAgfVxuICogfSkpO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElQYXlsb2FkUHJvcHMge1xuICAvKiogUGF0dGVybiB0eXBlIGRpc2NyaW1pbmF0b3IgKi9cbiAgdHlwZTogXCJwYXlsb2FkXCI7XG4gIC8qKiBQYXR0ZXJuIG5hbWUgKHVzZWQgZm9yIHJlc291cmNlIG5hbWluZykgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gZG9tYWluIGZvciB0aGUgUGF5bG9hZCBhcHBsaWNhdGlvbi5cbiAgICogV2hlbiBwcm92aWRlZCwgYXV0b21hdGljYWxseTpcbiAgICogLSBMb29rcyB1cCB0aGUgUm91dGU1MyBob3N0ZWQgem9uZVxuICAgKiAtIENyZWF0ZXMgYW4gQUNNIGNlcnRpZmljYXRlIHdpdGggRE5TIHZhbGlkYXRpb24gKGluIHVzLWVhc3QtMSlcbiAgICogLSBDb25maWd1cmVzIENsb3VkRnJvbnQgd2l0aCB0aGUgY2VydGlmaWNhdGVcbiAgICogLSBDcmVhdGVzIGFuIEEgcmVjb3JkIChhbGlhcykgcG9pbnRpbmcgdG8gQ2xvdWRGcm9udFxuICAgKlxuICAgKiBSZXF1aXJlczogQSBSb3V0ZTUzIGhvc3RlZCB6b25lIGZvciB0aGUgZG9tYWluIG11c3QgZXhpc3QuXG4gICAqXG4gICAqIEBleGFtcGxlIFwiY21zLmV4YW1wbGUuY29tXCJcbiAgICovXG4gIGRvbWFpbj86IHN0cmluZztcblxuICAvKiogRGF0YWJhc2UgY29uZmlndXJhdGlvbiAqL1xuICBkYXRhYmFzZT86IFBheWxvYWREYXRhYmFzZUNvbmZpZztcbiAgLyoqIENvbXB1dGUgKExhbWJkYSkgY29uZmlndXJhdGlvbiAqL1xuICBjb21wdXRlPzogUGF5bG9hZENvbXB1dGVDb25maWc7XG4gIC8qKiBTdG9yYWdlIChTMykgY29uZmlndXJhdGlvbiAqL1xuICBzdG9yYWdlPzogUGF5bG9hZFN0b3JhZ2VDb25maWc7XG4gIC8qKiBNZXNzYWdpbmcgKFNRUykgY29uZmlndXJhdGlvbiAqL1xuICBtZXNzYWdpbmc/OiBQYXlsb2FkTWVzc2FnaW5nQ29uZmlnO1xuICAvKiogQ0ROIChDbG91ZEZyb250KSBjb25maWd1cmF0aW9uIC0gZm9yIGFkdmFuY2VkIHVzZS4gVXNlIGBkb21haW5gIGZvciBzaW1wbGUgc2V0dXAuICovXG4gIGNkbj86IFBheWxvYWRDZG5Db25maWc7XG5cbiAgLyoqIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciBzZXJ2ZXIgTGFtYmRhICovXG4gIGVudmlyb25tZW50PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBVbmlvbiBvZiBhbGwgcGF0dGVybiBwcm9wcy5cbiAqIEV4dGVuZCB0aGlzIHdoZW4gYWRkaW5nIG5ldyBwYXR0ZXJucyAoZS5nLiwgSU5leHRqc1Byb3BzLCBJUmVtaXhQcm9wcykuXG4gKi9cbmV4cG9ydCB0eXBlIElQYXR0ZXJuUHJvcHMgPSBJUGF5bG9hZFByb3BzOyAvLyB8IElOZXh0anNQcm9wcyB8IElSZW1peFByb3BzIGluIGZ1dHVyZVxuXG4vKipcbiAqIFBhdHRlcm4gdHlwZSBkaXNjcmltaW5hdG9yLlxuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuVHlwZSA9IFwicGF5bG9hZFwiOyAvLyB8IFwibmV4dGpzXCIgfCBcInJlbWl4XCIgaW4gZnV0dXJlXG5cbi8qKlxuICogQmFzZSBwYXR0ZXJuIGludGVyZmFjZS5cbiAqIEFsbCBwYXR0ZXJucyBpbXBsZW1lbnQgdGhpcyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBhdHRlcm4ge1xuICAvKiogVGhlIHR5cGUgb2YgcGF0dGVybi4gVXNlZCBmb3IgcnVudGltZSB0eXBlIG5hcnJvd2luZy4gKi9cbiAgcmVhZG9ubHkgcGF0dGVyblR5cGU6IFBhdHRlcm5UeXBlO1xuXG4gIC8qKiBUaGUgdW5kZXJseWluZyBDREsgY29uc3RydWN0IG5vZGUuICovXG4gIHJlYWRvbmx5IG5vZGU6IENvbnN0cnVjdFtcIm5vZGVcIl07XG59XG5cbi8qKlxuICogUGF5bG9hZCBwYXR0ZXJuIGludGVyZmFjZS5cbiAqIFByb3ZpZGVzIGFjY2VzcyB0byBhbGwgdW5kZXJseWluZyByZXNvdXJjZXMgZm9yIGVzY2FwZSBoYXRjaGVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBFc2NhcGUgaGF0Y2hlcyAtIGZ1bGwgYWNjZXNzIHRvIHVuZGVybHlpbmcgcmVzb3VyY2VzXG4gKiBwYXlsb2FkLmdldERhdGFiYXNlKCkuZ3JhbnRDb25uZWN0KHNvbWVPdGhlckxhbWJkYSk7XG4gKiBwYXlsb2FkLmdldFNlcnZlcigpLmdldExhbWJkYUZ1bmN0aW9uKCkuYWRkRW52aXJvbm1lbnQoXCJDVVNUT01fVkFSXCIsIFwidmFsdWVcIik7XG4gKiBwYXlsb2FkLmdldENkbigpLmdldERpc3RyaWJ1dGlvbigpLmFkZEJlaGF2aW9yKFwiL2N1c3RvbS8qXCIsIGN1c3RvbU9yaWdpbik7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBheWxvYWQgZXh0ZW5kcyBJUGF0dGVybiB7XG4gIHJlYWRvbmx5IHBhdHRlcm5UeXBlOiBcInBheWxvYWRcIjtcblxuICAvKiogR2V0IHRoZSBQb3N0Z3JlU1FMIGRhdGFiYXNlIChBdXJvcmEgb3IgSW5zdGFuY2UpICovXG4gIGdldERhdGFiYXNlKCk6IFJlbGF0aW9uYWxEYXRhYmFzZTtcblxuICAvKiogR2V0IHRoZSBTZXJ2ZXIgTGFtYmRhIGZ1bmN0aW9uICovXG4gIGdldFNlcnZlcigpOiBMYW1iZGFDb21wdXRlO1xuXG4gIC8qKiBHZXQgdGhlIEltYWdlIE9wdGltaXNhdGlvbiBMYW1iZGEgZnVuY3Rpb24gKi9cbiAgZ2V0SW1hZ2VPcHRpbWlzYXRpb24oKTogTGFtYmRhQ29tcHV0ZTtcblxuICAvKiogR2V0IHRoZSBSZXZhbGlkYXRpb24gTGFtYmRhIGZ1bmN0aW9uICovXG4gIGdldFJldmFsaWRhdGlvbigpOiBMYW1iZGFDb21wdXRlO1xuXG4gIC8qKiBHZXQgdGhlIEFzc2V0cyBTMyBidWNrZXQgKHN0YXRpYyBmaWxlcykgKi9cbiAgZ2V0QXNzZXRzQnVja2V0KCk6IFN0b3JhZ2U7XG5cbiAgLyoqIEdldCB0aGUgQ2FjaGUgUzMgYnVja2V0IChJU1IgY2FjaGUpICovXG4gIGdldENhY2hlQnVja2V0KCk6IFN0b3JhZ2U7XG5cbiAgLyoqIEdldCB0aGUgTWVkaWEgUzMgYnVja2V0ICh1cGxvYWRzKSAqL1xuICBnZXRNZWRpYUJ1Y2tldCgpOiBTdG9yYWdlO1xuXG4gIC8qKiBHZXQgdGhlIFRhZyBDYWNoZSBEeW5hbW9EQiB0YWJsZSAqL1xuICBnZXRUYWdDYWNoZSgpOiBEeW5hbW9EQkRhdGFiYXNlO1xuXG4gIC8qKiBHZXQgdGhlIFJldmFsaWRhdGlvbiBTUVMgcXVldWUgKi9cbiAgZ2V0UmV2YWxpZGF0aW9uUXVldWUoKTogUXVldWVNZXNzYWdpbmc7XG5cbiAgLyoqIEdldCB0aGUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24gKi9cbiAgZ2V0Q2RuKCk6IENkbjtcbn1cblxuLyoqXG4gKiBVbmlvbiB0eXBlIHJlcHJlc2VudGluZyBhbnkgcGF0dGVybiBpbnRlcmZhY2UuXG4gKiBVc2Ugd2l0aCB0eXBlIGd1YXJkcyBmb3IgZ2VuZXJpYyBoYW5kbGluZy5cbiAqL1xuZXhwb3J0IHR5cGUgQW55UGF0dGVybiA9IElQYXlsb2FkOyAvLyB8IElOZXh0anMgfCBJUmVtaXggaW4gZnV0dXJlXG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHBhdHRlcm4gaXMgUGF5bG9hZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUGF5bG9hZFBhdHRlcm4ocGF0dGVybjogSVBhdHRlcm4pOiBwYXR0ZXJuIGlzIElQYXlsb2FkIHtcbiAgcmV0dXJuIHBhdHRlcm4ucGF0dGVyblR5cGUgPT09IFwicGF5bG9hZFwiO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSByZXNvdXJjZSBpcyBhbnkgcGF0dGVybiB0eXBlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQYXR0ZXJuKHJlc291cmNlOiB1bmtub3duKTogcmVzb3VyY2UgaXMgSVBhdHRlcm4ge1xuICByZXR1cm4gKFxuICAgIHJlc291cmNlICE9PSBudWxsICYmXG4gICAgdHlwZW9mIHJlc291cmNlID09PSBcIm9iamVjdFwiICYmXG4gICAgXCJwYXR0ZXJuVHlwZVwiIGluIHJlc291cmNlICYmXG4gICAgdHlwZW9mIChyZXNvdXJjZSBhcyBJUGF0dGVybikucGF0dGVyblR5cGUgPT09IFwic3RyaW5nXCJcbiAgKTtcbn1cbiJdfQ==
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Network = exports.NetworkFactory = void 0;
4
4
  const constructs_1 = require("constructs");
5
- const aws_cdk_lib_1 = require("aws-cdk-lib");
6
5
  const vpc_1 = require("../../resources/aws/networking/vpc");
7
6
  const validationLogger_js_1 = require("../../utils/validationLogger.js");
8
7
  function validateNetworkProps(props) {
@@ -36,14 +35,12 @@ class Network extends constructs_1.Construct {
36
35
  this.vpc = this.createVpc(id, props, app);
37
36
  }
38
37
  createVpc(id, props, app) {
39
- const accountId = app.node.tryGetContext("accountId") || process.env.CDK_DEFAULT_ACCOUNT;
38
+ const rawAccountId = app.node.tryGetContext("accountId");
39
+ const accountId = (typeof rawAccountId === "string" ? rawAccountId : undefined) ||
40
+ process.env.CDK_DEFAULT_ACCOUNT;
40
41
  const region = process.env.CDK_DEFAULT_REGION;
41
- const isManagedAccount = app.node.tryGetContext("managedAccount") === "true";
42
- let ipv4IpamPoolId;
43
- if (isManagedAccount && accountId && region) {
44
- const regionSuffix = region.replace(/-/g, "");
45
- ipv4IpamPoolId = aws_cdk_lib_1.Fn.importValue(`IpamPoolId${accountId}${regionSuffix}`);
46
- }
42
+ const rawIpamPoolId = app.node.tryGetContext("ipamPoolId");
43
+ const ipv4IpamPoolId = typeof rawIpamPoolId === "string" ? rawIpamPoolId : undefined;
47
44
  const vpcProps = {
48
45
  vpcName: props.vpcName,
49
46
  accountId,
@@ -97,4 +94,4 @@ class Network extends constructs_1.Construct {
97
94
  }
98
95
  }
99
96
  exports.Network = Network;
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFDdkMsNkNBQWlDO0FBSWpDLDREQUF3RTtBQUN4RSx5RUFBOEQ7QUF1RTlELFNBQVMsb0JBQW9CLENBQUMsS0FBb0I7SUFDaEQsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RSxpQ0FBVyxDQUFDLElBQUksQ0FDZCw0Q0FBNEMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUM1RCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQ0UsT0FBTyxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVE7UUFDckMsS0FBSyxDQUFDLFdBQVcsS0FBSyxJQUFJO1FBQzFCLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFDckMsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDckMsaUNBQVcsQ0FBQyxJQUFJLENBQ2Qsd0JBQXdCLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxxQkFBcUIsTUFBTSxJQUFJLENBQy9FLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLGNBQWMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDckQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBYSxjQUFjO0lBQ3pCLE1BQU0sQ0FB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QixNQUE4QztRQWlCOUMsSUFBSSxNQUFNLEtBQUssS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRW5DLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ25ELENBQUM7UUFFRCxPQUFPO1lBQ0wsT0FBTyxFQUNMLE1BQU0sQ0FBQyxPQUFPLEtBQUssS0FBSztnQkFDdEIsQ0FBQyxDQUFDLEtBQUs7Z0JBQ1AsQ0FBQyxDQUFDO29CQUNFLEVBQUUsRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJO29CQUM5QixRQUFRLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLElBQUksSUFBSTtpQkFDM0M7WUFDUCxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVM7U0FDakUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRjtBQXJHRCwwQkFxR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgRm4gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IHR5cGUgSVZwYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbmltcG9ydCB0eXBlIEFwcCBmcm9tIFwiLi4vLi4vYXBwXCI7XG5pbXBvcnQgeyBWcGMsIHR5cGUgVnBjUHJvcHMgfSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL3ZwY1wiO1xuaW1wb3J0IHsgRmphbGxMb2dnZXIgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdmFsaWRhdGlvbkxvZ2dlci5qc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5hdENvbmZpZyB7XG4gIGNvdW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dMb2dDb25maWcge1xuICBkZXN0aW5hdGlvbj86IFwiY2xvdWR3YXRjaFwiIHwgXCJzM1wiO1xuICByZXRlbnRpb25EYXlzPzogbnVtYmVyO1xuICB0cmFmZmljVHlwZT86IFwiQUxMXCIgfCBcIkFDQ0VQVFwiIHwgXCJSRUpFQ1RcIjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHYXRld2F5RW5kcG9pbnRzQ29uZmlnIHtcbiAgczM/OiBib29sZWFuO1xuICBkeW5hbW9kYj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlRW5kcG9pbnRzQ29uZmlnIHtcbiAgZWNyPzogYm9vbGVhbjtcbiAgc2VjcmV0c01hbmFnZXI/OiBib29sZWFuO1xuICBrbXM/OiBib29sZWFuO1xuICBjbG91ZHdhdGNoTG9ncz86IGJvb2xlYW47XG4gIHNzbT86IGJvb2xlYW47XG4gIHN0cz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVnBjRW5kcG9pbnRzQ29uZmlnIHtcbiAgZ2F0ZXdheT86IEdhdGV3YXlFbmRwb2ludHNDb25maWcgfCBmYWxzZTtcbiAgaW50ZXJmYWNlPzogSW50ZXJmYWNlRW5kcG9pbnRzQ29uZmlnIHwgZmFsc2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0Q29uZmlnIHtcbiAgY2lkck1hc2s/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0c0NvbmZpZyB7XG4gIHB1YmxpYz86IFN1Ym5ldENvbmZpZztcbiAgcHJpdmF0ZT86IFN1Ym5ldENvbmZpZztcbiAgaXNvbGF0ZWQ/OiBTdWJuZXRDb25maWcgfCBmYWxzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2l0R2F0ZXdheUNvbmZpZyB7XG4gIGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogTmV0d29yayAoVlBDKSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNaW5pbWFsIGNvc3QgVlBDIChubyBOQVQsIGdhdGV3YXkgZW5kcG9pbnRzIG9ubHkpXG4gKiB7IG5hdEdhdGV3YXlzOiBmYWxzZSB9XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFByb2R1Y3Rpb24gVlBDIHdpdGggMSBOQVQgZ2F0ZXdheVxuICogeyBuYXRHYXRld2F5czogeyBjb3VudDogMSB9LCBmbG93TG9nczoge30gfVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIaWdoLWF2YWlsYWJpbGl0eSBWUEMgd2l0aCBpbnRlcmZhY2UgZW5kcG9pbnRzXG4gKiB7IG1heEF6czogMywgbmF0R2F0ZXdheXM6IHsgY291bnQ6IDMgfSwgdnBjRW5kcG9pbnRzOiB7IGludGVyZmFjZTogeyBlY3I6IHRydWUgfSB9IH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTmV0d29ya1Byb3BzIHtcbiAgdnBjTmFtZT86IHN0cmluZztcbiAgbWF4QXpzPzogbnVtYmVyO1xuICBjaWRyTWFzaz86IG51bWJlcjtcbiAgbmF0R2F0ZXdheXM/OiBOYXRDb25maWcgfCBmYWxzZTtcbiAgZmxvd0xvZ3M/OiBGbG93TG9nQ29uZmlnIHwgZmFsc2U7XG4gIHZwY0VuZHBvaW50cz86IFZwY0VuZHBvaW50c0NvbmZpZyB8IGZhbHNlO1xuICBzdWJuZXRzPzogU3VibmV0c0NvbmZpZztcbiAgdHJhbnNpdEdhdGV3YXk/OiBUcmFuc2l0R2F0ZXdheUNvbmZpZztcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVOZXR3b3JrUHJvcHMocHJvcHM6IElOZXR3b3JrUHJvcHMpOiB2b2lkIHtcbiAgaWYgKHByb3BzLm1heEF6cyAhPT0gdW5kZWZpbmVkICYmIChwcm9wcy5tYXhBenMgPCAxIHx8IHByb3BzLm1heEF6cyA+IDMpKSB7XG4gICAgRmphbGxMb2dnZXIud2FybihcbiAgICAgIGAnbWF4QXpzJyBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAzLiBHb3Q6ICR7cHJvcHMubWF4QXpzfS5gXG4gICAgKTtcbiAgfVxuXG4gIGlmIChcbiAgICB0eXBlb2YgcHJvcHMubmF0R2F0ZXdheXMgPT09IFwib2JqZWN0XCIgJiZcbiAgICBwcm9wcy5uYXRHYXRld2F5cyAhPT0gbnVsbCAmJlxuICAgIHByb3BzLm5hdEdhdGV3YXlzLmNvdW50ICE9PSB1bmRlZmluZWRcbiAgKSB7XG4gICAgY29uc3QgbWF4QXpzID0gcHJvcHMubWF4QXpzID8/IDM7XG4gICAgaWYgKHByb3BzLm5hdEdhdGV3YXlzLmNvdW50ID4gbWF4QXpzKSB7XG4gICAgICBGamFsbExvZ2dlci53YXJuKFxuICAgICAgICBgJ25hdEdhdGV3YXlzLmNvdW50JyAoJHtwcm9wcy5uYXRHYXRld2F5cy5jb3VudH0pIGV4Y2VlZHMgbWF4QXpzICgke21heEF6c30pLmBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb3BzLnRyYW5zaXRHYXRld2F5ICYmICFwcm9wcy50cmFuc2l0R2F0ZXdheS5pZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlRyYW5zaXQgR2F0ZXdheSBjb25maWd1cmF0aW9uIHJlcXVpcmVzICdpZCcuXCIpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOZXR3b3JrRmFjdG9yeSB7XG4gIHN0YXRpYyBidWlsZChpZDogc3RyaW5nLCBwcm9wczogSU5ldHdvcmtQcm9wcykge1xuICAgIHJldHVybiAoYXBwOiBBcHAsIHNjb3BlOiBDb25zdHJ1Y3QpID0+IHtcbiAgICAgIHZhbGlkYXRlTmV0d29ya1Byb3BzKHByb3BzKTtcbiAgICAgIHJldHVybiBuZXcgTmV0d29yayhzY29wZSwgaWQsIHByb3BzLCBhcHApO1xuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5ldHdvcmsgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjOiBWcGM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IElOZXR3b3JrUHJvcHMsIGFwcDogQXBwKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnZwYyA9IHRoaXMuY3JlYXRlVnBjKGlkLCBwcm9wcywgYXBwKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVnBjKGlkOiBzdHJpbmcsIHByb3BzOiBJTmV0d29ya1Byb3BzLCBhcHA6IEFwcCk6IFZwYyB7XG4gICAgY29uc3QgYWNjb3VudElkID1cbiAgICAgIGFwcC5ub2RlLnRyeUdldENvbnRleHQoXCJhY2NvdW50SWRcIikgfHwgcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVDtcbiAgICBjb25zdCByZWdpb24gPSBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT047XG4gICAgY29uc3QgaXNNYW5hZ2VkQWNjb3VudCA9XG4gICAgICBhcHAubm9kZS50cnlHZXRDb250ZXh0KFwibWFuYWdlZEFjY291bnRcIikgPT09IFwidHJ1ZVwiO1xuXG4gICAgbGV0IGlwdjRJcGFtUG9vbElkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKGlzTWFuYWdlZEFjY291bnQgJiYgYWNjb3VudElkICYmIHJlZ2lvbikge1xuICAgICAgY29uc3QgcmVnaW9uU3VmZml4ID0gcmVnaW9uLnJlcGxhY2UoLy0vZywgXCJcIik7XG4gICAgICBpcHY0SXBhbVBvb2xJZCA9IEZuLmltcG9ydFZhbHVlKGBJcGFtUG9vbElkJHthY2NvdW50SWR9JHtyZWdpb25TdWZmaXh9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgdnBjUHJvcHM6IFZwY1Byb3BzID0ge1xuICAgICAgdnBjTmFtZTogcHJvcHMudnBjTmFtZSxcbiAgICAgIGFjY291bnRJZCxcbiAgICAgIHJlZ2lvbixcbiAgICAgIGlwdjRJcGFtUG9vbElkLFxuICAgICAgbWF4QXpzOiBwcm9wcy5tYXhBenMsXG4gICAgICB2cGNDaWRyTWFzazogcHJvcHMuY2lkck1hc2ssXG4gICAgICBzdWJuZXRDaWRyTWFzazogcHJvcHMuc3VibmV0cz8ucHJpdmF0ZT8uY2lkck1hc2ssXG4gICAgICBuYXRHYXRld2F5Q29uZmlnOiB0aGlzLnJlc29sdmVOYXRDb25maWcocHJvcHMubmF0R2F0ZXdheXMpLFxuICAgICAgZmxvd0xvZ0NvbmZpZzogdGhpcy5yZXNvbHZlRmxvd0xvZ0NvbmZpZyhwcm9wcy5mbG93TG9ncyksXG4gICAgICBlbmRwb2ludHNDb25maWc6IHRoaXMucmVzb2x2ZUVuZHBvaW50c0NvbmZpZyhwcm9wcy52cGNFbmRwb2ludHMpXG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgVnBjKHRoaXMsIGlkLCB2cGNQcm9wcyk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVOYXRDb25maWcoXG4gICAgY29uZmlnOiBOYXRDb25maWcgfCBmYWxzZSB8IHVuZGVmaW5lZFxuICApOiB7IGNvdW50PzogbnVtYmVyIH0gfCBmYWxzZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGNvbmZpZyA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmIChjb25maWcgPT09IGZhbHNlKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHsgY291bnQ6IGNvbmZpZy5jb3VudCB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRmxvd0xvZ0NvbmZpZyhjb25maWc6IEZsb3dMb2dDb25maWcgfCBmYWxzZSB8IHVuZGVmaW5lZCk6XG4gICAgfCB7XG4gICAgICAgIGRlc3RpbmF0aW9uPzogXCJjbG91ZHdhdGNoXCIgfCBcInMzXCI7XG4gICAgICAgIHJldGVudGlvbkRheXM/OiBudW1iZXI7XG4gICAgICAgIHRyYWZmaWNUeXBlPzogXCJBTExcIiB8IFwiQUNDRVBUXCIgfCBcIlJFSkVDVFwiO1xuICAgICAgfVxuICAgIHwgZmFsc2VcbiAgICB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGNvbmZpZyA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmIChjb25maWcgPT09IGZhbHNlKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRlc3RpbmF0aW9uOiBjb25maWcuZGVzdGluYXRpb24sXG4gICAgICByZXRlbnRpb25EYXlzOiBjb25maWcucmV0ZW50aW9uRGF5cyxcbiAgICAgIHRyYWZmaWNUeXBlOiBjb25maWcudHJhZmZpY1R5cGVcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRW5kcG9pbnRzQ29uZmlnKFxuICAgIGNvbmZpZzogVnBjRW5kcG9pbnRzQ29uZmlnIHwgZmFsc2UgfCB1bmRlZmluZWRcbiAgKTpcbiAgICB8IHtcbiAgICAgICAgZ2F0ZXdheT86IHsgczM/OiBib29sZWFuOyBkeW5hbW9kYj86IGJvb2xlYW4gfSB8IGZhbHNlO1xuICAgICAgICBpbnRlcmZhY2U/OlxuICAgICAgICAgIHwge1xuICAgICAgICAgICAgICBlY3I/OiBib29sZWFuO1xuICAgICAgICAgICAgICBzZWNyZXRzTWFuYWdlcj86IGJvb2xlYW47XG4gICAgICAgICAgICAgIGttcz86IGJvb2xlYW47XG4gICAgICAgICAgICAgIGNsb3Vkd2F0Y2hMb2dzPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgc3NtPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgc3RzPzogYm9vbGVhbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB8IGZhbHNlO1xuICAgICAgfVxuICAgIHwgZmFsc2VcbiAgICB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGNvbmZpZyA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTtcblxuICAgIGlmIChjb25maWcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHsgZ2F0ZXdheTogeyBzMzogdHJ1ZSwgZHluYW1vZGI6IHRydWUgfSB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBnYXRld2F5OlxuICAgICAgICBjb25maWcuZ2F0ZXdheSA9PT0gZmFsc2VcbiAgICAgICAgICA/IGZhbHNlXG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIHMzOiBjb25maWcuZ2F0ZXdheT8uczMgPz8gdHJ1ZSxcbiAgICAgICAgICAgICAgZHluYW1vZGI6IGNvbmZpZy5nYXRld2F5Py5keW5hbW9kYiA/PyB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgaW50ZXJmYWNlOiBjb25maWcuaW50ZXJmYWNlID09PSBmYWxzZSA/IGZhbHNlIDogY29uZmlnLmludGVyZmFjZVxuICAgIH07XG4gIH1cblxuICBnZXRWcGMoKTogSVZwYyB7XG4gICAgcmV0dXJuIHRoaXMudnBjO1xuICB9XG59XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFJdkMsNERBQXdFO0FBQ3hFLHlFQUE4RDtBQXVFOUQsU0FBUyxvQkFBb0IsQ0FBQyxLQUFvQjtJQUNoRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pFLGlDQUFXLENBQUMsSUFBSSxDQUNkLDRDQUE0QyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQzVELENBQUM7SUFDSixDQUFDO0lBRUQsSUFDRSxPQUFPLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUTtRQUNyQyxLQUFLLENBQUMsV0FBVyxLQUFLLElBQUk7UUFDMUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUNyQyxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQztZQUNyQyxpQ0FBVyxDQUFDLElBQUksQ0FDZCx3QkFBd0IsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLHFCQUFxQixNQUFNLElBQUksQ0FDL0UsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsY0FBYyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNyRCxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDbEUsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFhLGNBQWM7SUFDekIsTUFBTSxDQUFDLEtBQUssQ0FBQyxF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QUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6QixPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNuRCxDQUFDO1FBRUQsT0FBTztZQUNMLE9BQU8sRUFDTCxNQUFNLENBQUMsT0FBTyxLQUFLLEtBQUs7Z0JBQ3RCLENBQUMsQ0FBQyxLQUFLO2dCQUNQLENBQUMsQ0FBQztvQkFDRSxFQUFFLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSTtvQkFDOUIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLElBQUk7aUJBQzNDO1lBQ1AsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1NBQ2pFLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0NBQ0Y7QUFuR0QsMEJBbUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IHR5cGUgSVZwYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbmltcG9ydCB0eXBlIEFwcCBmcm9tIFwiLi4vLi4vYXBwXCI7XG5pbXBvcnQgeyBWcGMsIHR5cGUgVnBjUHJvcHMgfSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL3ZwY1wiO1xuaW1wb3J0IHsgRmphbGxMb2dnZXIgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdmFsaWRhdGlvbkxvZ2dlci5qc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5hdENvbmZpZyB7XG4gIGNvdW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dMb2dDb25maWcge1xuICBkZXN0aW5hdGlvbj86IFwiY2xvdWR3YXRjaFwiIHwgXCJzM1wiO1xuICByZXRlbnRpb25EYXlzPzogbnVtYmVyO1xuICB0cmFmZmljVHlwZT86IFwiQUxMXCIgfCBcIkFDQ0VQVFwiIHwgXCJSRUpFQ1RcIjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHYXRld2F5RW5kcG9pbnRzQ29uZmlnIHtcbiAgczM/OiBib29sZWFuO1xuICBkeW5hbW9kYj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlRW5kcG9pbnRzQ29uZmlnIHtcbiAgZWNyPzogYm9vbGVhbjtcbiAgc2VjcmV0c01hbmFnZXI/OiBib29sZWFuO1xuICBrbXM/OiBib29sZWFuO1xuICBjbG91ZHdhdGNoTG9ncz86IGJvb2xlYW47XG4gIHNzbT86IGJvb2xlYW47XG4gIHN0cz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVnBjRW5kcG9pbnRzQ29uZmlnIHtcbiAgZ2F0ZXdheT86IEdhdGV3YXlFbmRwb2ludHNDb25maWcgfCBmYWxzZTtcbiAgaW50ZXJmYWNlPzogSW50ZXJmYWNlRW5kcG9pbnRzQ29uZmlnIHwgZmFsc2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0Q29uZmlnIHtcbiAgY2lkck1hc2s/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0c0NvbmZpZyB7XG4gIHB1YmxpYz86IFN1Ym5ldENvbmZpZztcbiAgcHJpdmF0ZT86IFN1Ym5ldENvbmZpZztcbiAgaXNvbGF0ZWQ/OiBTdWJuZXRDb25maWcgfCBmYWxzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2l0R2F0ZXdheUNvbmZpZyB7XG4gIGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogTmV0d29yayAoVlBDKSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNaW5pbWFsIGNvc3QgVlBDIChubyBOQVQsIGdhdGV3YXkgZW5kcG9pbnRzIG9ubHkpXG4gKiB7IG5hdEdhdGV3YXlzOiBmYWxzZSB9XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFByb2R1Y3Rpb24gVlBDIHdpdGggMSBOQVQgZ2F0ZXdheVxuICogeyBuYXRHYXRld2F5czogeyBjb3VudDogMSB9LCBmbG93TG9nczoge30gfVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIaWdoLWF2YWlsYWJpbGl0eSBWUEMgd2l0aCBpbnRlcmZhY2UgZW5kcG9pbnRzXG4gKiB7IG1heEF6czogMywgbmF0R2F0ZXdheXM6IHsgY291bnQ6IDMgfSwgdnBjRW5kcG9pbnRzOiB7IGludGVyZmFjZTogeyBlY3I6IHRydWUgfSB9IH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTmV0d29ya1Byb3BzIHtcbiAgdnBjTmFtZT86IHN0cmluZztcbiAgbWF4QXpzPzogbnVtYmVyO1xuICBjaWRyTWFzaz86IG51bWJlcjtcbiAgbmF0R2F0ZXdheXM/OiBOYXRDb25maWcgfCBmYWxzZTtcbiAgZmxvd0xvZ3M/OiBGbG93TG9nQ29uZmlnIHwgZmFsc2U7XG4gIHZwY0VuZHBvaW50cz86IFZwY0VuZHBvaW50c0NvbmZpZyB8IGZhbHNlO1xuICBzdWJuZXRzPzogU3VibmV0c0NvbmZpZztcbiAgdHJhbnNpdEdhdGV3YXk/OiBUcmFuc2l0R2F0ZXdheUNvbmZpZztcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVOZXR3b3JrUHJvcHMocHJvcHM6IElOZXR3b3JrUHJvcHMpOiB2b2lkIHtcbiAgaWYgKHByb3BzLm1heEF6cyAhPT0gdW5kZWZpbmVkICYmIChwcm9wcy5tYXhBenMgPCAxIHx8IHByb3BzLm1heEF6cyA+IDMpKSB7XG4gICAgRmphbGxMb2dnZXIud2FybihcbiAgICAgIGAnbWF4QXpzJyBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAzLiBHb3Q6ICR7cHJvcHMubWF4QXpzfS5gXG4gICAgKTtcbiAgfVxuXG4gIGlmIChcbiAgICB0eXBlb2YgcHJvcHMubmF0R2F0ZXdheXMgPT09IFwib2JqZWN0XCIgJiZcbiAgICBwcm9wcy5uYXRHYXRld2F5cyAhPT0gbnVsbCAmJlxuICAgIHByb3BzLm5hdEdhdGV3YXlzLmNvdW50ICE9PSB1bmRlZmluZWRcbiAgKSB7XG4gICAgY29uc3QgbWF4QXpzID0gcHJvcHMubWF4QXpzID8/IDM7XG4gICAgaWYgKHByb3BzLm5hdEdhdGV3YXlzLmNvdW50ID4gbWF4QXpzKSB7XG4gICAgICBGamFsbExvZ2dlci53YXJuKFxuICAgICAgICBgJ25hdEdhdGV3YXlzLmNvdW50JyAoJHtwcm9wcy5uYXRHYXRld2F5cy5jb3VudH0pIGV4Y2VlZHMgbWF4QXpzICgke21heEF6c30pLmBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb3BzLnRyYW5zaXRHYXRld2F5ICYmICFwcm9wcy50cmFuc2l0R2F0ZXdheS5pZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlRyYW5zaXQgR2F0ZXdheSBjb25maWd1cmF0aW9uIHJlcXVpcmVzICdpZCcuXCIpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOZXR3b3JrRmFjdG9yeSB7XG4gIHN0YXRpYyBidWlsZChpZDogc3RyaW5nLCBwcm9wczogSU5ldHdvcmtQcm9wcykge1xuICAgIHJldHVybiAoYXBwOiBBcHAsIHNjb3BlOiBDb25zdHJ1Y3QpID0+IHtcbiAgICAgIHZhbGlkYXRlTmV0d29ya1Byb3BzKHByb3BzKTtcbiAgICAgIHJldHVybiBuZXcgTmV0d29yayhzY29wZSwgaWQsIHByb3BzLCBhcHApO1xuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5ldHdvcmsgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjOiBWcGM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IElOZXR3b3JrUHJvcHMsIGFwcDogQXBwKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnZwYyA9IHRoaXMuY3JlYXRlVnBjKGlkLCBwcm9wcywgYXBwKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVnBjKGlkOiBzdHJpbmcsIHByb3BzOiBJTmV0d29ya1Byb3BzLCBhcHA6IEFwcCk6IFZwYyB7XG4gICAgY29uc3QgcmF3QWNjb3VudElkOiB1bmtub3duID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnRJZFwiKTtcbiAgICBjb25zdCBhY2NvdW50SWQgPVxuICAgICAgKHR5cGVvZiByYXdBY2NvdW50SWQgPT09IFwic3RyaW5nXCIgPyByYXdBY2NvdW50SWQgOiB1bmRlZmluZWQpIHx8XG4gICAgICBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9BQ0NPVU5UO1xuICAgIGNvbnN0IHJlZ2lvbiA9IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTjtcblxuICAgIGNvbnN0IHJhd0lwYW1Qb29sSWQ6IHVua25vd24gPSBhcHAubm9kZS50cnlHZXRDb250ZXh0KFwiaXBhbVBvb2xJZFwiKTtcbiAgICBjb25zdCBpcHY0SXBhbVBvb2xJZCA9XG4gICAgICB0eXBlb2YgcmF3SXBhbVBvb2xJZCA9PT0gXCJzdHJpbmdcIiA/IHJhd0lwYW1Qb29sSWQgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCB2cGNQcm9wczogVnBjUHJvcHMgPSB7XG4gICAgICB2cGNOYW1lOiBwcm9wcy52cGNOYW1lLFxuICAgICAgYWNjb3VudElkLFxuICAgICAgcmVnaW9uLFxuICAgICAgaXB2NElwYW1Qb29sSWQsXG4gICAgICBtYXhBenM6IHByb3BzLm1heEF6cyxcbiAgICAgIHZwY0NpZHJNYXNrOiBwcm9wcy5jaWRyTWFzayxcbiAgICAgIHN1Ym5ldENpZHJNYXNrOiBwcm9wcy5zdWJuZXRzPy5wcml2YXRlPy5jaWRyTWFzayxcbiAgICAgIG5hdEdhdGV3YXlDb25maWc6IHRoaXMucmVzb2x2ZU5hdENvbmZpZyhwcm9wcy5uYXRHYXRld2F5cyksXG4gICAgICBmbG93TG9nQ29uZmlnOiB0aGlzLnJlc29sdmVGbG93TG9nQ29uZmlnKHByb3BzLmZsb3dMb2dzKSxcbiAgICAgIGVuZHBvaW50c0NvbmZpZzogdGhpcy5yZXNvbHZlRW5kcG9pbnRzQ29uZmlnKHByb3BzLnZwY0VuZHBvaW50cylcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5ldyBWcGModGhpcywgaWQsIHZwY1Byb3BzKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZU5hdENvbmZpZyhcbiAgICBjb25maWc6IE5hdENvbmZpZyB8IGZhbHNlIHwgdW5kZWZpbmVkXG4gICk6IHsgY291bnQ/OiBudW1iZXIgfSB8IGZhbHNlIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoY29uZmlnID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKGNvbmZpZyA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4geyBjb3VudDogY29uZmlnLmNvdW50IH07XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVGbG93TG9nQ29uZmlnKGNvbmZpZzogRmxvd0xvZ0NvbmZpZyB8IGZhbHNlIHwgdW5kZWZpbmVkKTpcbiAgICB8IHtcbiAgICAgICAgZGVzdGluYXRpb24/OiBcImNsb3Vkd2F0Y2hcIiB8IFwiczNcIjtcbiAgICAgICAgcmV0ZW50aW9uRGF5cz86IG51bWJlcjtcbiAgICAgICAgdHJhZmZpY1R5cGU/OiBcIkFMTFwiIHwgXCJBQ0NFUFRcIiB8IFwiUkVKRUNUXCI7XG4gICAgICB9XG4gICAgfCBmYWxzZVxuICAgIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoY29uZmlnID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKGNvbmZpZyA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4ge1xuICAgICAgZGVzdGluYXRpb246IGNvbmZpZy5kZXN0aW5hdGlvbixcbiAgICAgIHJldGVudGlvbkRheXM6IGNvbmZpZy5yZXRlbnRpb25EYXlzLFxuICAgICAgdHJhZmZpY1R5cGU6IGNvbmZpZy50cmFmZmljVHlwZVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFbmRwb2ludHNDb25maWcoXG4gICAgY29uZmlnOiBWcGNFbmRwb2ludHNDb25maWcgfCBmYWxzZSB8IHVuZGVmaW5lZFxuICApOlxuICAgIHwge1xuICAgICAgICBnYXRld2F5PzogeyBzMz86IGJvb2xlYW47IGR5bmFtb2RiPzogYm9vbGVhbiB9IHwgZmFsc2U7XG4gICAgICAgIGludGVyZmFjZT86XG4gICAgICAgICAgfCB7XG4gICAgICAgICAgICAgIGVjcj86IGJvb2xlYW47XG4gICAgICAgICAgICAgIHNlY3JldHNNYW5hZ2VyPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAga21zPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgY2xvdWR3YXRjaExvZ3M/OiBib29sZWFuO1xuICAgICAgICAgICAgICBzc20/OiBib29sZWFuO1xuICAgICAgICAgICAgICBzdHM/OiBib29sZWFuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIHwgZmFsc2U7XG4gICAgICB9XG4gICAgfCBmYWxzZVxuICAgIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoY29uZmlnID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgaWYgKGNvbmZpZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4geyBnYXRld2F5OiB7IHMzOiB0cnVlLCBkeW5hbW9kYjogdHJ1ZSB9IH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGdhdGV3YXk6XG4gICAgICAgIGNvbmZpZy5nYXRld2F5ID09PSBmYWxzZVxuICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgczM6IGNvbmZpZy5nYXRld2F5Py5zMyA/PyB0cnVlLFxuICAgICAgICAgICAgICBkeW5hbW9kYjogY29uZmlnLmdhdGV3YXk/LmR5bmFtb2RiID8/IHRydWVcbiAgICAgICAgICAgIH0sXG4gICAgICBpbnRlcmZhY2U6IGNvbmZpZy5pbnRlcmZhY2UgPT09IGZhbHNlID8gZmFsc2UgOiBjb25maWcuaW50ZXJmYWNlXG4gICAgfTtcbiAgfVxuXG4gIGdldFZwYygpOiBJVnBjIHtcbiAgICByZXR1cm4gdGhpcy52cGM7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,4 @@
1
1
  import { type Environment, Stack, type StackProps } from "aws-cdk-lib";
2
- import { type ICostAllocationTags } from "../../config/aws/costAllocationTags";
3
2
  import { OrganisationResource } from "../../resources/aws/organisation";
4
3
  type ExtendedStackProps = Omit<StackProps, "env"> & {
5
4
  env?: Required<Pick<Environment, "region" | "account">> & Partial<Omit<Environment, "region" | "account">>;
@@ -12,22 +11,17 @@ export interface OrganisationProps extends ExtendedStackProps {
12
11
  accounts: AccountsConfig;
13
12
  orgEmail: string;
14
13
  accountIds?: Record<string, string>;
15
- costAllocationTags?: ICostAllocationTags[];
16
14
  identityCenter?: boolean;
17
- backupSettings?: {
18
- enableCrossAccountBackup?: boolean;
19
- enableDelegatedAdministrator?: boolean;
20
- enableMpa?: boolean;
21
- };
22
15
  }
23
16
  /**
24
17
  * Organisation CDK stack.
25
18
  *
26
- * OU creation and account-to-OU placement are handled by CLI pre-deploy steps
27
- * (AwsAccountService). This stack focuses on:
19
+ * OU creation, account-to-OU placement, IPAM delegation, RAM sharing, trusted
20
+ * access, cost allocation tag activation, and backup settings are handled by CLI
21
+ * pre-deploy steps (AwsAccountService). This stack focuses on:
28
22
  * - Account CfnOutput references (for cross-stack consumption)
29
- * - IPAM delegation, RAM sharing, trusted access
30
- * - Cost allocation tags, Identity Center, backup settings
23
+ * - Identity Centre configuration
24
+ * - Cost allocation tag auto-activation (daily Lambda)
31
25
  */
32
26
  export declare class Organisation extends Stack {
33
27
  readonly organisationType: "organisation";
@@ -38,13 +32,8 @@ export declare class Organisation extends Stack {
38
32
  constructor(id: string, props: OrganisationProps);
39
33
  private createAccountReferences;
40
34
  private setupOrganisationFeatures;
41
- private getPlatformAccountId;
42
- private setupIpamDelegation;
43
- private enableRamSharing;
44
- private enableTrustedAccess;
45
- private enableCostAllocationTags;
35
+ private setupCostAllocationTagActivator;
46
36
  private setupIdentityCenter;
47
- private setupBackupGlobalSettings;
48
37
  getOrganisation(): OrganisationResource;
49
38
  getAccounts(): Record<string, string>;
50
39
  }