terraconstructs 0.1.8 → 0.1.10

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 (285) hide show
  1. package/.jsii +1514 -1279
  2. package/lib/asset-staging.js +1 -1
  3. package/lib/aws/arn.js +1 -1
  4. package/lib/aws/aws-asset-manager.js +1 -1
  5. package/lib/aws/aws-construct.js +1 -1
  6. package/lib/aws/aws-stack.d.ts +28 -4
  7. package/lib/aws/aws-stack.js +80 -22
  8. package/lib/aws/aws-tags.js +2 -2
  9. package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
  10. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  11. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  12. package/lib/aws/cloudwatch/actions/sns.js +1 -1
  13. package/lib/aws/cloudwatch/actions/ssm.js +2 -2
  14. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  15. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  16. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  17. package/lib/aws/cloudwatch/alarm.js +9 -8
  18. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  19. package/lib/aws/cloudwatch/dashboard.js +1 -1
  20. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  21. package/lib/aws/cloudwatch/graph.js +8 -8
  22. package/lib/aws/cloudwatch/layout.js +3 -3
  23. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  24. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  25. package/lib/aws/cloudwatch/log-group.js +1 -1
  26. package/lib/aws/cloudwatch/log-query.js +1 -1
  27. package/lib/aws/cloudwatch/log-stream.js +1 -1
  28. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  29. package/lib/aws/cloudwatch/metric.js +2 -2
  30. package/lib/aws/cloudwatch/pattern.js +3 -3
  31. package/lib/aws/cloudwatch/policy.js +1 -1
  32. package/lib/aws/cloudwatch/query-definition.js +2 -2
  33. package/lib/aws/cloudwatch/stats.js +1 -1
  34. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  35. package/lib/aws/cloudwatch/text.js +1 -1
  36. package/lib/aws/cloudwatch/variable.js +3 -3
  37. package/lib/aws/cloudwatch/widget.js +1 -1
  38. package/lib/aws/compute/access-log.js +9 -7
  39. package/lib/aws/compute/activity.js +1 -1
  40. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  41. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  42. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  43. package/lib/aws/compute/alb/application-listener.js +1 -1
  44. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  45. package/lib/aws/compute/alb/application-target-group.js +1 -1
  46. package/lib/aws/compute/alb/conditions.js +1 -1
  47. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  48. package/lib/aws/compute/alb/trust-store.js +1 -1
  49. package/lib/aws/compute/api-definition.d.ts +1 -1
  50. package/lib/aws/compute/api-definition.js +11 -16
  51. package/lib/aws/compute/api-key.js +7 -8
  52. package/lib/aws/compute/apigateway-util.js +10 -21
  53. package/lib/aws/compute/architecture.js +1 -1
  54. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  55. package/lib/aws/compute/authorizer.js +1 -1
  56. package/lib/aws/compute/authorizers/identity-source.js +4 -5
  57. package/lib/aws/compute/authorizers/lambda.js +8 -11
  58. package/lib/aws/compute/autoscaling-common/interval-utils.js +7 -11
  59. package/lib/aws/compute/base-path-mapping.js +6 -8
  60. package/lib/aws/compute/base-scalable-attribute.js +1 -1
  61. package/lib/aws/compute/bastion-host.js +1 -1
  62. package/lib/aws/compute/chain.js +1 -1
  63. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  64. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  65. package/lib/aws/compute/client-vpn-route.js +2 -2
  66. package/lib/aws/compute/code.js +23 -40
  67. package/lib/aws/compute/condition.js +1 -1
  68. package/lib/aws/compute/connections.js +1 -1
  69. package/lib/aws/compute/cors.js +1 -1
  70. package/lib/aws/compute/deployment.js +1 -1
  71. package/lib/aws/compute/domain-name.js +9 -8
  72. package/lib/aws/compute/event-invoke-config.js +1 -1
  73. package/lib/aws/compute/event-source-filter.js +2 -2
  74. package/lib/aws/compute/event-source-mapping.js +1 -1
  75. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  76. package/lib/aws/compute/event-sources/s3.js +1 -1
  77. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  78. package/lib/aws/compute/event-sources/sqs.js +1 -1
  79. package/lib/aws/compute/fields.js +4 -4
  80. package/lib/aws/compute/function-alias.js +1 -1
  81. package/lib/aws/compute/function-base.js +12 -12
  82. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  83. package/lib/aws/compute/function-destinations/function.js +1 -1
  84. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  85. package/lib/aws/compute/function-nodejs/function.js +1 -1
  86. package/lib/aws/compute/function-url.js +1 -1
  87. package/lib/aws/compute/function.js +4 -3
  88. package/lib/aws/compute/gateway-response.js +2 -2
  89. package/lib/aws/compute/handler.js +1 -1
  90. package/lib/aws/compute/instance-types.js +1 -1
  91. package/lib/aws/compute/instance.js +1 -1
  92. package/lib/aws/compute/integration.js +10 -16
  93. package/lib/aws/compute/integrations/aws.js +4 -4
  94. package/lib/aws/compute/integrations/http.js +1 -1
  95. package/lib/aws/compute/integrations/lambda.js +1 -1
  96. package/lib/aws/compute/integrations/mock.js +1 -1
  97. package/lib/aws/compute/integrations/stepfunctions.js +4 -5
  98. package/lib/aws/compute/ip-addresses.js +2 -2
  99. package/lib/aws/compute/ipam.js +1 -1
  100. package/lib/aws/compute/key-pair.js +1 -1
  101. package/lib/aws/compute/lambda-api.js +7 -10
  102. package/lib/aws/compute/launch-template.js +2 -2
  103. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  104. package/lib/aws/compute/lb-shared/base-load-balancer.js +5 -7
  105. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  106. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  107. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  108. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  109. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  110. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  111. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  112. package/lib/aws/compute/load-balancer.js +3 -3
  113. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  114. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  115. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  116. package/lib/aws/compute/machine-image/common.js +1 -1
  117. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  118. package/lib/aws/compute/method.js +1 -1
  119. package/lib/aws/compute/model.js +3 -3
  120. package/lib/aws/compute/nat.js +5 -5
  121. package/lib/aws/compute/network-acl-types.js +2 -2
  122. package/lib/aws/compute/network-acl.js +3 -3
  123. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  124. package/lib/aws/compute/nlb/network-listener.js +1 -1
  125. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  126. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  127. package/lib/aws/compute/peer.js +1 -1
  128. package/lib/aws/compute/placement-group.js +1 -1
  129. package/lib/aws/compute/port.js +1 -1
  130. package/lib/aws/compute/prefix-list.js +1 -1
  131. package/lib/aws/compute/requestvalidator.js +1 -1
  132. package/lib/aws/compute/resource.js +3 -3
  133. package/lib/aws/compute/restapi.js +9 -10
  134. package/lib/aws/compute/route.js +8 -8
  135. package/lib/aws/compute/runtime.d.ts +0 -1
  136. package/lib/aws/compute/runtime.js +5 -36
  137. package/lib/aws/compute/scalable-target.js +1 -1
  138. package/lib/aws/compute/schedule.js +6 -12
  139. package/lib/aws/compute/security-group.js +1 -1
  140. package/lib/aws/compute/stage.js +8 -11
  141. package/lib/aws/compute/state-graph.js +1 -1
  142. package/lib/aws/compute/state-machine-fragment.js +1 -1
  143. package/lib/aws/compute/state-machine.js +4 -4
  144. package/lib/aws/compute/states/choice.js +1 -1
  145. package/lib/aws/compute/states/custom-state.js +1 -1
  146. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  147. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  148. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  149. package/lib/aws/compute/states/distributed-map.js +1 -1
  150. package/lib/aws/compute/states/fail.js +1 -1
  151. package/lib/aws/compute/states/map-base.js +1 -1
  152. package/lib/aws/compute/states/map.js +1 -1
  153. package/lib/aws/compute/states/parallel.js +1 -1
  154. package/lib/aws/compute/states/pass.js +2 -2
  155. package/lib/aws/compute/states/state.js +1 -1
  156. package/lib/aws/compute/states/succeed.js +1 -1
  157. package/lib/aws/compute/states/task-base.js +2 -2
  158. package/lib/aws/compute/states/task.js +1 -1
  159. package/lib/aws/compute/states/wait.js +2 -2
  160. package/lib/aws/compute/step-scaling-action.js +1 -1
  161. package/lib/aws/compute/step-scaling-policy.js +9 -14
  162. package/lib/aws/compute/stepfunctions-api.js +5 -6
  163. package/lib/aws/compute/subnet-v2.js +2 -2
  164. package/lib/aws/compute/subnet.js +1 -1
  165. package/lib/aws/compute/target-tracking-scaling-policy.js +9 -12
  166. package/lib/aws/compute/task-credentials.js +1 -1
  167. package/lib/aws/compute/task-input.js +1 -1
  168. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  169. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  170. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  171. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  172. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  173. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  174. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  175. package/lib/aws/compute/types.js +1 -1
  176. package/lib/aws/compute/usage-plan.js +1 -1
  177. package/lib/aws/compute/user-data.js +3 -3
  178. package/lib/aws/compute/volume.js +2 -2
  179. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  180. package/lib/aws/compute/vpc-endpoint.js +6 -6
  181. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  182. package/lib/aws/compute/vpc-link.js +1 -1
  183. package/lib/aws/compute/vpc-v2-base.js +1 -1
  184. package/lib/aws/compute/vpc-v2.js +2 -2
  185. package/lib/aws/compute/vpc.js +4 -4
  186. package/lib/aws/compute/vpn.js +3 -3
  187. package/lib/aws/cx-api.d.ts +1 -0
  188. package/lib/aws/cx-api.js +6 -0
  189. package/lib/aws/edge/certificate.js +1 -1
  190. package/lib/aws/edge/distribution.js +3 -3
  191. package/lib/aws/edge/dns-alias-record-targets.js +6 -6
  192. package/lib/aws/edge/dns-record.js +13 -13
  193. package/lib/aws/edge/dns-zone.d.ts +1 -1
  194. package/lib/aws/edge/dns-zone.js +8 -7
  195. package/lib/aws/edge/function.js +2 -2
  196. package/lib/aws/edge/key-value-store.js +4 -4
  197. package/lib/aws/edge/origin.js +3 -3
  198. package/lib/aws/edge/response-headers-policy.js +1 -1
  199. package/lib/aws/encryption/alias.js +1 -1
  200. package/lib/aws/encryption/key.js +1 -1
  201. package/lib/aws/encryption/via-service-principal.js +1 -1
  202. package/lib/aws/iam/grant.js +2 -2
  203. package/lib/aws/iam/group.js +1 -1
  204. package/lib/aws/iam/instance-profile.js +1 -1
  205. package/lib/aws/iam/managed-policy.js +1 -1
  206. package/lib/aws/iam/oidc-provider.js +1 -1
  207. package/lib/aws/iam/policy-document.js +1 -1
  208. package/lib/aws/iam/policy-statement.js +1 -1
  209. package/lib/aws/iam/policy.js +1 -1
  210. package/lib/aws/iam/principals.js +20 -20
  211. package/lib/aws/iam/role.js +1 -1
  212. package/lib/aws/iam/saml-provider.js +2 -2
  213. package/lib/aws/iam/unknown-principal.js +1 -1
  214. package/lib/aws/iam/user.js +1 -1
  215. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  216. package/lib/aws/network/subnet-group.js +3 -3
  217. package/lib/aws/network/subnet.js +4 -4
  218. package/lib/aws/notify/archive.js +1 -1
  219. package/lib/aws/notify/connection.js +3 -3
  220. package/lib/aws/notify/event-bus.d.ts +19 -0
  221. package/lib/aws/notify/event-bus.js +22 -26
  222. package/lib/aws/notify/event-pattern.js +1 -1
  223. package/lib/aws/notify/input.js +2 -2
  224. package/lib/aws/notify/kinesis-stream.js +1 -1
  225. package/lib/aws/notify/notification-rule.js +1 -1
  226. package/lib/aws/notify/policy.js +1 -1
  227. package/lib/aws/notify/queue-policy.js +1 -1
  228. package/lib/aws/notify/queue.js +1 -1
  229. package/lib/aws/notify/resource-policy.js +1 -1
  230. package/lib/aws/notify/rule.js +1 -1
  231. package/lib/aws/notify/schedule.js +1 -1
  232. package/lib/aws/notify/subscription-filter.js +7 -8
  233. package/lib/aws/notify/subscription.js +23 -25
  234. package/lib/aws/notify/subscriptions/email.js +1 -1
  235. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  236. package/lib/aws/notify/subscriptions/sms.js +1 -1
  237. package/lib/aws/notify/subscriptions/sqs.js +1 -1
  238. package/lib/aws/notify/subscriptions/url.js +1 -1
  239. package/lib/aws/notify/targets/event-bus.js +1 -1
  240. package/lib/aws/notify/targets/function.js +1 -1
  241. package/lib/aws/notify/targets/log-group.js +2 -2
  242. package/lib/aws/notify/targets/sqs.js +1 -1
  243. package/lib/aws/notify/targets/state-machine.js +1 -1
  244. package/lib/aws/notify/topic-base.js +4 -4
  245. package/lib/aws/notify/topic.js +1 -1
  246. package/lib/aws/region-lookup.d.ts +8 -0
  247. package/lib/aws/region-lookup.js +104 -0
  248. package/lib/aws/storage/assets/image-asset.js +8 -12
  249. package/lib/aws/storage/assets/s3.js +4 -4
  250. package/lib/aws/storage/auth-token.js +2 -2
  251. package/lib/aws/storage/billing.js +1 -1
  252. package/lib/aws/storage/bucket-notifications.js +1 -1
  253. package/lib/aws/storage/bucket-policy.js +1 -1
  254. package/lib/aws/storage/bucket-source.js +1 -1
  255. package/lib/aws/storage/bucket.js +27 -24
  256. package/lib/aws/storage/capacity.js +1 -1
  257. package/lib/aws/storage/ecr-repository.js +19 -32
  258. package/lib/aws/storage/encryption.js +1 -1
  259. package/lib/aws/storage/notification-targets/function.js +1 -1
  260. package/lib/aws/storage/notification-targets/queue.js +1 -1
  261. package/lib/aws/storage/origin-access-identity.js +1 -1
  262. package/lib/aws/storage/parameter.js +2 -2
  263. package/lib/aws/storage/table.js +50 -101
  264. package/lib/aws/storage/util.d.ts +0 -10
  265. package/lib/aws/storage/util.js +4 -91
  266. package/lib/bundling.js +7 -6
  267. package/lib/construct-base.js +2 -2
  268. package/lib/duration.js +1 -1
  269. package/lib/errors.js +5 -3
  270. package/lib/expiration.js +1 -1
  271. package/lib/fs/ignore.js +4 -4
  272. package/lib/fs/index.js +1 -1
  273. package/lib/index.d.ts +1 -0
  274. package/lib/index.js +2 -1
  275. package/lib/private/asset-staging.js +3 -2
  276. package/lib/size.js +1 -1
  277. package/lib/stack-base.d.ts +21 -5
  278. package/lib/stack-base.js +68 -5
  279. package/lib/terra-func.js +1 -1
  280. package/lib/time-zone.js +1 -1
  281. package/package.json +3 -1
  282. package/lib/aws/compute/lb-shared/access-logs-accounts.d.ts +0 -7
  283. package/lib/aws/compute/lb-shared/access-logs-accounts.js +0 -46
  284. package/lib/aws/partition.d.ts +0 -21
  285. package/lib/aws/partition.js +0 -42
@@ -1,21 +0,0 @@
1
- export declare enum Partition {
2
- Default = "aws",
3
- Cn = "aws-cn",
4
- UsGov = "aws-us-gov",
5
- UsIso = "aws-iso",
6
- UsIsoB = "aws-iso-b",
7
- UsIsoF = "aws-iso-f",
8
- EuIsoE = "aws-iso-e"
9
- }
10
- export declare function partitionLookup(region: string): {
11
- partition: Partition;
12
- domainSuffix: string;
13
- };
14
- interface Region {
15
- partition: Partition;
16
- domainSuffix: string;
17
- }
18
- export declare const PARTITION_MAP: {
19
- [region: string]: Region;
20
- };
21
- export {};
@@ -1,42 +0,0 @@
1
- "use strict";
2
- // not exported on purpose for JSII compatibility
3
- // NOTE: this file should be under core/private ...
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.PARTITION_MAP = exports.Partition = void 0;
6
- exports.partitionLookup = partitionLookup;
7
- const cdktf_1 = require("cdktf");
8
- // JSII requires enum members to be ALL_CAPS
9
- var Partition;
10
- (function (Partition) {
11
- Partition["Default"] = "aws";
12
- Partition["Cn"] = "aws-cn";
13
- Partition["UsGov"] = "aws-us-gov";
14
- Partition["UsIso"] = "aws-iso";
15
- Partition["UsIsoB"] = "aws-iso-b";
16
- Partition["UsIsoF"] = "aws-iso-f";
17
- Partition["EuIsoE"] = "aws-iso-e";
18
- })(Partition || (exports.Partition = Partition = {}));
19
- function partitionLookup(region) {
20
- if (cdktf_1.Token.isUnresolved(region)) {
21
- throw new Error("Cannot determine region partition for unresolved region");
22
- }
23
- let partition = exports.PARTITION_MAP.default.partition;
24
- let domainSuffix = exports.PARTITION_MAP.default.domainSuffix;
25
- for (const key in exports.PARTITION_MAP) {
26
- if (region.startsWith(key)) {
27
- partition = exports.PARTITION_MAP[key].partition;
28
- domainSuffix = exports.PARTITION_MAP[key].domainSuffix;
29
- }
30
- }
31
- return { partition, domainSuffix };
32
- }
33
- exports.PARTITION_MAP = {
34
- default: { partition: Partition.Default, domainSuffix: "amazonaws.com" },
35
- "cn-": { partition: Partition.Cn, domainSuffix: "amazonaws.com.cn" },
36
- "us-gov-": { partition: Partition.UsGov, domainSuffix: "amazonaws.com" },
37
- "us-iso-": { partition: Partition.UsIso, domainSuffix: "c2s.ic.gov" },
38
- "us-isob-": { partition: Partition.UsIsoB, domainSuffix: "sc2s.sgov.gov" },
39
- "us-isof-": { partition: Partition.UsIsoF, domainSuffix: "csp.hci.ic.gov" },
40
- "eu-isoe-": { partition: Partition.EuIsoE, domainSuffix: "cloud.adc-e.uk" },
41
- };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGl0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3cy9wYXJ0aXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlEQUFpRDtBQUNqRCxtREFBbUQ7OztBQWVuRCwwQ0FpQkM7QUE5QkQsaUNBQThCO0FBRTlCLDRDQUE0QztBQUM1QyxJQUFZLFNBUVg7QUFSRCxXQUFZLFNBQVM7SUFDbkIsNEJBQWUsQ0FBQTtJQUNmLDBCQUFhLENBQUE7SUFDYixpQ0FBb0IsQ0FBQTtJQUNwQiw4QkFBaUIsQ0FBQTtJQUNqQixpQ0FBb0IsQ0FBQTtJQUNwQixpQ0FBb0IsQ0FBQTtJQUNwQixpQ0FBb0IsQ0FBQTtBQUN0QixDQUFDLEVBUlcsU0FBUyx5QkFBVCxTQUFTLFFBUXBCO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLE1BQWM7SUFJNUMsSUFBSSxhQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFDRCxJQUFJLFNBQVMsR0FBRyxxQkFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDaEQsSUFBSSxZQUFZLEdBQUcscUJBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBRXRELEtBQUssTUFBTSxHQUFHLElBQUkscUJBQWEsRUFBRSxDQUFDO1FBQ2hDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNCLFNBQVMsR0FBRyxxQkFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6QyxZQUFZLEdBQUcscUJBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3JDLENBQUM7QUFNWSxRQUFBLGFBQWEsR0FBaUM7SUFDekQsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRTtJQUN4RSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUU7SUFDcEUsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRTtJQUN4RSxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFO0lBQ3JFLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUU7SUFDMUUsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFO0lBQzNFLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRTtDQUM1RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbm90IGV4cG9ydGVkIG9uIHB1cnBvc2UgZm9yIEpTSUkgY29tcGF0aWJpbGl0eVxuLy8gTk9URTogdGhpcyBmaWxlIHNob3VsZCBiZSB1bmRlciBjb3JlL3ByaXZhdGUgLi4uXG5cbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5cbi8vIEpTSUkgcmVxdWlyZXMgZW51bSBtZW1iZXJzIHRvIGJlIEFMTF9DQVBTXG5leHBvcnQgZW51bSBQYXJ0aXRpb24ge1xuICBEZWZhdWx0ID0gXCJhd3NcIixcbiAgQ24gPSBcImF3cy1jblwiLFxuICBVc0dvdiA9IFwiYXdzLXVzLWdvdlwiLFxuICBVc0lzbyA9IFwiYXdzLWlzb1wiLFxuICBVc0lzb0IgPSBcImF3cy1pc28tYlwiLFxuICBVc0lzb0YgPSBcImF3cy1pc28tZlwiLFxuICBFdUlzb0UgPSBcImF3cy1pc28tZVwiLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFydGl0aW9uTG9va3VwKHJlZ2lvbjogc3RyaW5nKToge1xuICBwYXJ0aXRpb246IFBhcnRpdGlvbjtcbiAgZG9tYWluU3VmZml4OiBzdHJpbmc7XG59IHtcbiAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChyZWdpb24pKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGRldGVybWluZSByZWdpb24gcGFydGl0aW9uIGZvciB1bnJlc29sdmVkIHJlZ2lvblwiKTtcbiAgfVxuICBsZXQgcGFydGl0aW9uID0gUEFSVElUSU9OX01BUC5kZWZhdWx0LnBhcnRpdGlvbjtcbiAgbGV0IGRvbWFpblN1ZmZpeCA9IFBBUlRJVElPTl9NQVAuZGVmYXVsdC5kb21haW5TdWZmaXg7XG5cbiAgZm9yIChjb25zdCBrZXkgaW4gUEFSVElUSU9OX01BUCkge1xuICAgIGlmIChyZWdpb24uc3RhcnRzV2l0aChrZXkpKSB7XG4gICAgICBwYXJ0aXRpb24gPSBQQVJUSVRJT05fTUFQW2tleV0ucGFydGl0aW9uO1xuICAgICAgZG9tYWluU3VmZml4ID0gUEFSVElUSU9OX01BUFtrZXldLmRvbWFpblN1ZmZpeDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgcGFydGl0aW9uLCBkb21haW5TdWZmaXggfTtcbn1cblxuaW50ZXJmYWNlIFJlZ2lvbiB7XG4gIHBhcnRpdGlvbjogUGFydGl0aW9uO1xuICBkb21haW5TdWZmaXg6IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBQQVJUSVRJT05fTUFQOiB7IFtyZWdpb246IHN0cmluZ106IFJlZ2lvbiB9ID0ge1xuICBkZWZhdWx0OiB7IHBhcnRpdGlvbjogUGFydGl0aW9uLkRlZmF1bHQsIGRvbWFpblN1ZmZpeDogXCJhbWF6b25hd3MuY29tXCIgfSxcbiAgXCJjbi1cIjogeyBwYXJ0aXRpb246IFBhcnRpdGlvbi5DbiwgZG9tYWluU3VmZml4OiBcImFtYXpvbmF3cy5jb20uY25cIiB9LFxuICBcInVzLWdvdi1cIjogeyBwYXJ0aXRpb246IFBhcnRpdGlvbi5Vc0dvdiwgZG9tYWluU3VmZml4OiBcImFtYXpvbmF3cy5jb21cIiB9LFxuICBcInVzLWlzby1cIjogeyBwYXJ0aXRpb246IFBhcnRpdGlvbi5Vc0lzbywgZG9tYWluU3VmZml4OiBcImMycy5pYy5nb3ZcIiB9LFxuICBcInVzLWlzb2ItXCI6IHsgcGFydGl0aW9uOiBQYXJ0aXRpb24uVXNJc29CLCBkb21haW5TdWZmaXg6IFwic2Mycy5zZ292LmdvdlwiIH0sXG4gIFwidXMtaXNvZi1cIjogeyBwYXJ0aXRpb246IFBhcnRpdGlvbi5Vc0lzb0YsIGRvbWFpblN1ZmZpeDogXCJjc3AuaGNpLmljLmdvdlwiIH0sXG4gIFwiZXUtaXNvZS1cIjogeyBwYXJ0aXRpb246IFBhcnRpdGlvbi5FdUlzb0UsIGRvbWFpblN1ZmZpeDogXCJjbG91ZC5hZGMtZS51a1wiIH0sXG59O1xuIl19