terraconstructs 0.1.2 → 0.1.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 (273) hide show
  1. package/.jsii +47 -47
  2. package/.mise.toml +1 -1
  3. package/.nvmrc +1 -1
  4. package/lib/asset-staging.js +1 -1
  5. package/lib/aws/arn.js +1 -1
  6. package/lib/aws/aws-asset-manager.js +1 -1
  7. package/lib/aws/aws-construct.js +1 -1
  8. package/lib/aws/aws-stack.js +1 -1
  9. package/lib/aws/aws-tags.js +2 -2
  10. package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
  11. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  12. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  13. package/lib/aws/cloudwatch/actions/sns.js +1 -1
  14. package/lib/aws/cloudwatch/actions/ssm.js +2 -2
  15. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  16. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  17. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  18. package/lib/aws/cloudwatch/alarm.js +1 -1
  19. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  20. package/lib/aws/cloudwatch/dashboard.js +1 -1
  21. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  22. package/lib/aws/cloudwatch/graph.js +8 -8
  23. package/lib/aws/cloudwatch/layout.js +3 -3
  24. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  25. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  26. package/lib/aws/cloudwatch/log-group.js +1 -1
  27. package/lib/aws/cloudwatch/log-query.js +1 -1
  28. package/lib/aws/cloudwatch/log-stream.js +1 -1
  29. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  30. package/lib/aws/cloudwatch/metric.js +2 -2
  31. package/lib/aws/cloudwatch/pattern.js +3 -3
  32. package/lib/aws/cloudwatch/policy.js +1 -1
  33. package/lib/aws/cloudwatch/query-definition.js +2 -2
  34. package/lib/aws/cloudwatch/stats.js +1 -1
  35. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  36. package/lib/aws/cloudwatch/text.js +1 -1
  37. package/lib/aws/cloudwatch/variable.js +3 -3
  38. package/lib/aws/cloudwatch/widget.js +1 -1
  39. package/lib/aws/compute/access-log.js +4 -4
  40. package/lib/aws/compute/activity.js +1 -1
  41. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  42. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  43. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  44. package/lib/aws/compute/alb/application-listener.js +1 -1
  45. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  46. package/lib/aws/compute/alb/application-target-group.js +1 -1
  47. package/lib/aws/compute/alb/conditions.js +1 -1
  48. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  49. package/lib/aws/compute/alb/trust-store.js +1 -1
  50. package/lib/aws/compute/api-definition.js +5 -5
  51. package/lib/aws/compute/api-key.js +2 -2
  52. package/lib/aws/compute/architecture.js +1 -1
  53. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  54. package/lib/aws/compute/authorizer.js +1 -1
  55. package/lib/aws/compute/authorizers/identity-source.js +1 -1
  56. package/lib/aws/compute/authorizers/lambda.js +2 -2
  57. package/lib/aws/compute/base-path-mapping.js +1 -1
  58. package/lib/aws/compute/base-scalable-attribute.js +1 -1
  59. package/lib/aws/compute/bastion-host.js +1 -1
  60. package/lib/aws/compute/chain.js +1 -1
  61. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  62. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  63. package/lib/aws/compute/client-vpn-route.js +2 -2
  64. package/lib/aws/compute/code.js +8 -8
  65. package/lib/aws/compute/condition.js +1 -1
  66. package/lib/aws/compute/connections.js +1 -1
  67. package/lib/aws/compute/cors.js +1 -1
  68. package/lib/aws/compute/deployment.js +2 -3
  69. package/lib/aws/compute/domain-name.js +1 -1
  70. package/lib/aws/compute/event-invoke-config.js +1 -1
  71. package/lib/aws/compute/event-source-filter.js +2 -2
  72. package/lib/aws/compute/event-source-mapping.js +1 -1
  73. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  74. package/lib/aws/compute/event-sources/s3.js +1 -1
  75. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  76. package/lib/aws/compute/event-sources/sqs.js +1 -1
  77. package/lib/aws/compute/fields.js +4 -4
  78. package/lib/aws/compute/function-alias.js +1 -1
  79. package/lib/aws/compute/function-base.js +2 -2
  80. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  81. package/lib/aws/compute/function-destinations/function.js +1 -1
  82. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  83. package/lib/aws/compute/function-nodejs/Dockerfile +55 -0
  84. package/lib/aws/compute/function-nodejs/function.js +1 -1
  85. package/lib/aws/compute/function-nodejs/util.d.ts +1 -1
  86. package/lib/aws/compute/function-url.js +1 -1
  87. package/lib/aws/compute/function.js +1 -1
  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 +1 -1
  93. package/lib/aws/compute/integrations/aws.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +2 -2
  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.d.ts +4 -0
  119. package/lib/aws/compute/method.js +20 -5
  120. package/lib/aws/compute/model.js +3 -3
  121. package/lib/aws/compute/nat.js +5 -5
  122. package/lib/aws/compute/network-acl-types.js +2 -2
  123. package/lib/aws/compute/network-acl.js +3 -3
  124. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  125. package/lib/aws/compute/nlb/network-listener.js +1 -1
  126. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  127. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  128. package/lib/aws/compute/peer.js +1 -1
  129. package/lib/aws/compute/placement-group.js +1 -1
  130. package/lib/aws/compute/port.js +1 -1
  131. package/lib/aws/compute/prefix-list.js +1 -1
  132. package/lib/aws/compute/requestvalidator.js +1 -1
  133. package/lib/aws/compute/resource.js +3 -3
  134. package/lib/aws/compute/restapi.js +8 -4
  135. package/lib/aws/compute/route.js +8 -8
  136. package/lib/aws/compute/runtime.js +1 -1
  137. package/lib/aws/compute/scalable-target.js +1 -1
  138. package/lib/aws/compute/schedule.js +1 -1
  139. package/lib/aws/compute/security-group.js +1 -1
  140. package/lib/aws/compute/stage.js +2 -2
  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 +1 -1
  162. package/lib/aws/compute/stepfunctions-api.js +1 -1
  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 +1 -1
  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/edge/certificate.js +1 -1
  188. package/lib/aws/edge/distribution.js +3 -3
  189. package/lib/aws/edge/dns-alias-record-targets.js +3 -3
  190. package/lib/aws/edge/dns-record.js +13 -13
  191. package/lib/aws/edge/dns-zone.js +1 -1
  192. package/lib/aws/edge/function.js +2 -2
  193. package/lib/aws/edge/key-value-store.js +4 -4
  194. package/lib/aws/edge/origin.js +3 -3
  195. package/lib/aws/edge/response-headers-policy.js +1 -1
  196. package/lib/aws/encryption/alias.js +1 -1
  197. package/lib/aws/encryption/key.js +1 -1
  198. package/lib/aws/encryption/via-service-principal.js +1 -1
  199. package/lib/aws/iam/grant.js +2 -2
  200. package/lib/aws/iam/group.js +1 -1
  201. package/lib/aws/iam/instance-profile.js +1 -1
  202. package/lib/aws/iam/managed-policy.js +1 -1
  203. package/lib/aws/iam/oidc-provider.js +1 -1
  204. package/lib/aws/iam/policy-document.js +1 -1
  205. package/lib/aws/iam/policy-statement.js +1 -1
  206. package/lib/aws/iam/policy.js +1 -1
  207. package/lib/aws/iam/principals.js +20 -20
  208. package/lib/aws/iam/role.js +1 -1
  209. package/lib/aws/iam/saml-provider.js +2 -2
  210. package/lib/aws/iam/unknown-principal.js +1 -1
  211. package/lib/aws/iam/user.js +1 -1
  212. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  213. package/lib/aws/network/subnet-group.js +3 -3
  214. package/lib/aws/network/subnet.js +4 -4
  215. package/lib/aws/notify/archive.js +1 -1
  216. package/lib/aws/notify/connection.js +3 -3
  217. package/lib/aws/notify/event-bus.js +3 -3
  218. package/lib/aws/notify/event-pattern.js +1 -1
  219. package/lib/aws/notify/input.js +2 -2
  220. package/lib/aws/notify/kinesis-stream.js +1 -1
  221. package/lib/aws/notify/notification-rule.js +1 -1
  222. package/lib/aws/notify/policy.js +1 -1
  223. package/lib/aws/notify/queue-policy.js +1 -1
  224. package/lib/aws/notify/queue.js +1 -1
  225. package/lib/aws/notify/resource-policy.js +1 -1
  226. package/lib/aws/notify/rule.js +1 -1
  227. package/lib/aws/notify/schedule.js +1 -1
  228. package/lib/aws/notify/subscription-filter.js +1 -1
  229. package/lib/aws/notify/subscription.js +4 -4
  230. package/lib/aws/notify/subscriptions/email.js +1 -1
  231. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  232. package/lib/aws/notify/subscriptions/sms.js +1 -1
  233. package/lib/aws/notify/subscriptions/sqs.js +1 -1
  234. package/lib/aws/notify/subscriptions/url.js +1 -1
  235. package/lib/aws/notify/targets/event-bus.js +1 -1
  236. package/lib/aws/notify/targets/function.js +1 -1
  237. package/lib/aws/notify/targets/log-group.js +2 -2
  238. package/lib/aws/notify/targets/sqs.js +1 -1
  239. package/lib/aws/notify/targets/state-machine.js +1 -1
  240. package/lib/aws/notify/topic-base.js +1 -1
  241. package/lib/aws/notify/topic.js +1 -1
  242. package/lib/aws/storage/assets/image-asset.js +3 -3
  243. package/lib/aws/storage/assets/s3.js +1 -1
  244. package/lib/aws/storage/auth-token.js +2 -2
  245. package/lib/aws/storage/billing.js +1 -1
  246. package/lib/aws/storage/bucket-notifications.js +1 -1
  247. package/lib/aws/storage/bucket-policy.js +1 -1
  248. package/lib/aws/storage/bucket-source.js +1 -1
  249. package/lib/aws/storage/bucket.js +2 -2
  250. package/lib/aws/storage/capacity.js +1 -1
  251. package/lib/aws/storage/ecr-repository.js +3 -3
  252. package/lib/aws/storage/encryption.js +1 -1
  253. package/lib/aws/storage/notification-targets/function.js +1 -1
  254. package/lib/aws/storage/notification-targets/queue.js +1 -1
  255. package/lib/aws/storage/origin-access-identity.js +1 -1
  256. package/lib/aws/storage/parameter.js +2 -2
  257. package/lib/aws/storage/table.js +3 -3
  258. package/lib/bundling.js +3 -3
  259. package/lib/construct-base.js +2 -2
  260. package/lib/duration.js +1 -1
  261. package/lib/expiration.js +1 -1
  262. package/lib/fs/ignore.js +4 -4
  263. package/lib/fs/index.js +1 -1
  264. package/lib/private/asset-staging.d.ts +1 -1
  265. package/lib/size.js +1 -1
  266. package/lib/stack-base.js +1 -1
  267. package/lib/terra-func.js +1 -1
  268. package/lib/time-zone.js +1 -1
  269. package/package.json +21 -22
  270. /package/node_modules/{minimatch/node_modules/brace-expansion → brace-expansion}/LICENSE +0 -0
  271. /package/node_modules/{minimatch/node_modules/brace-expansion → brace-expansion}/README.md +0 -0
  272. /package/node_modules/{minimatch/node_modules/brace-expansion → brace-expansion}/index.js +0 -0
  273. /package/node_modules/{minimatch/node_modules/brace-expansion → brace-expansion}/package.json +0 -0
@@ -72,7 +72,7 @@ class InstanceRequireImdsv2Aspect extends RequireImdsv2Aspect {
72
72
  }
73
73
  exports.InstanceRequireImdsv2Aspect = InstanceRequireImdsv2Aspect;
74
74
  _a = JSII_RTTI_SYMBOL_1;
75
- InstanceRequireImdsv2Aspect[_a] = { fqn: "terraconstructs.aws.compute.InstanceRequireImdsv2Aspect", version: "0.1.2" };
75
+ InstanceRequireImdsv2Aspect[_a] = { fqn: "terraconstructs.aws.compute.InstanceRequireImdsv2Aspect", version: "0.1.4" };
76
76
  /**
77
77
  * Aspect that applies IMDS configuration on EC2 Launch Template constructs.
78
78
  *
@@ -102,5 +102,5 @@ class LaunchTemplateRequireImdsv2Aspect extends RequireImdsv2Aspect {
102
102
  }
103
103
  exports.LaunchTemplateRequireImdsv2Aspect = LaunchTemplateRequireImdsv2Aspect;
104
104
  _b = JSII_RTTI_SYMBOL_1;
105
- LaunchTemplateRequireImdsv2Aspect[_b] = { fqn: "terraconstructs.aws.compute.LaunchTemplateRequireImdsv2Aspect", version: "0.1.2" };
105
+ LaunchTemplateRequireImdsv2Aspect[_b] = { fqn: "terraconstructs.aws.compute.LaunchTemplateRequireImdsv2Aspect", version: "0.1.4" };
106
106
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZS1pbWRzdjItYXNwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2FzcGVjdHMvcmVxdWlyZS1pbWRzdjItYXNwZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaUhBQWlIO0FBQ2pILHNEQUFxRDtBQUNyRCxpQ0FBNkM7QUFFN0MsK0NBQTJDO0FBQzNDLDBDQUF1QztBQUN2Qyx3REFBb0Q7QUFjcEQ7O0dBRUc7QUFDSCxNQUFlLG1CQUFtQjtJQUdoQyxZQUFZLEtBQWdDO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsZ0JBQWdCLElBQUksS0FBSyxDQUFDO0lBQzNELENBQUM7SUFJRDs7Ozs7T0FLRztJQUNPLElBQUksQ0FBQyxJQUFnQixFQUFFLE9BQWU7UUFDOUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkMsd0RBQXdEO1lBQ3hELG1CQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FDN0IsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQUUsQ0FDekUsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFtQkQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSwyQkFBNEIsU0FBUSxtQkFBbUI7SUFHbEUsWUFBWSxLQUF3QztRQUNsRCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsNkJBQTZCO1lBQ2hDLEtBQUssRUFBRSw2QkFBNkIsSUFBSSxLQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFnQjtRQUNwQixJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksbUJBQVEsQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FDUCxJQUFJLEVBQ0osNEZBQTRGLENBQzdGLENBQUM7WUFDRixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sRUFBRSxHQUFHLElBQUksNkJBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ25FLGVBQWUsRUFBRTtnQkFDZixVQUFVLEVBQUUsVUFBVTthQUN2QjtTQUNGLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxJQUFJLEdBQUcsb0JBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztZQUM5QixJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUk7WUFDYixPQUFPLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7U0FDckMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLElBQUksQ0FBQyxJQUFnQixFQUFFLE9BQWU7UUFDOUMsSUFBSSxJQUFJLENBQUMsNkJBQTZCLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7O0FBckNILGtFQXNDQzs7O0FBUUQ7Ozs7O0dBS0c7QUFDSCxNQUFhLGlDQUFrQyxTQUFRLG1CQUFtQjtJQUN4RSxZQUFZLEtBQThDO1FBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBZ0I7UUFDcEIsSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLGdDQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQy9CLFVBQVUsQ0FDc0IsQ0FBQztRQUNuQyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7UUFDaEQsbUVBQW1FO1FBQ25FLG9EQUFvRDtRQUNwRCwyRUFBMkU7UUFDM0UsWUFBWTtRQUNaLElBQUk7UUFFSixFQUFFLENBQUMsa0JBQWtCLENBQUM7WUFDcEIsR0FBRyxlQUFlO1lBQ2xCLFVBQVUsRUFBRSxVQUFVO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBeEJILDhFQXlCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lYzIvbGliL2FzcGVjdHMvcmVxdWlyZS1pbWRzdjItYXNwZWN0LnRzXG5pbXBvcnQgeyBsYXVuY2hUZW1wbGF0ZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBJQXNwZWN0LCBBbm5vdGF0aW9ucyB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi8uLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCB7IEluc3RhbmNlIH0gZnJvbSBcIi4uL2luc3RhbmNlXCI7XG5pbXBvcnQgeyBMYXVuY2hUZW1wbGF0ZSB9IGZyb20gXCIuLi9sYXVuY2gtdGVtcGxhdGVcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBgUmVxdWlyZUltZHN2MkFzcGVjdGAuXG4gKi9cbmludGVyZmFjZSBSZXF1aXJlSW1kc3YyQXNwZWN0UHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB3YXJuaW5nIGFubm90YXRpb25zIGZyb20gdGhpcyBBc3BlY3Qgc2hvdWxkIGJlIHN1cHByZXNzZWQgb3Igbm90LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1dhcm5pbmdzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBBc3BlY3QgdGhhdCBtYWtlcyBJTURTdjIgcmVxdWlyZWQuXG4gKi9cbmFic3RyYWN0IGNsYXNzIFJlcXVpcmVJbWRzdjJBc3BlY3QgaW1wbGVtZW50cyBJQXNwZWN0IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1cHByZXNzV2FybmluZ3M6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJvcHM/OiBSZXF1aXJlSW1kc3YyQXNwZWN0UHJvcHMpIHtcbiAgICB0aGlzLnN1cHByZXNzV2FybmluZ3MgPSBwcm9wcz8uc3VwcHJlc3NXYXJuaW5ncyA/PyBmYWxzZTtcbiAgfVxuXG4gIGFic3RyYWN0IHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgd2FybmluZyBhbm5vdGF0aW9uIHRvIGEgbm9kZSwgdW5sZXNzIGBzdXBwcmVzc1dhcm5pbmdzYCBpcyB0cnVlLlxuICAgKlxuICAgKiBAcGFyYW0gbm9kZSBUaGUgc2NvcGUgdG8gYWRkIHRoZSB3YXJuaW5nIHRvLlxuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlLlxuICAgKi9cbiAgcHJvdGVjdGVkIHdhcm4obm9kZTogSUNvbnN0cnVjdCwgbWVzc2FnZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuc3VwcHJlc3NXYXJuaW5ncyAhPT0gdHJ1ZSkge1xuICAgICAgLy8gYEBhd3MtY2RrL2F3cy1lYzI6aW1kc3YyJHtSZXF1aXJlSW1kc3YyQXNwZWN0Lm5hbWV9YCxcbiAgICAgIEFubm90YXRpb25zLm9mKG5vZGUpLmFkZFdhcm5pbmcoXG4gICAgICAgIGAke1JlcXVpcmVJbWRzdjJBc3BlY3QubmFtZX0gZmFpbGVkIG9uIG5vZGUgJHtub2RlLm5vZGUuaWR9OiAke21lc3NhZ2V9YCxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYEluc3RhbmNlUmVxdWlyZUltZHN2MkFzcGVjdGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFuY2VSZXF1aXJlSW1kc3YyQXNwZWN0UHJvcHNcbiAgZXh0ZW5kcyBSZXF1aXJlSW1kc3YyQXNwZWN0UHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB3YXJuaW5ncyB0aGF0IHdvdWxkIGJlIHJhaXNlZCB3aGVuIGFuIEluc3RhbmNlIGlzIGFzc29jaWF0ZWQgd2l0aCBhbiBleGlzdGluZyBMYXVuY2ggVGVtcGxhdGVcbiAgICogc2hvdWxkIGJlIHN1cHByZXNzZWQgb3Igbm90LlxuICAgKlxuICAgKiBZb3UgY2FuIHNldCB0aGlzIHRvIGB0cnVlYCBpZiBgTGF1bmNoVGVtcGxhdGVJbWRzQXNwZWN0YCBpcyBiZWluZyB1c2VkIGFsb25nc2lkZSB0aGlzIEFzcGVjdCB0b1xuICAgKiBzdXBwcmVzcyBmYWxzZS1wb3NpdGl2ZSB3YXJuaW5ncyBiZWNhdXNlIGFueSBMYXVuY2ggVGVtcGxhdGVzIGFzc29jaWF0ZWQgd2l0aCBJbnN0YW5jZXMgd2lsbCBzdGlsbCBiZSBjb3ZlcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0xhdW5jaFRlbXBsYXRlV2FybmluZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQXNwZWN0IHRoYXQgYXBwbGllcyBJTURTIGNvbmZpZ3VyYXRpb24gb24gRUMyIEluc3RhbmNlIGNvbnN0cnVjdHMuXG4gKlxuICogVGhpcyBhc3BlY3QgY29uZmlndXJlcyBJTURTIG9uIGFuIEVDMiBpbnN0YW5jZSBieSBjcmVhdGluZyBhIExhdW5jaCBUZW1wbGF0ZSB3aXRoIHRoZVxuICogSU1EUyBjb25maWd1cmF0aW9uIGFuZCBhc3NvY2lhdGluZyB0aGF0IExhdW5jaCBUZW1wbGF0ZSB3aXRoIHRoZSBpbnN0YW5jZS4gSWYgYW4gSW5zdGFuY2VcbiAqIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIGEgTGF1bmNoIFRlbXBsYXRlLCBhIHdhcm5pbmcgd2lsbCAob3B0aW9uYWxseSkgYmUgYWRkZWQgdG8gdGhlXG4gKiBjb25zdHJ1Y3Qgbm9kZSBhbmQgaXQgd2lsbCBiZSBza2lwcGVkLlxuICpcbiAqIFRvIGNvdmVyIEluc3RhbmNlcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCBMYXVuY2ggVGVtcGxhdGVzLCB1c2UgYExhdW5jaFRlbXBsYXRlSW1kc0FzcGVjdGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnN0YW5jZVJlcXVpcmVJbWRzdjJBc3BlY3QgZXh0ZW5kcyBSZXF1aXJlSW1kc3YyQXNwZWN0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdXBwcmVzc0xhdW5jaFRlbXBsYXRlV2FybmluZzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcz86IEluc3RhbmNlUmVxdWlyZUltZHN2MkFzcGVjdFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3VwcHJlc3NMYXVuY2hUZW1wbGF0ZVdhcm5pbmcgPVxuICAgICAgcHJvcHM/LnN1cHByZXNzTGF1bmNoVGVtcGxhdGVXYXJuaW5nID8/IGZhbHNlO1xuICB9XG5cbiAgdmlzaXQobm9kZTogSUNvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmICghKG5vZGUgaW5zdGFuY2VvZiBJbnN0YW5jZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG5vZGUuaW5zdGFuY2UubGF1bmNoVGVtcGxhdGVJbnB1dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLndhcm4oXG4gICAgICAgIG5vZGUsXG4gICAgICAgIFwiQ2Fubm90IHRvZ2dsZSBJTURTdjEgYmVjYXVzZSB0aGlzIEluc3RhbmNlIGlzIGFzc29jaWF0ZWQgd2l0aCBhbiBleGlzdGluZyBMYXVuY2ggVGVtcGxhdGUuXCIsXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGx0ID0gbmV3IGxhdW5jaFRlbXBsYXRlLkxhdW5jaFRlbXBsYXRlKG5vZGUsIFwiTGF1bmNoVGVtcGxhdGVcIiwge1xuICAgICAgbWV0YWRhdGFPcHRpb25zOiB7XG4gICAgICAgIGh0dHBUb2tlbnM6IFwicmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbHQubmFtZSA9IEF3c1N0YWNrLnVuaXF1ZUlkKGx0KTtcbiAgICBub2RlLmluc3RhbmNlLnB1dExhdW5jaFRlbXBsYXRlKHtcbiAgICAgIG5hbWU6IGx0Lm5hbWUsXG4gICAgICB2ZXJzaW9uOiBsdC5sYXRlc3RWZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgd2Fybihub2RlOiBJQ29uc3RydWN0LCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zdXBwcmVzc0xhdW5jaFRlbXBsYXRlV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgc3VwZXIud2Fybihub2RlLCBtZXNzYWdlKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBgTGF1bmNoVGVtcGxhdGVSZXF1aXJlSW1kc3YyQXNwZWN0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hUZW1wbGF0ZVJlcXVpcmVJbWRzdjJBc3BlY3RQcm9wc1xuICBleHRlbmRzIFJlcXVpcmVJbWRzdjJBc3BlY3RQcm9wcyB7fVxuXG4vKipcbiAqIEFzcGVjdCB0aGF0IGFwcGxpZXMgSU1EUyBjb25maWd1cmF0aW9uIG9uIEVDMiBMYXVuY2ggVGVtcGxhdGUgY29uc3RydWN0cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy9sYXVuY2hfdGVtcGxhdGUjbWV0YWRhdGEtb3B0aW9uc1xuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvZWMyLWluc3RhbmNlLW1ldGFkYXRhLmh0bWxcbiAqL1xuZXhwb3J0IGNsYXNzIExhdW5jaFRlbXBsYXRlUmVxdWlyZUltZHN2MkFzcGVjdCBleHRlbmRzIFJlcXVpcmVJbWRzdjJBc3BlY3Qge1xuICBjb25zdHJ1Y3Rvcihwcm9wcz86IExhdW5jaFRlbXBsYXRlUmVxdWlyZUltZHN2MkFzcGVjdFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG5cbiAgdmlzaXQobm9kZTogSUNvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmICghKG5vZGUgaW5zdGFuY2VvZiBMYXVuY2hUZW1wbGF0ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsdCA9IG5vZGUubm9kZS50cnlGaW5kQ2hpbGQoXG4gICAgICBcIlJlc291cmNlXCIsXG4gICAgKSBhcyBsYXVuY2hUZW1wbGF0ZS5MYXVuY2hUZW1wbGF0ZTtcbiAgICBjb25zdCBtZXRhZGF0YU9wdGlvbnMgPSBsdC5tZXRhZGF0YU9wdGlvbnNJbnB1dDtcbiAgICAvLyAvLyBtZXRhRGF0YU9wdGlvbnMgaXMgQ29tcGxleExpc3RPYmplY3QgYW5kIGNhbiBuZXZlciBiZSBhIHRva2VuXG4gICAgLy8gaWYgKFRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUobWV0YWRhdGFPcHRpb25zKSkge1xuICAgIC8vICAgdGhpcy53YXJuKG5vZGUsIFwiTGF1bmNoVGVtcGxhdGVEYXRhLk1ldGFkYXRhT3B0aW9ucyBpcyBhIENESyB0b2tlbi5cIik7XG4gICAgLy8gICByZXR1cm47XG4gICAgLy8gfVxuXG4gICAgbHQucHV0TWV0YWRhdGFPcHRpb25zKHtcbiAgICAgIC4uLm1ldGFkYXRhT3B0aW9ucyxcbiAgICAgIGh0dHBUb2tlbnM6IFwicmVxdWlyZWRcIixcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -24,5 +24,5 @@ class Authorizer extends aws_construct_1.AwsConstructBase {
24
24
  }
25
25
  exports.Authorizer = Authorizer;
26
26
  _a = JSII_RTTI_SYMBOL_1;
27
- Authorizer[_a] = { fqn: "terraconstructs.aws.compute.Authorizer", version: "0.1.2" };
27
+ Authorizer[_a] = { fqn: "terraconstructs.aws.compute.Authorizer", version: "0.1.4" };
28
28
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9hdXRob3JpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EscUNBQTZDO0FBRTdDLG9EQUF1RTtBQUV2RSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQ2xDLDRDQUE0QyxDQUM3QyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFzQixVQUNwQixTQUFRLGdDQUFnQjtJQUd4Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBTTtRQUMvQixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLGlCQUFpQixJQUFJLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBTUQsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFKVixzQkFBaUIsR0FDL0IsMEJBQWlCLENBQUMsTUFBTSxDQUFDO1FBS3pCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7QUFuQkgsZ0NBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF1dGhvcml6YXRpb25UeXBlIH0gZnJvbSBcIi4vbWV0aG9kXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSB9IGZyb20gXCIuL3Jlc3RhcGlcIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdEJhc2UsIEF3c0NvbnN0cnVjdFByb3BzIH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcblxuY29uc3QgQVVUSE9SSVpFUl9TWU1CT0wgPSBTeW1ib2wuZm9yKFxuICBcInRlcnJhY29uc3RydWN0cy9saWIvYXdzL2NvbXB1dGUuQXV0aG9yaXplclwiLFxuKTtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhbGwgY3VzdG9tIGF1dGhvcml6ZXJzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdXRob3JpemVyXG4gIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZVxuICBpbXBsZW1lbnRzIElBdXRob3JpemVyXG57XG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGFuIEF1dGhvcml6ZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzQXV0aG9yaXplcih4OiBhbnkpOiB4IGlzIEF1dGhvcml6ZXIge1xuICAgIHJldHVybiB4ICE9PSBudWxsICYmIHR5cGVvZiB4ID09PSBcIm9iamVjdFwiICYmIEFVVEhPUklaRVJfU1lNQk9MIGluIHg7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYXV0aG9yaXplcklkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBhdXRob3JpemF0aW9uVHlwZT86IEF1dGhvcml6YXRpb25UeXBlID1cbiAgICBBdXRob3JpemF0aW9uVHlwZS5DVVNUT007XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogQXdzQ29uc3RydWN0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBBVVRIT1JJWkVSX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgYXV0aG9yaXplciBpcyB1c2VkIGZyb20gYSBzcGVjaWZpYyBSRVNUIEFQSS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgX2F0dGFjaFRvQXBpKHJlc3RBcGk6IElSZXN0QXBpKTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIEFQSSBHYXRld2F5IGF1dGhvcml6ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUF1dGhvcml6ZXIge1xuICAvKipcbiAgICogVGhlIGF1dGhvcml6ZXIgSUQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6ZXJJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYXV0aG9yaXphdGlvbiB0eXBlIG9mIHRoaXMgYXV0aG9yaXplci5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6YXRpb25UeXBlPzogQXV0aG9yaXphdGlvblR5cGU7XG59XG4iXX0=
@@ -57,5 +57,5 @@ class IdentitySource {
57
57
  }
58
58
  exports.IdentitySource = IdentitySource;
59
59
  _a = JSII_RTTI_SYMBOL_1;
60
- IdentitySource[_a] = { fqn: "terraconstructs.aws.compute.IdentitySource", version: "0.1.2" };
60
+ IdentitySource[_a] = { fqn: "terraconstructs.aws.compute.IdentitySource", version: "0.1.4" };
61
61
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHktc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2F1dGhvcml6ZXJzL2lkZW50aXR5LXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNFQUFzRTtBQUV0RTs7Ozs7R0FLRztBQUNILE1BQWEsY0FBYztJQUN6Qjs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBa0I7UUFDckMsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBbUI7UUFDM0MsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBcUI7UUFDL0MsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBZTtRQUNuQyxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQWMsRUFBRSxJQUFZO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNuQixxQ0FBcUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxPQUFPLEdBQUcsSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7O0FBaERILHdDQWlEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9saWIvZXJyb3JzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGlkZW50aXR5IHNvdXJjZS5cbiAqXG4gKiBUaGUgc291cmNlIGNhbiBiZSBzcGVjaWZpZWQgZWl0aGVyIGFzIGEgbGl0ZXJhbCB2YWx1ZSAoZS5nOiBgQXV0aGApIHdoaWNoXG4gKiBjYW5ub3QgYmUgYmxhbmssIG9yIGFzIGFuIHVucmVzb2x2ZWQgc3RyaW5nIHRva2VuLlxuICovXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlTb3VyY2Uge1xuICAvKipcbiAgICogUHJvdmlkZXMgYSBwcm9wZXJseSBmb3JtYXR0ZWQgaGVhZGVyIGlkZW50aXR5IHNvdXJjZS5cbiAgICogQHBhcmFtIGhlYWRlck5hbWUgdGhlIG5hbWUgb2YgdGhlIGhlYWRlciB0aGUgYElkZW50aXR5U291cmNlYCB3aWxsIHJlcHJlc2VudC5cbiAgICpcbiAgICogQHJldHVybnMgYSBoZWFkZXIgaWRlbnRpdHkgc291cmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBoZWFkZXIoaGVhZGVyTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSWRlbnRpdHlTb3VyY2UudG9TdHJpbmcoaGVhZGVyTmFtZSwgXCJtZXRob2QucmVxdWVzdC5oZWFkZXJcIik7XG4gIH1cblxuICAvKipcbiAgICogUHJvdmlkZXMgYSBwcm9wZXJseSBmb3JtYXR0ZWQgcXVlcnkgc3RyaW5nIGlkZW50aXR5IHNvdXJjZS5cbiAgICogQHBhcmFtIHF1ZXJ5U3RyaW5nIHRoZSBuYW1lIG9mIHRoZSBxdWVyeSBzdHJpbmcgdGhlIGBJZGVudGl0eVNvdXJjZWAgd2lsbCByZXByZXNlbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIGEgcXVlcnkgc3RyaW5nIGlkZW50aXR5IHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcXVlcnlTdHJpbmcocXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIElkZW50aXR5U291cmNlLnRvU3RyaW5nKHF1ZXJ5U3RyaW5nLCBcIm1ldGhvZC5yZXF1ZXN0LnF1ZXJ5c3RyaW5nXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGEgcHJvcGVybHkgZm9ybWF0dGVkIEFQSSBHYXRld2F5IHN0YWdlIHZhcmlhYmxlIGlkZW50aXR5IHNvdXJjZS5cbiAgICogQHBhcmFtIHN0YWdlVmFyaWFibGUgdGhlIG5hbWUgb2YgdGhlIHN0YWdlIHZhcmlhYmxlIHRoZSBgSWRlbnRpdHlTb3VyY2VgIHdpbGwgcmVwcmVzZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBhbiBBUEkgR2F0ZXdheSBzdGFnZSB2YXJpYWJsZSBpZGVudGl0eSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHN0YWdlVmFyaWFibGUoc3RhZ2VWYXJpYWJsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSWRlbnRpdHlTb3VyY2UudG9TdHJpbmcoc3RhZ2VWYXJpYWJsZSwgXCJzdGFnZVZhcmlhYmxlc1wiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBhIHByb3Blcmx5IGZvcm1hdHRlZCByZXF1ZXN0IGNvbnRleHQgaWRlbnRpdHkgc291cmNlLlxuICAgKiBAcGFyYW0gY29udGV4dCB0aGUgbmFtZSBvZiB0aGUgY29udGV4dCB2YXJpYWJsZSB0aGUgYElkZW50aXR5U291cmNlYCB3aWxsIHJlcHJlc2VudC5cbiAgICpcbiAgICogQHJldHVybnMgYSByZXF1ZXN0IGNvbnRleHQgaWRlbnRpdHkgc291cmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb250ZXh0KGNvbnRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIElkZW50aXR5U291cmNlLnRvU3RyaW5nKGNvbnRleHQsIFwiY29udGV4dFwiKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHRvU3RyaW5nKHNvdXJjZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXNvdXJjZS50cmltKCkpIHtcbiAgICAgIC8vIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIklkZW50aXR5U291cmNlcyBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZy5cIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3R5cGV9LiR7c291cmNlfWA7XG4gIH1cbn1cbiJdfQ==
@@ -143,7 +143,7 @@ class TokenAuthorizer extends LambdaAuthorizer {
143
143
  }
144
144
  exports.TokenAuthorizer = TokenAuthorizer;
145
145
  _a = JSII_RTTI_SYMBOL_1;
146
- TokenAuthorizer[_a] = { fqn: "terraconstructs.aws.compute.TokenAuthorizer", version: "0.1.2" };
146
+ TokenAuthorizer[_a] = { fqn: "terraconstructs.aws.compute.TokenAuthorizer", version: "0.1.4" };
147
147
  /**
148
148
  * Request-based lambda authorizer that recognizes the caller's identity via request parameters,
149
149
  * such as headers, paths, query strings, stage variables, or context variables.
@@ -192,7 +192,7 @@ class RequestAuthorizer extends LambdaAuthorizer {
192
192
  }
193
193
  exports.RequestAuthorizer = RequestAuthorizer;
194
194
  _b = JSII_RTTI_SYMBOL_1;
195
- RequestAuthorizer[_b] = { fqn: "terraconstructs.aws.compute.RequestAuthorizer", version: "0.1.2" };
195
+ RequestAuthorizer[_b] = { fqn: "terraconstructs.aws.compute.RequestAuthorizer", version: "0.1.4" };
196
196
  /**
197
197
  * constructs the authorizerURIArn.
198
198
  */
@@ -48,5 +48,5 @@ class BasePathMapping extends aws_construct_1.AwsConstructBase {
48
48
  }
49
49
  exports.BasePathMapping = BasePathMapping;
50
50
  _a = JSII_RTTI_SYMBOL_1;
51
- BasePathMapping[_a] = { fqn: "terraconstructs.aws.compute.BasePathMapping", version: "0.1.2" };
51
+ BasePathMapping[_a] = { fqn: "terraconstructs.aws.compute.BasePathMapping", version: "0.1.4" };
52
52
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYXRoLW1hcHBpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvYmFzZS1wYXRoLW1hcHBpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzREFBZ0U7QUFDaEUsaUNBQThCO0FBSzlCLG9EQUF1RTtBQTBDdkU7Ozs7OztHQU1HO0FBQ0gsTUFBYSxlQUFnQixTQUFRLGdDQUFnQjtJQUNuRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxhQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkUsZ0NBQWdDO2dCQUNoQyxNQUFNLElBQUksS0FBSyxDQUNiLHNEQUFzRCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQ3ZFLENBQUM7WUFDSixDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxnQ0FBZ0M7Z0JBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQ2IsbUVBQW1FLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FDcEYsQ0FBQztZQUNKLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDO2dCQUN2RCxnQ0FBZ0M7Z0JBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQ2IscUZBQXFGLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FDdEcsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7UUFFbEQsSUFBSSxlQUFlLEdBQXNCLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDckQsSUFBSSxDQUFDLGVBQWUsSUFBSSxhQUFhLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2RSxlQUFlLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDbEQsQ0FBQztRQUVELElBQUksd0NBQXlCLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUN4RSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVTtZQUN2QyxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTO1lBQzlCLFNBQVMsRUFBRSxlQUFlLEVBQUUsU0FBUztTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQTFDSCwwQ0EyQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcGlHYXRld2F5QmFzZVBhdGhNYXBwaW5nIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgSURvbWFpbk5hbWUgfSBmcm9tIFwiLi9kb21haW4tbmFtZVwiO1xuaW1wb3J0IHsgSVJlc3RBcGkgfSBmcm9tIFwiLi9yZXN0YXBpXCI7XG5pbXBvcnQgeyBTdGFnZSB9IGZyb20gXCIuL3N0YWdlXCI7XG5pbXBvcnQgeyBBd3NDb25zdHJ1Y3RCYXNlLCBBd3NDb25zdHJ1Y3RQcm9wcyB9IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVBhdGhNYXBwaW5nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYmFzZSBwYXRoIG5hbWUgdGhhdCBjYWxsZXJzIG9mIHRoZSBBUEkgbXVzdCBwcm92aWRlIGluIHRoZSBVUkwgYWZ0ZXJcbiAgICogdGhlIGRvbWFpbiBuYW1lIChlLmcuIGBleGFtcGxlLmNvbS9iYXNlLXBhdGhgKS4gSWYgeW91IHNwZWNpZnkgdGhpc1xuICAgKiBwcm9wZXJ0eSwgaXQgY2FuJ3QgYmUgYW4gZW1wdHkgc3RyaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG1hcCByZXF1ZXN0cyBmcm9tIHRoZSBkb21haW4gcm9vdCAoZS5nLiBgZXhhbXBsZS5jb21gKS4gSWYgdGhpc1xuICAgKiBpcyB1bmRlZmluZWQsIG5vIGFkZGl0aW9uYWwgbWFwcGluZ3Mgd2lsbCBiZSBhbGxvd2VkIG9uIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBiYXNlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIERlcGxveW1lbnQgc3RhZ2Ugb2YgQVBJXG4gICAqIEBkZWZhdWx0IC0gbWFwIHRvIGRlcGxveW1lbnRTdGFnZSBvZiByZXN0QXBpIG90aGVyd2lzZSBzdGFnZSBuZWVkcyB0byBwYXNzIGluIFVSTFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2U/OiBTdGFnZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhdHRhY2ggdGhlIGJhc2UgcGF0aCBtYXBwaW5nIHRvIGEgc3RhZ2UuXG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIGNyZWF0ZSBhIGJhc2UgcGF0aCBtYXBwaW5nIHdpdGhvdXQgYXR0YWNoaW5nIGl0IHRvIHRoZSBSZXN0IEFQSSBkZWZhdWx0IHN0YWdlLlxuICAgKiBUaGlzIHByb3BlcnR5IGlzIGlnbm9yZWQgaWYgYHN0YWdlYCBpcyBwcm92aWRlZC5cbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBhdHRhY2hUb1N0YWdlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXNlUGF0aE1hcHBpbmdQcm9wc1xuICBleHRlbmRzIEJhc2VQYXRoTWFwcGluZ09wdGlvbnMsXG4gICAgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIERvbWFpbk5hbWUgdG8gYXNzb2NpYXRlIHdpdGggdGhpcyBiYXNlIHBhdGggbWFwcGluZy5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU6IElEb21haW5OYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgUmVzdEFwaSByZXNvdXJjZSB0byB0YXJnZXQuXG4gICAqL1xuICByZWFkb25seSByZXN0QXBpOiBJUmVzdEFwaTtcbn1cblxuLyoqXG4gKiBUaGlzIHJlc291cmNlIGNyZWF0ZXMgYSBiYXNlIHBhdGggdGhhdCBjbGllbnRzIHdobyBjYWxsIHlvdXIgQVBJIG11c3QgdXNlIGluXG4gKiB0aGUgaW52b2NhdGlvbiBVUkwuXG4gKlxuICogVW5sZXNzIHlvdSdyZSBpbXBvcnRpbmcgYSBkb21haW4gd2l0aCBgRG9tYWluTmFtZS5mcm9tRG9tYWluTmFtZUF0dHJpYnV0ZXMoKWAsXG4gKiB5b3UgY2FuIHVzZSBgRG9tYWluTmFtZS5hZGRCYXNlUGF0aE1hcHBpbmcoKWAgdG8gZGVmaW5lIG1hcHBpbmdzLlxuICovXG5leHBvcnQgY2xhc3MgQmFzZVBhdGhNYXBwaW5nIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSB7XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQmFzZVBhdGhNYXBwaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5iYXNlUGF0aCAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmJhc2VQYXRoKSkge1xuICAgICAgaWYgKHByb3BzLmJhc2VQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpIHx8IHByb3BzLmJhc2VQYXRoLmVuZHNXaXRoKFwiL1wiKSkge1xuICAgICAgICAvLyBUT0RPOiBVbnNjb3BlZFZhbGlkYXRpb25FcnJvclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEEgYmFzZSBwYXRoIGNhbm5vdCBzdGFydCBvciBlbmQgd2l0aCAvXCIsIHJlY2VpdmVkOiAke3Byb3BzLmJhc2VQYXRofWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYmFzZVBhdGgubWF0Y2goL1xcL3syLH0vKSkge1xuICAgICAgICAvLyBUT0RPOiBVbnNjb3BlZFZhbGlkYXRpb25FcnJvclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEEgYmFzZSBwYXRoIGNhbm5vdCBoYXZlIG1vcmUgdGhhbiBvbmUgY29uc2VjdXRpdmUgL1wiLCByZWNlaXZlZDogJHtwcm9wcy5iYXNlUGF0aH1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKCFwcm9wcy5iYXNlUGF0aC5tYXRjaCgvXlthLXpBLVowLTkkXy4rISonKCktL10rJC8pKSB7XG4gICAgICAgIC8vIFRPRE86IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQSBiYXNlIHBhdGggbWF5IG9ubHkgY29udGFpbiBsZXR0ZXJzLCBudW1iZXJzLCBhbmQgb25lIG9mIFwiJC1fLishKicoKVwiLCByZWNlaXZlZDogJHtwcm9wcy5iYXNlUGF0aH1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGF0dGFjaFRvU3RhZ2UgPSBwcm9wcy5hdHRhY2hUb1N0YWdlID8/IHRydWU7XG5cbiAgICBsZXQgc3RhZ2VGb3JNYXBwaW5nOiBTdGFnZSB8IHVuZGVmaW5lZCA9IHByb3BzLnN0YWdlO1xuICAgIGlmICghc3RhZ2VGb3JNYXBwaW5nICYmIGF0dGFjaFRvU3RhZ2UgJiYgcHJvcHMucmVzdEFwaS5kZXBsb3ltZW50U3RhZ2UpIHtcbiAgICAgIHN0YWdlRm9yTWFwcGluZyA9IHByb3BzLnJlc3RBcGkuZGVwbG95bWVudFN0YWdlO1xuICAgIH1cblxuICAgIG5ldyBhcGlHYXRld2F5QmFzZVBhdGhNYXBwaW5nLkFwaUdhdGV3YXlCYXNlUGF0aE1hcHBpbmcodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBiYXNlUGF0aDogcHJvcHMuYmFzZVBhdGgsXG4gICAgICBkb21haW5OYW1lOiBwcm9wcy5kb21haW5OYW1lLmRvbWFpbk5hbWUsXG4gICAgICBhcGlJZDogcHJvcHMucmVzdEFwaS5yZXN0QXBpSWQsXG4gICAgICBzdGFnZU5hbWU6IHN0YWdlRm9yTWFwcGluZz8uc3RhZ2VOYW1lLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -54,5 +54,5 @@ class BaseScalableAttribute extends constructs_1.Construct {
54
54
  }
55
55
  exports.BaseScalableAttribute = BaseScalableAttribute;
56
56
  _a = JSII_RTTI_SYMBOL_1;
57
- BaseScalableAttribute[_a] = { fqn: "terraconstructs.aws.compute.BaseScalableAttribute", version: "0.1.2" };
57
+ BaseScalableAttribute[_a] = { fqn: "terraconstructs.aws.compute.BaseScalableAttribute", version: "0.1.4" };
58
58
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zY2FsYWJsZS1hdHRyaWJ1dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvYmFzZS1zY2FsYWJsZS1hdHRyaWJ1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4SEFBOEg7QUFFOUgsMkNBQXVDO0FBQ3ZDLHVEQUkyQjtBQWdDM0I7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQXNCLHFCQUFzQixTQUFRLHNCQUFTO0lBRzNELFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNTLEtBQWlDO1FBRXBELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFGRSxVQUFLLEdBQUwsS0FBSyxDQUE0QjtRQUlwRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQy9DLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCO1lBQzdDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztZQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO1lBQ2pDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7WUFDckIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksQ0FBQztZQUNuQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ08saUJBQWlCLENBQUMsRUFBVSxFQUFFLEtBQXNCO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxlQUFlLENBQUMsRUFBVSxFQUFFLEtBQWtDO1FBQ3RFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxvQkFBb0IsQ0FDNUIsRUFBVSxFQUNWLEtBQTRDO1FBRTVDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7O0FBMUNILHNEQTJDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE4Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1hcHBsaWNhdGlvbmF1dG9zY2FsaW5nL2xpYi9iYXNlLXNjYWxhYmxlLWF0dHJpYnV0ZS50c1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgU2NhbGFibGVUYXJnZXQsXG4gIFNjYWxpbmdTY2hlZHVsZSxcbiAgU2VydmljZU5hbWVzcGFjZSxcbn0gZnJvbSBcIi4vc2NhbGFibGUtdGFyZ2V0XCI7XG5pbXBvcnQgeyBCYXNpY1N0ZXBTY2FsaW5nUG9saWN5UHJvcHMgfSBmcm9tIFwiLi9zdGVwLXNjYWxpbmctcG9saWN5XCI7XG5pbXBvcnQgeyBCYXNpY1RhcmdldFRyYWNraW5nU2NhbGluZ1BvbGljeVByb3BzIH0gZnJvbSBcIi4vdGFyZ2V0LXRyYWNraW5nLXNjYWxpbmctcG9saWN5XCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgU2NhbGFibGVUYWJsZUF0dHJpYnV0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VTY2FsYWJsZUF0dHJpYnV0ZVByb3BzIGV4dGVuZHMgRW5hYmxlU2NhbGluZ1Byb3BzIHtcbiAgLyoqXG4gICAqIFNlcnZpY2UgbmFtZXNwYWNlIG9mIHRoZSBzY2FsYWJsZSBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lc3BhY2U6IFNlcnZpY2VOYW1lc3BhY2U7XG5cbiAgLyoqXG4gICAqIFJlc291cmNlIElEIG9mIHRoZSBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogU2NhbGFibGUgZGltZW5zaW9uIG9mIHRoZSBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGRpbWVuc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSb2xlIHRvIHVzZSBmb3Igc2NhbGluZ1xuICAgKlxuICAgKiBAZGVmYXVsdCBBIHJvbGUgaXMgYXV0b21hdGljYWxseSBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudCBhbiBhdHRyaWJ1dGUgZm9yIHdoaWNoIGF1dG9zY2FsaW5nIGNhbiBiZSBjb25maWd1cmVkXG4gKlxuICogVGhpcyBjbGFzcyBpcyBiYXNpY2FsbHkgYSBsaWdodCB3cmFwcGVyIGFyb3VuZCBTY2FsYWJsZVRhcmdldCwgYnV0IHdpdGhcbiAqIGFsbCBtZXRob2RzIHByb3RlY3RlZCBpbnN0ZWFkIG9mIHB1YmxpYyBzbyB0aGV5IGNhbiBiZSBzZWxlY3RpdmVseVxuICogZXhwb3NlZCBhbmQvb3IgbW9yZSBzcGVjaWZpYyB2ZXJzaW9ucyBvZiB0aGVtIGNhbiBiZSBleHBvc2VkIGJ5IGRlcml2ZWRcbiAqIGNsYXNzZXMgZm9yIGluZGl2aWR1YWwgc2VydmljZXMgc3VwcG9ydCBhdXRvc2NhbGluZy5cbiAqXG4gKiBUeXBpY2FsIHVzZSBjYXNlczpcbiAqXG4gKiAtIEhpZGUgYXdheSB0aGUgUHJlZGVmaW5lZE1ldHJpYyBlbnVtIGZvciB0YXJnZXQgdHJhY2tpbmcgcG9saWNpZXMuXG4gKiAtIERvbid0IGV4cG9zZSBhbGwgc2NhbGluZyBtZXRob2RzIChmb3IgZXhhbXBsZSBEeW5hbW8gdGFibGVzIGRvbid0IHN1cHBvcnRcbiAqICAgU3RlcCBTY2FsaW5nLCBzbyB0aGUgRHluYW1vIHN1YmNsYXNzIHdvbid0IGV4cG9zZSB0aGlzIG1ldGhvZCkuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2NhbGFibGVBdHRyaWJ1dGUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHRhcmdldDogU2NhbGFibGVUYXJnZXQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvcHM6IEJhc2VTY2FsYWJsZUF0dHJpYnV0ZVByb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy50YXJnZXQgPSBuZXcgU2NhbGFibGVUYXJnZXQodGhpcywgXCJUYXJnZXRcIiwge1xuICAgICAgc2VydmljZU5hbWVzcGFjZTogdGhpcy5wcm9wcy5zZXJ2aWNlTmFtZXNwYWNlLFxuICAgICAgc2NhbGFibGVEaW1lbnNpb246IHRoaXMucHJvcHMuZGltZW5zaW9uLFxuICAgICAgcmVzb3VyY2VJZDogdGhpcy5wcm9wcy5yZXNvdXJjZUlkLFxuICAgICAgcm9sZTogdGhpcy5wcm9wcy5yb2xlLFxuICAgICAgbWluQ2FwYWNpdHk6IHByb3BzLm1pbkNhcGFjaXR5ID8/IDEsXG4gICAgICBtYXhDYXBhY2l0eTogcHJvcHMubWF4Q2FwYWNpdHksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2NhbGUgb3V0IG9yIGluIGJhc2VkIG9uIHRpbWVcbiAgICovXG4gIHByb3RlY3RlZCBkb1NjYWxlT25TY2hlZHVsZShpZDogc3RyaW5nLCBwcm9wczogU2NhbGluZ1NjaGVkdWxlKSB7XG4gICAgdGhpcy50YXJnZXQuc2NhbGVPblNjaGVkdWxlKGlkLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogU2NhbGUgb3V0IG9yIGluIGJhc2VkIG9uIGEgbWV0cmljIHZhbHVlXG4gICAqL1xuICBwcm90ZWN0ZWQgZG9TY2FsZU9uTWV0cmljKGlkOiBzdHJpbmcsIHByb3BzOiBCYXNpY1N0ZXBTY2FsaW5nUG9saWN5UHJvcHMpIHtcbiAgICB0aGlzLnRhcmdldC5zY2FsZU9uTWV0cmljKGlkLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogU2NhbGUgb3V0IG9yIGluIGluIG9yZGVyIHRvIGtlZXAgYSBtZXRyaWMgYXJvdW5kIGEgdGFyZ2V0IHZhbHVlXG4gICAqL1xuICBwcm90ZWN0ZWQgZG9TY2FsZVRvVHJhY2tNZXRyaWMoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQmFzaWNUYXJnZXRUcmFja2luZ1NjYWxpbmdQb2xpY3lQcm9wcyxcbiAgKSB7XG4gICAgdGhpcy50YXJnZXQuc2NhbGVUb1RyYWNrTWV0cmljKGlkLCBwcm9wcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBlbmFibGluZyBBcHBsaWNhdGlvbiBBdXRvIFNjYWxpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbmFibGVTY2FsaW5nUHJvcHMge1xuICAvKipcbiAgICogTWluaW11bSBjYXBhY2l0eSB0byBzY2FsZSB0b1xuICAgKlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBtaW5DYXBhY2l0eT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBjYXBhY2l0eSB0byBzY2FsZSB0b1xuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q2FwYWNpdHk6IG51bWJlcjtcbn1cbiJdfQ==
@@ -110,5 +110,5 @@ class BastionHostLinux extends aws_construct_1.AwsConstructBase {
110
110
  }
111
111
  exports.BastionHostLinux = BastionHostLinux;
112
112
  _a = JSII_RTTI_SYMBOL_1;
113
- BastionHostLinux[_a] = { fqn: "terraconstructs.aws.compute.BastionHostLinux", version: "0.1.2" };
113
+ BastionHostLinux[_a] = { fqn: "terraconstructs.aws.compute.BastionHostLinux", version: "0.1.4" };
114
114
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzdGlvbi1ob3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2Jhc3Rpb24taG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdHQUFnRztBQUVoRyxpQ0FBd0M7QUFFeEMsd0JBS1c7QUFHWCx5Q0FLb0I7QUFDcEIsbURBSXlCO0FBRXpCLGlDQUE4QjtBQUk5QixvREFBb0Q7QUFDcEQsNENBQXdDO0FBQ3hDLGdDQUE0RDtBQWtINUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsZ0NBQWdCO0lBQ3BELElBQVcsZUFBZTtRQUN4QixPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzVCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBc0RELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLG9CQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLE1BQU0sWUFBWSxHQUNoQixLQUFLLENBQUMsWUFBWTtZQUNsQixlQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFhLENBQUMsRUFBRSxFQUFFLGVBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksbUJBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzdDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLGFBQWE7WUFDakQsWUFBWTtZQUNa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LDRDQXVKQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lYzIvbGliL2Jhc3Rpb24taG9zdC50c1xuXG5pbXBvcnQgeyBUZXJyYWZvcm1PdXRwdXQgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBJbnN0YW5jZUFyY2hpdGVjdHVyZSxcbiAgSW5zdGFuY2VDbGFzcyxcbiAgSW5zdGFuY2VTaXplLFxuICBJbnN0YW5jZVR5cGUsXG59IGZyb20gXCIuXCI7XG4vLyBpbXBvcnQgeyBDbG91ZEZvcm1hdGlvbkluaXQgfSBmcm9tIFwiLi9jZm4taW5pdFwiO1xuaW1wb3J0IHsgQ29ubmVjdGlvbnMgfSBmcm9tIFwiLi9jb25uZWN0aW9uc1wiO1xuaW1wb3J0IHtcbiAgLy8gQXBwbHlDbG91ZEZvcm1hdGlvbkluaXRPcHRpb25zLFxuICBJSW5zdGFuY2UsXG4gIEluc3RhbmNlLFxuICBJbnN0YW5jZU91dHB1dHMsXG59IGZyb20gXCIuL2luc3RhbmNlXCI7XG5pbXBvcnQge1xuICBBbWF6b25MaW51eENwdVR5cGUsXG4gIElNYWNoaW5lSW1hZ2UsXG4gIE1hY2hpbmVJbWFnZSxcbn0gZnJvbSBcIi4vbWFjaGluZS1pbWFnZVwiO1xuaW1wb3J0IHsgSVBlZXIgfSBmcm9tIFwiLi9wZWVyXCI7XG5pbXBvcnQgeyBQb3J0IH0gZnJvbSBcIi4vcG9ydFwiO1xuaW1wb3J0IHsgSVNlY3VyaXR5R3JvdXAgfSBmcm9tIFwiLi9zZWN1cml0eS1ncm91cFwiO1xuaW1wb3J0IHsgQmxvY2tEZXZpY2UgfSBmcm9tIFwiLi92b2x1bWVcIjtcbmltcG9ydCB7IElWcGMsIFN1Ym5ldFNlbGVjdGlvbiB9IGZyb20gXCIuL3ZwY1wiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSB9IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCB7IElQcmluY2lwYWwsIElSb2xlLCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tIFwiLi4vaWFtXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBvZiB0aGUgYmFzdGlvbiBob3N0XG4gKlxuICpcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXN0aW9uSG9zdExpbnV4UHJvcHMge1xuICAvKipcbiAgICogSW4gd2hpY2ggQVogdG8gcGxhY2UgdGhlIGluc3RhbmNlIHdpdGhpbiB0aGUgVlBDXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUmFuZG9tIHpvbmUuXG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlab25lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWUEMgdG8gbGF1bmNoIHRoZSBpbnN0YW5jZSBpbi5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogSVZwYztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGluc3RhbmNlXG4gICAqXG4gICAqIEBkZWZhdWx0ICdCYXN0aW9uSG9zdCdcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogU2VsZWN0IHRoZSBzdWJuZXRzIHRvIHJ1biB0aGUgYmFzdGlvbiBob3N0IGluLlxuICAgKiBTZXQgdGhpcyB0byBQVUJMSUMgaWYgeW91IG5lZWQgdG8gY29ubmVjdCB0byB0aGlzIGluc3RhbmNlIHZpYSB0aGUgaW50ZXJuZXQgYW5kIGNhbm5vdCB1c2UgU1NNLlxuICAgKiBZb3UgaGF2ZSB0byBhbGxvdyBwb3J0IDIyIG1hbnVhbGx5IGJ5IHVzaW5nIHRoZSBjb25uZWN0aW9ucyBmaWVsZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHByaXZhdGUgc3VibmV0cyBvZiB0aGUgc3VwcGxpZWQgVlBDXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRTZWxlY3Rpb24/OiBTdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIFNlY3VyaXR5IEdyb3VwIHRvIGFzc2lnbiB0byB0aGlzIGluc3RhbmNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gY3JlYXRlIG5ldyBzZWN1cml0eSBncm91cCB3aXRoIG5vIGluYm91bmQgYW5kIGFsbCBvdXRib3VuZCB0cmFmZmljIGFsbG93ZWRcbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA/OiBJU2VjdXJpdHlHcm91cDtcblxuICAvKipcbiAgICogVHlwZSBvZiBpbnN0YW5jZSB0byBsYXVuY2hcbiAgICogQGRlZmF1bHQgJ3QzLm5hbm8nXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZVR5cGU/OiBJbnN0YW5jZVR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBtYWNoaW5lIGltYWdlIHRvIHVzZSwgYXNzdW1lZCB0byBoYXZlIFNTTSBBZ2VudCBwcmVpbnN0YWxsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQW4gQW1hem9uIExpbnV4IDIwMjMgaW1hZ2UgaWYgdGhlIGBAYXdzLWNkay9hd3MtZWMyOmJhc3Rpb25Ib3N0VXNlQW1hem9uTGludXgyMDIzQnlEZWZhdWx0YCBmZWF0dXJlIGZsYWcgaXMgZW5hYmxlZC4gT3RoZXJ3aXNlLCBhbiBBbWF6b24gTGludXggMiBpbWFnZS4gSW4gYm90aCBjYXNlcywgdGhlIGltYWdlIGlzIGtlcHQgdXAtdG8tZGF0ZSBhdXRvbWF0aWNhbGx5ICh0aGUgaW5zdGFuY2VcbiAgICogbWF5IGJlIHJlcGxhY2VkIG9uIGV2ZXJ5IGRlcGxveW1lbnQpIGFuZCBhbHJlYWR5IGhhcyBTU00gQWdlbnQgaW5zdGFsbGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFjaGluZUltYWdlPzogSU1hY2hpbmVJbWFnZTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGhvdyBibG9jayBkZXZpY2VzIGFyZSBleHBvc2VkIHRvIHRoZSBpbnN0YW5jZS4gWW91IGNhbiBzcGVjaWZ5IHZpcnR1YWwgZGV2aWNlcyBhbmQgRUJTIHZvbHVtZXMuXG4gICAqXG4gICAqIEVhY2ggaW5zdGFuY2UgdGhhdCBpcyBsYXVuY2hlZCBoYXMgYW4gYXNzb2NpYXRlZCByb290IGRldmljZSB2b2x1bWUsXG4gICAqIGVpdGhlciBhbiBBbWF6b24gRUJTIHZvbHVtZSBvciBhbiBpbnN0YW5jZSBzdG9yZSB2b2x1bWUuXG4gICAqIFlvdSBjYW4gdXNlIGJsb2NrIGRldmljZSBtYXBwaW5ncyB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgRUJTIHZvbHVtZXMgb3JcbiAgICogaW5zdGFuY2Ugc3RvcmUgdm9sdW1lcyB0byBhdHRhY2ggdG8gYW4gaW5zdGFuY2Ugd2hlbiBpdCBpcyBsYXVuY2hlZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvYmxvY2stZGV2aWNlLW1hcHBpbmctY29uY2VwdHMuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFVzZXMgdGhlIGJsb2NrIGRldmljZSBtYXBwaW5nIG9mIHRoZSBBTUlcbiAgICovXG4gIHJlYWRvbmx5IGJsb2NrRGV2aWNlcz86IEJsb2NrRGV2aWNlW107XG5cbiAgLy8gLyoqXG4gIC8vICAqIEFwcGx5IHRoZSBnaXZlbiBDbG91ZEZvcm1hdGlvbiBJbml0IGNvbmZpZ3VyYXRpb24gdG8gdGhlIGluc3RhbmNlIGF0IHN0YXJ0dXBcbiAgLy8gICpcbiAgLy8gICogQGRlZmF1bHQgLSBubyBDbG91ZEZvcm1hdGlvbiBpbml0XG4gIC8vICAqL1xuICAvLyByZWFkb25seSBpbml0PzogQ2xvdWRGb3JtYXRpb25Jbml0O1xuXG4gIC8vIC8qKlxuICAvLyAgKiBVc2UgdGhlIGdpdmVuIG9wdGlvbnMgZm9yIGFwcGx5aW5nIENsb3VkRm9ybWF0aW9uIEluaXRcbiAgLy8gICpcbiAgLy8gICogRGVzY3JpYmVzIHRoZSBjb25maWdzZXRzIHRvIHVzZSBhbmQgdGhlIHRpbWVvdXQgdG8gd2FpdFxuICAvLyAgKlxuICAvLyAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAvLyAgKi9cbiAgLy8gcmVhZG9ubHkgaW5pdE9wdGlvbnM/OiBBcHBseUNsb3VkRm9ybWF0aW9uSW5pdE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgSU1EU3YyIHNob3VsZCBiZSByZXF1aXJlZCBvbiB0aGlzIGluc3RhbmNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVJbWRzdjI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgY2hhbmdlcyB0byB0aGUgVXNlckRhdGEgd2lsbCBmb3JjZSBpbnN0YW5jZSByZXBsYWNlbWVudC5cbiAgICpcbiAgICogRGVwZW5kaW5nIG9uIHRoZSBFQzIgaW5zdGFuY2UgdHlwZSwgbW9kaWZ5aW5nIHRoZSBVc2VyRGF0YSBtYXkgZWl0aGVyIHJlc3RhcnRcbiAgICogb3IgcmVwbGFjZSB0aGUgaW5zdGFuY2U6XG4gICAqXG4gICAqIC0gSW5zdGFuY2Ugc3RvcmUtYmFja2VkIGluc3RhbmNlcyBhcmUgcmVwbGFjZWQuXG4gICAqIC0gRUJTLWJhY2tlZCBpbnN0YW5jZXMgYXJlIHJlc3RhcnRlZC5cbiAgICpcbiAgICogTm90ZSB0aGF0IGJ5IGRlZmF1bHQsIHJlc3RhcnRpbmcgZG9lcyBub3QgZXhlY3V0ZSB0aGUgdXBkYXRlZCBVc2VyRGF0YSwgc28gYW4gYWx0ZXJuYXRpdmVcbiAgICogbWVjaGFuaXNtIGlzIG5lZWRlZCB0byBlbnN1cmUgdGhlIGluc3RhbmNlIHJlLWV4ZWN1dGVzIHRoZSBVc2VyRGF0YS5cbiAgICpcbiAgICogV2hlbiBzZXQgdG8gYHRydWVgLCB0aGUgaW5zdGFuY2UncyBMb2dpY2FsIElEIHdpbGwgZGVwZW5kIG9uIHRoZSBVc2VyRGF0YSwgY2F1c2luZ1xuICAgKiBDbG91ZEZvcm1hdGlvbiB0byByZXBsYWNlIHRoZSBpbnN0YW5jZSBpZiB0aGUgVXNlckRhdGEgY2hhbmdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBgdHJ1ZWAgaWYgYGluaXRPcHRpb25zYCBpcyBzcGVjaWZpZWQsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckRhdGFDYXVzZXNSZXBsYWNlbWVudD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhpcyBjcmVhdGVzIGEgbGludXggYmFzdGlvbiBob3N0IHlvdSBjYW4gdXNlIHRvIGNvbm5lY3QgdG8gb3RoZXIgaW5zdGFuY2VzIG9yIHNlcnZpY2VzIGluIHlvdXIgVlBDLlxuICogVGhlIHJlY29tbWVuZGVkIHdheSB0byBjb25uZWN0IHRvIHRoZSBiYXN0aW9uIGhvc3QgaXMgYnkgdXNpbmcgQVdTIFN5c3RlbXMgTWFuYWdlciBTZXNzaW9uIE1hbmFnZXIuXG4gKlxuICogVGhlIG9wZXJhdGluZyBzeXN0ZW0gaXMgQW1hem9uIExpbnV4IDIgd2l0aCB0aGUgbGF0ZXN0IFNTTSBhZ2VudCBpbnN0YWxsZWRcbiAqXG4gKiBZb3UgY2FuIGFsc28gY29uZmlndXJlIHRoaXMgYmFzdGlvbiBob3N0IHRvIGFsbG93IGNvbm5lY3Rpb25zIHZpYSBTU0hcbiAqXG4gKlxuICogQHJlc291cmNlIGF3c19pbnN0YW5jZVxuICovXG5leHBvcnQgY2xhc3MgQmFzdGlvbkhvc3RMaW51eCBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJSW5zdGFuY2Uge1xuICBwdWJsaWMgZ2V0IGluc3RhbmNlT3V0cHV0cygpOiBJbnN0YW5jZU91dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICBpbnN0YW5jZUlkOiB0aGlzLmluc3RhbmNlSWQsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VPdXRwdXRzO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YWNrOiBBd3NTdGFjaztcblxuICAvKipcbiAgICogQWxsb3dzIHNwZWNpZnkgc2VjdXJpdHkgZ3JvdXAgY29ubmVjdGlvbnMgZm9yIHRoZSBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSBhc3N1bWVkIGJ5IHRoZSBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBJUm9sZTtcblxuICAvKipcbiAgICogVGhlIHByaW5jaXBhbCB0byBncmFudCBwZXJtaXNzaW9ucyB0b1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBJUHJpbmNpcGFsO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5kZXJseWluZyBpbnN0YW5jZSByZXNvdXJjZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlOiBJbnN0YW5jZTtcblxuICAvKipcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlQXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VQcml2YXRlRG5zTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VQcml2YXRlSXA6IHN0cmluZztcblxuICAvKipcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlUHVibGljRG5zTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VQdWJsaWNJcDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCYXN0aW9uSG9zdExpbnV4UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMuc3RhY2sgPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChzY29wZSk7XG4gICAgY29uc3QgaW5zdGFuY2VUeXBlID1cbiAgICAgIHByb3BzLmluc3RhbmNlVHlwZSA/P1xuICAgICAgSW5zdGFuY2VUeXBlLm9mKEluc3RhbmNlQ2xhc3MuVDMsIEluc3RhbmNlU2l6ZS5OQU5PKTtcbiAgICB0aGlzLmluc3RhbmNlID0gbmV3IEluc3RhbmNlKHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBhdmFpbGFiaWxpdHlab25lOiBwcm9wcy5hdmFpbGFiaWxpdHlab25lLFxuICAgICAgc2VjdXJpdHlHcm91cDogcHJvcHMuc2VjdXJpdHlHcm91cCxcbiAgICAgIGluc3RhbmNlTmFtZTogcHJvcHMuaW5zdGFuY2VOYW1lID8/IFwiQmFzdGlvbkhvc3RcIixcbiAgICAgIGluc3RhbmNlVHlwZSxcbiAgICAgIG1hY2hpbmVJbWFnZTogdGhpcy5nZXRNYWNoaW5lSW1hZ2UodGhpcywgaW5zdGFuY2VUeXBlLCBwcm9wcyksXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24gPz8ge30sXG4gICAgICBibG9ja0RldmljZXM6IHByb3BzLmJsb2NrRGV2aWNlcyA/PyB1bmRlZmluZWQsXG4gICAgICAvLyBpbml0OiBwcm9wcy5pbml0LFxuICAgICAgLy8gaW5pdE9wdGlvbnM6IHByb3BzLmluaXRPcHRpb25zLFxuICAgICAgcmVxdWlyZUltZHN2MjogcHJvcHMucmVxdWlyZUltZHN2MiA/PyBmYWxzZSxcbiAgICAgIHVzZXJEYXRhQ2F1c2VzUmVwbGFjZW1lbnQ6IHByb3BzLnVzZXJEYXRhQ2F1c2VzUmVwbGFjZW1lbnQsXG4gICAgfSk7XG4gICAgdGhpcy5pbnN0YW5jZS5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwic3NtbWVzc2FnZXM6KlwiLFxuICAgICAgICAgIFwic3NtOlVwZGF0ZUluc3RhbmNlSW5mb3JtYXRpb25cIixcbiAgICAgICAgICBcImVjMm1lc3NhZ2VzOipcIixcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgfSksXG4gICAgKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5pbnN0YW5jZS5jb25uZWN0aW9ucztcbiAgICB0aGlzLnJvbGUgPSB0aGlzLmluc3RhbmNlLnJvbGU7XG4gICAgdGhpcy5ncmFudFByaW5jaXBhbCA9IHRoaXMuaW5zdGFuY2Uucm9sZTtcbiAgICB0aGlzLmluc3RhbmNlSWQgPSB0aGlzLmluc3RhbmNlLmluc3RhbmNlSWQ7XG4gICAgdGhpcy5pbnN0YW5jZVByaXZhdGVJcCA9IHRoaXMuaW5zdGFuY2UuaW5zdGFuY2VQcml2YXRlSXA7XG4gICAgdGhpcy5pbnN0YW5jZUF2YWlsYWJpbGl0eVpvbmUgPSB0aGlzLmluc3RhbmNlLmluc3RhbmNlQXZhaWxhYmlsaXR5Wm9uZTtcbiAgICB0aGlzLmluc3RhbmNlUHJpdmF0ZURuc05hbWUgPSB0aGlzLmluc3RhbmNlLmluc3RhbmNlUHJpdmF0ZURuc05hbWU7XG4gICAgdGhpcy5pbnN0YW5jZVB1YmxpY0lwID0gdGhpcy5pbnN0YW5jZS5pbnN0YW5jZVB1YmxpY0lwO1xuICAgIHRoaXMuaW5zdGFuY2VQdWJsaWNEbnNOYW1lID0gdGhpcy5pbnN0YW5jZS5pbnN0YW5jZVB1YmxpY0Ruc05hbWU7XG5cbiAgICBuZXcgVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwiQmFzdGlvbkhvc3RJZFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJJbnN0YW5jZSBJRCBvZiB0aGUgYmFzdGlvbiBob3N0LiBVc2UgdGhpcyB0byBjb25uZWN0IHZpYSBTU00gU2Vzc2lvbiBNYW5hZ2VyXCIsXG4gICAgICB2YWx1ZTogdGhpcy5pbnN0YW5jZUlkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIEFtYXpvbkxpbnV4Q3B1VHlwZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBnaXZlbiBpbnN0YW5jZSBhcmNoaXRlY3R1cmVcbiAgICogQHBhcmFtIGFyY2hpdGVjdHVyZSB0aGUgaW5zdGFuY2UgYXJjaGl0ZWN0dXJlIHZhbHVlIHRvIGNvbnZlcnRcbiAgICovXG4gIHByaXZhdGUgdG9BbWF6b25MaW51eENwdVR5cGUoXG4gICAgYXJjaGl0ZWN0dXJlOiBJbnN0YW5jZUFyY2hpdGVjdHVyZSxcbiAgKTogQW1hem9uTGludXhDcHVUeXBlIHtcbiAgICBpZiAoYXJjaGl0ZWN0dXJlID09PSBJbnN0YW5jZUFyY2hpdGVjdHVyZS5BUk1fNjQpIHtcbiAgICAgIHJldHVybiBBbWF6b25MaW51eENwdVR5cGUuQVJNXzY0O1xuICAgIH0gZWxzZSBpZiAoYXJjaGl0ZWN0dXJlID09PSBJbnN0YW5jZUFyY2hpdGVjdHVyZS5YODZfNjQpIHtcbiAgICAgIHJldHVybiBBbWF6b25MaW51eENwdVR5cGUuWDg2XzY0O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgaW5zdGFuY2UgYXJjaGl0ZWN0dXJlICcke2FyY2hpdGVjdHVyZX0nYCk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3cgU1NIIGFjY2VzcyBmcm9tIHRoZSBnaXZlbiBwZWVyIG9yIHBlZXJzXG4gICAqXG4gICAqIE5lY2Vzc2FyeSBpZiB5b3Ugd2FudCB0byBjb25uZWN0IHRvIHRoZSBpbnN0YW5jZSB1c2luZyBzc2guIElmIG5vdFxuICAgKiBjYWxsZWQsIHlvdSBzaG91bGQgdXNlIFNTTSBTZXNzaW9uIE1hbmFnZXIgdG8gY29ubmVjdCB0byB0aGUgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWxsb3dTc2hBY2Nlc3NGcm9tKC4uLnBlZXI6IElQZWVyW10pOiB2b2lkIHtcbiAgICBwZWVyLmZvckVhY2goKHApID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvbnMuYWxsb3dGcm9tKHAsIFBvcnQudGNwKDIyKSwgXCJTU0ggYWNjZXNzXCIpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1hY2hpbmUgaW1hZ2UgdG8gdXNlIGZvciB0aGUgYmFzdGlvbiBob3N0LCByZXNwZWN0aW5nIHRoZSBmZWF0dXJlIGZsYWdcbiAgICogdG8gZGVmYXVsdCB0byBBbWF6b24gTGludXggMjAyMyBpZiBlbmFibGVkLCBvdGhlcndpc2UgZGVmYXVsdGluZyB0byBBbWF6b24gTGludXggMi5cbiAgICovXG4gIHByaXZhdGUgZ2V0TWFjaGluZUltYWdlKFxuICAgIF9zY29wZTogQ29uc3RydWN0LFxuICAgIGluc3RhbmNlVHlwZTogSW5zdGFuY2VUeXBlLFxuICAgIHByb3BzOiBCYXN0aW9uSG9zdExpbnV4UHJvcHMsXG4gICk6IElNYWNoaW5lSW1hZ2Uge1xuICAgIGNvbnN0IGRlZmF1bHRNYWNoaW5lSW1hZ2UgPSBNYWNoaW5lSW1hZ2UubGF0ZXN0QW1hem9uTGludXgyMDIzKHtcbiAgICAgIGNwdVR5cGU6IHRoaXMudG9BbWF6b25MaW51eENwdVR5cGUoaW5zdGFuY2VUeXBlLmFyY2hpdGVjdHVyZSksXG4gICAgfSk7XG4gICAgcmV0dXJuIHByb3BzLm1hY2hpbmVJbWFnZSA/PyBkZWZhdWx0TWFjaGluZUltYWdlO1xuICB9XG59XG4iXX0=
@@ -64,5 +64,5 @@ class Chain {
64
64
  }
65
65
  exports.Chain = Chain;
66
66
  _a = JSII_RTTI_SYMBOL_1;
67
- Chain[_a] = { fqn: "terraconstructs.aws.compute.Chain", version: "0.1.2" };
67
+ Chain[_a] = { fqn: "terraconstructs.aws.compute.Chain", version: "0.1.4" };
68
68
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtR0FBbUc7QUFFbkcsZ0RBQTREO0FBSTVEOzs7OztHQUtHO0FBQ0gsTUFBYSxLQUFLO0lBQ2hCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFpQjtRQUNuQyxPQUFPLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQWlCLEVBQUUsSUFBZ0I7UUFDeEQsT0FBTyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FDbEIsVUFBaUIsRUFDakIsU0FBc0IsRUFDdEIsU0FBcUI7UUFFckIsT0FBTyxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFpQkQsWUFDRSxVQUFpQixFQUNqQixTQUFzQixFQUNMLFNBQXFCO1FBQXJCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFFdEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUksQ0FBQyxJQUFnQjtRQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQ2IsNkNBQTZDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxxQkFBcUIsQ0FDcEYsQ0FBQztRQUNKLENBQUM7UUFFRCxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksYUFBYSxDQUFDLEVBQVUsRUFBRSxRQUF1QixFQUFFO1FBQ3hELE9BQU8sSUFBSSxtQkFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDOztBQWhGSCxzQkFpRkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNjAuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucy9saWIvY2hhaW4udHNcblxuaW1wb3J0IHsgUGFyYWxsZWwsIFBhcmFsbGVsUHJvcHMgfSBmcm9tIFwiLi9zdGF0ZXMvcGFyYWxsZWxcIjtcbmltcG9ydCB7IFN0YXRlIH0gZnJvbSBcIi4vc3RhdGVzL3N0YXRlXCI7XG5pbXBvcnQgeyBJQ2hhaW5hYmxlLCBJTmV4dGFibGUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIEEgY29sbGVjdGlvbiBvZiBzdGF0ZXMgdG8gY2hhaW4gb250b1xuICpcbiAqIEEgQ2hhaW4gaGFzIGEgc3RhcnQgYW5kIHplcm8gb3IgbW9yZSBjaGFpbmFibGUgZW5kcy4gSWYgdGhlcmUgYXJlXG4gKiB6ZXJvIGVuZHMsIGNhbGxpbmcgbmV4dCgpIG9uIHRoZSBDaGFpbiB3aWxsIGZhaWwuXG4gKi9cbmV4cG9ydCBjbGFzcyBDaGFpbiBpbXBsZW1lbnRzIElDaGFpbmFibGUge1xuICAvKipcbiAgICogQmVnaW4gYSBuZXcgQ2hhaW4gZnJvbSBvbmUgY2hhaW5hYmxlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHN0YXJ0KHN0YXRlOiBJQ2hhaW5hYmxlKSB7XG4gICAgcmV0dXJuIG5ldyBDaGFpbihzdGF0ZS5zdGFydFN0YXRlLCBzdGF0ZS5lbmRTdGF0ZXMsIHN0YXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYWtlIGEgQ2hhaW4gd2l0aCB0aGUgc3RhcnQgZnJvbSBvbmUgY2hhaW4gYW5kIHRoZSBlbmRzIGZyb20gYW5vdGhlclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzZXF1ZW5jZShzdGFydDogSUNoYWluYWJsZSwgbmV4dDogSUNoYWluYWJsZSkge1xuICAgIHJldHVybiBuZXcgQ2hhaW4oc3RhcnQuc3RhcnRTdGF0ZSwgbmV4dC5lbmRTdGF0ZXMsIG5leHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgYSBDaGFpbiB3aXRoIHNwZWNpZmljIHN0YXJ0IGFuZCBlbmQgc3RhdGVzLCBhbmQgYSBsYXN0LWFkZGVkIENoYWluYWJsZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjdXN0b20oXG4gICAgc3RhcnRTdGF0ZTogU3RhdGUsXG4gICAgZW5kU3RhdGVzOiBJTmV4dGFibGVbXSxcbiAgICBsYXN0QWRkZWQ6IElDaGFpbmFibGUsXG4gICkge1xuICAgIHJldHVybiBuZXcgQ2hhaW4oc3RhcnRTdGF0ZSwgZW5kU3RhdGVzLCBsYXN0QWRkZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIElkZW50aWZ5IHRoaXMgQ2hhaW5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhcnQgc3RhdGUgb2YgdGhpcyBjaGFpblxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN0YXJ0U3RhdGU6IFN0YXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgY2hhaW5hYmxlIGVuZCBzdGF0ZShzKSBvZiB0aGlzIGNoYWluXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW5kU3RhdGVzOiBJTmV4dGFibGVbXTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHN0YXJ0U3RhdGU6IFN0YXRlLFxuICAgIGVuZFN0YXRlczogSU5leHRhYmxlW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXN0QWRkZWQ6IElDaGFpbmFibGUsXG4gICkge1xuICAgIHRoaXMuaWQgPSBsYXN0QWRkZWQuaWQ7XG4gICAgdGhpcy5zdGFydFN0YXRlID0gc3RhcnRTdGF0ZTtcbiAgICB0aGlzLmVuZFN0YXRlcyA9IGVuZFN0YXRlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250aW51ZSBub3JtYWwgZXhlY3V0aW9uIHdpdGggdGhlIGdpdmVuIHN0YXRlXG4gICAqL1xuICBwdWJsaWMgbmV4dChuZXh0OiBJQ2hhaW5hYmxlKTogQ2hhaW4ge1xuICAgIGlmICh0aGlzLmVuZFN0YXRlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENhbm5vdCBhZGQgdG8gY2hhaW46IGxhc3Qgc3RhdGUgaW4gY2hhaW4gKCR7dGhpcy5sYXN0QWRkZWQuaWR9KSBkb2VzIG5vdCBhbGxvdyBpdGAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZW5kU3RhdGUgb2YgdGhpcy5lbmRTdGF0ZXMpIHtcbiAgICAgIGVuZFN0YXRlLm5leHQobmV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBDaGFpbih0aGlzLnN0YXJ0U3RhdGUsIG5leHQuZW5kU3RhdGVzLCBuZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBzaW5nbGUgc3RhdGUgdGhhdCBlbmNvbXBhc3NlcyBhbGwgc3RhdGVzIGluIHRoZSBjaGFpblxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGFkZCBlcnJvciBoYW5kbGluZyB0byBhIHNlcXVlbmNlIG9mIHN0YXRlcy5cbiAgICpcbiAgICogQmUgYXdhcmUgdGhhdCB0aGlzIGNoYW5nZXMgdGhlIHJlc3VsdCBvZiB0aGUgaW5uZXIgc3RhdGUgbWFjaGluZVxuICAgKiB0byBiZSBhbiBhcnJheSB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIHN0YXRlIG1hY2hpbmUgaW4gaXQuIEFkanVzdFxuICAgKiB5b3VyIHBhdGhzIGFjY29yZGluZ2x5LiBGb3IgZXhhbXBsZSwgY2hhbmdlICdvdXRwdXRQYXRoJyB0b1xuICAgKiAnJFswXScuXG4gICAqL1xuICBwdWJsaWMgdG9TaW5nbGVTdGF0ZShpZDogc3RyaW5nLCBwcm9wczogUGFyYWxsZWxQcm9wcyA9IHt9KTogUGFyYWxsZWwge1xuICAgIHJldHVybiBuZXcgUGFyYWxsZWwodGhpcy5zdGFydFN0YXRlLCBpZCwgcHJvcHMpLmJyYW5jaCh0aGlzKTtcbiAgfVxufVxuIl19
@@ -26,5 +26,5 @@ class ClientVpnAuthorizationRule extends aws_construct_1.AwsConstructBase {
26
26
  }
27
27
  exports.ClientVpnAuthorizationRule = ClientVpnAuthorizationRule;
28
28
  _a = JSII_RTTI_SYMBOL_1;
29
- ClientVpnAuthorizationRule[_a] = { fqn: "terraconstructs.aws.compute.ClientVpnAuthorizationRule", version: "0.1.2" };
29
+ ClientVpnAuthorizationRule[_a] = { fqn: "terraconstructs.aws.compute.ClientVpnAuthorizationRule", version: "0.1.4" };
30
30
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LXZwbi1hdXRob3JpemF0aW9uLXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvY2xpZW50LXZwbi1hdXRob3JpemF0aW9uLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpSEFBaUg7QUFFakgsc0RBQW9FO0FBR3BFLG9EQUFvRDtBQXdDcEQ7O0dBRUc7QUFDSCxNQUFhLDBCQUEyQixTQUFRLGdDQUFnQjtJQUM5RCxJQUFXLE9BQU87UUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBc0M7UUFFdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLDRDQUE2QixDQUFDLDZCQUE2QixDQUM3RCxJQUFJLEVBQ0osVUFBVSxFQUNWO1lBQ0UsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQVU7WUFDdkQsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDN0IsYUFBYSxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQzVCLGtCQUFrQixFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDbEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQy9CLENBQ0YsQ0FBQztJQUNKLENBQUM7O0FBckJILGdFQXNCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lYzIvbGliL2NsaWVudC12cG4tYXV0aG9yaXphdGlvbi1ydWxlLnRzXG5cbmltcG9ydCB7IGVjMkNsaWVudFZwbkF1dGhvcml6YXRpb25SdWxlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBJQ2xpZW50VnBuRW5kcG9pbnQgfSBmcm9tIFwiLi9jbGllbnQtdnBuLWVuZHBvaW50LXR5cGVzXCI7XG5pbXBvcnQgeyBBd3NDb25zdHJ1Y3RCYXNlIH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBhIENsaWVudFZwbkF1dGhvcml6YXRpb25SdWxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpZW50VnBuQXV0aG9yaXphdGlvblJ1bGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBJUHY0IGFkZHJlc3MgcmFuZ2UsIGluIENJRFIgbm90YXRpb24sIG9mIHRoZSBuZXR3b3JrIGZvciB3aGljaCBhY2Nlc3NcbiAgICogaXMgYmVpbmcgYXV0aG9yaXplZC5cbiAgICovXG4gIHJlYWRvbmx5IGNpZHI6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBncm91cCB0byBncmFudCBhY2Nlc3MgdG8sIGZvciBleGFtcGxlLCB0aGUgQWN0aXZlIERpcmVjdG9yeVxuICAgKiBncm91cCBvciBpZGVudGl0eSBwcm92aWRlciAoSWRQKSBncm91cC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRob3JpemUgYWxsIGdyb3Vwc1xuICAgKi9cbiAgcmVhZG9ubHkgZ3JvdXBJZD86IHN0cmluZztcblxuICAvKipcbiAgICogQSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgYXV0aG9yaXphdGlvbiBydWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIENsaWVudFZwbkF1dGhvcml6YXRpb25SdWxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpZW50VnBuQXV0aG9yaXphdGlvblJ1bGVQcm9wc1xuICBleHRlbmRzIENsaWVudFZwbkF1dGhvcml6YXRpb25SdWxlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY2xpZW50IFZQTiBlbmRwb2ludCB0byB3aGljaCB0byBhZGQgdGhlIHJ1bGUuXG4gICAqIEBkZWZhdWx0IGNsaWVudFZwbkVuZHBvaW50IGlzIHJlcXVpcmVkXG4gICAqL1xuICByZWFkb25seSBjbGllbnRWcG5FbmRwb2ludDogSUNsaWVudFZwbkVuZHBvaW50O1xufVxuXG4vKipcbiAqIEEgY2xpZW50IFZQTiBhdXRob3JpemF0aW9uIHJ1bGVcbiAqL1xuZXhwb3J0IGNsYXNzIENsaWVudFZwbkF1dGhvcml6YXRpb25SdWxlIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSB7XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge307XG4gIH1cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBDbGllbnRWcG5BdXRob3JpemF0aW9uUnVsZVByb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIG5ldyBlYzJDbGllbnRWcG5BdXRob3JpemF0aW9uUnVsZS5FYzJDbGllbnRWcG5BdXRob3JpemF0aW9uUnVsZShcbiAgICAgIHRoaXMsXG4gICAgICBcIlJlc291cmNlXCIsXG4gICAgICB7XG4gICAgICAgIGNsaWVudFZwbkVuZHBvaW50SWQ6IHByb3BzLmNsaWVudFZwbkVuZHBvaW50LmVuZHBvaW50SWQsXG4gICAgICAgIHRhcmdldE5ldHdvcmtDaWRyOiBwcm9wcy5jaWRyLFxuICAgICAgICBhY2Nlc3NHcm91cElkOiBwcm9wcy5ncm91cElkLFxuICAgICAgICBhdXRob3JpemVBbGxHcm91cHM6ICFwcm9wcy5ncm91cElkLFxuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICB9LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -45,7 +45,7 @@ class ClientVpnUserBasedAuthentication {
45
45
  }
46
46
  exports.ClientVpnUserBasedAuthentication = ClientVpnUserBasedAuthentication;
47
47
  _a = JSII_RTTI_SYMBOL_1;
48
- ClientVpnUserBasedAuthentication[_a] = { fqn: "terraconstructs.aws.compute.ClientVpnUserBasedAuthentication", version: "0.1.2" };
48
+ ClientVpnUserBasedAuthentication[_a] = { fqn: "terraconstructs.aws.compute.ClientVpnUserBasedAuthentication", version: "0.1.4" };
49
49
  /**
50
50
  * Active Directory authentication
51
51
  */
@@ -229,7 +229,7 @@ class ClientVpnEndpoint extends aws_construct_1.AwsConstructBase {
229
229
  }
230
230
  exports.ClientVpnEndpoint = ClientVpnEndpoint;
231
231
  _b = JSII_RTTI_SYMBOL_1;
232
- ClientVpnEndpoint[_b] = { fqn: "terraconstructs.aws.compute.ClientVpnEndpoint", version: "0.1.2" };
232
+ ClientVpnEndpoint[_b] = { fqn: "terraconstructs.aws.compute.ClientVpnEndpoint", version: "0.1.4" };
233
233
  function renderAuthenticationOptions(clientCertificateArn, userBasedAuthentication) {
234
234
  const authenticationOptions = [];
235
235
  if (clientCertificateArn) {
@@ -28,7 +28,7 @@ class ClientVpnRouteTarget {
28
28
  }
29
29
  exports.ClientVpnRouteTarget = ClientVpnRouteTarget;
30
30
  _a = JSII_RTTI_SYMBOL_1;
31
- ClientVpnRouteTarget[_a] = { fqn: "terraconstructs.aws.compute.ClientVpnRouteTarget", version: "0.1.2" };
31
+ ClientVpnRouteTarget[_a] = { fqn: "terraconstructs.aws.compute.ClientVpnRouteTarget", version: "0.1.4" };
32
32
  /**
33
33
  * A client VPN route
34
34
  */
@@ -53,5 +53,5 @@ class ClientVpnRoute extends aws_construct_1.AwsConstructBase {
53
53
  }
54
54
  exports.ClientVpnRoute = ClientVpnRoute;
55
55
  _b = JSII_RTTI_SYMBOL_1;
56
- ClientVpnRoute[_b] = { fqn: "terraconstructs.aws.compute.ClientVpnRoute", version: "0.1.2" };
56
+ ClientVpnRoute[_b] = { fqn: "terraconstructs.aws.compute.ClientVpnRoute", version: "0.1.4" };
57
57
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LXZwbi1yb3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9jbGllbnQtdnBuLXJvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0dBQW9HO0FBRXBHLHNEQUF3RDtBQUl4RCxvREFBdUU7QUErQnZFOztHQUVHO0FBQ0gsTUFBc0Isb0JBQW9CO0lBQ3hDOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFlO1FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7QUFoQkgsb0RBb0JDOzs7QUFlRDs7R0FFRztBQUNILE1BQWEsY0FBZSxTQUFRLGdDQUFnQjtJQUVsRCxJQUFXLE9BQU87UUFDaEIsT0FBTztZQUNMLDhEQUE4RDtZQUM5RCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFDRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCO1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxnQ0FBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3hFLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVO1lBQ3ZELFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixvQkFBb0IsRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVE7U0FDekMsQ0FBQyxDQUFDO1FBRUgsMEdBQTBHO1FBQzFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FDOUIsS0FBSyxDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixDQUNqRCxDQUFDO0lBQ0osQ0FBQzs7QUFyQkgsd0NBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjMi9saWIvY2xpZW50LXZwbi1yb3V0ZS50c1xuXG5pbXBvcnQgeyBlYzJDbGllbnRWcG5Sb3V0ZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgSUNsaWVudFZwbkVuZHBvaW50IH0gZnJvbSBcIi4vY2xpZW50LXZwbi1lbmRwb2ludC10eXBlc1wiO1xuaW1wb3J0IHsgSVN1Ym5ldCB9IGZyb20gXCIuL3ZwY1wiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSwgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGEgQ2xpZW50VnBuUm91dGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGllbnRWcG5Sb3V0ZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIElQdjQgYWRkcmVzcyByYW5nZSwgaW4gQ0lEUiBub3RhdGlvbiwgb2YgdGhlIHJvdXRlIGRlc3RpbmF0aW9uLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZTpcbiAgICogICAtIFRvIGFkZCBhIHJvdXRlIGZvciBJbnRlcm5ldCBhY2Nlc3MsIGVudGVyIDAuMC4wLjAvMFxuICAgKiAgIC0gVG8gYWRkIGEgcm91dGUgZm9yIGEgcGVlcmVkIFZQQywgZW50ZXIgdGhlIHBlZXJlZCBWUEMncyBJUHY0IENJRFIgcmFuZ2VcbiAgICogICAtIFRvIGFkZCBhIHJvdXRlIGZvciBhbiBvbi1wcmVtaXNlcyBuZXR3b3JrLCBlbnRlciB0aGUgQVdTIFNpdGUtdG8tU2l0ZSBWUE5cbiAgICogICAgIGNvbm5lY3Rpb24ncyBJUHY0IENJRFIgcmFuZ2VcbiAgICogICAtIFRvIGFkZCBhIHJvdXRlIGZvciB0aGUgbG9jYWwgbmV0d29yaywgZW50ZXIgdGhlIGNsaWVudCBDSURSIHJhbmdlXG4gICAqL1xuICByZWFkb25seSBjaWRyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGF1dGhvcml6YXRpb24gcnVsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgZm9yIHRoZSByb3V0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0OiBDbGllbnRWcG5Sb3V0ZVRhcmdldDtcbn1cblxuLyoqXG4gKiBUYXJnZXQgZm9yIGEgY2xpZW50IFZQTiByb3V0ZVxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2xpZW50VnBuUm91dGVUYXJnZXQge1xuICAvKipcbiAgICogU3VibmV0XG4gICAqXG4gICAqIFRoZSBzcGVjaWZpZWQgc3VibmV0IG11c3QgYmUgYW4gZXhpc3RpbmcgdGFyZ2V0IG5ldHdvcmsgb2YgdGhlIGNsaWVudCBWUE5cbiAgICogZW5kcG9pbnQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHN1Ym5ldChzdWJuZXQ6IElTdWJuZXQpOiBDbGllbnRWcG5Sb3V0ZVRhcmdldCB7XG4gICAgcmV0dXJuIHsgc3VibmV0SWQ6IHN1Ym5ldC5zdWJuZXRJZCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIExvY2FsIG5ldHdvcmtcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbG9jYWwoKTogQ2xpZW50VnBuUm91dGVUYXJnZXQge1xuICAgIHJldHVybiB7IHN1Ym5ldElkOiBcImxvY2FsXCIgfTtcbiAgfVxuXG4gIC8qKiBUaGUgc3VibmV0IElEICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzdWJuZXRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgQ2xpZW50VnBuUm91dGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGllbnRWcG5Sb3V0ZVByb3BzXG4gIGV4dGVuZHMgQ2xpZW50VnBuUm91dGVPcHRpb25zLFxuICAgIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBjbGllbnQgVlBOIGVuZHBvaW50IHRvIHdoaWNoIHRvIGFkZCB0aGUgcm91dGUuXG4gICAqIEBkZWZhdWx0IGNsaWVudFZwbkVuZHBvaW50IGlzIHJlcXVpcmVkXG4gICAqL1xuICByZWFkb25seSBjbGllbnRWcG5FbmRwb2ludDogSUNsaWVudFZwbkVuZHBvaW50O1xufVxuXG4vKipcbiAqIEEgY2xpZW50IFZQTiByb3V0ZVxuICovXG5leHBvcnQgY2xhc3MgQ2xpZW50VnBuUm91dGUgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIHtcbiAgcHVibGljIHJlc291cmNlOiBlYzJDbGllbnRWcG5Sb3V0ZS5FYzJDbGllbnRWcG5Sb3V0ZTtcbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB7XG4gICAgICAvLyBpcyB0aGlzIHRoZSBJRCBvZiB0aGUgQ2xpZW50IFZQTiBlbmRwb2ludCBvciB0aGUgVlBOIHJvdXRlP1xuICAgICAgY2xpZW50VnBuUm91dGVJZDogdGhpcy5yZXNvdXJjZS5pZCxcbiAgICB9O1xuICB9XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDbGllbnRWcG5Sb3V0ZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBlYzJDbGllbnRWcG5Sb3V0ZS5FYzJDbGllbnRWcG5Sb3V0ZSh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGNsaWVudFZwbkVuZHBvaW50SWQ6IHByb3BzLmNsaWVudFZwbkVuZHBvaW50LmVuZHBvaW50SWQsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBkZXN0aW5hdGlvbkNpZHJCbG9jazogcHJvcHMuY2lkcixcbiAgICAgIHRhcmdldFZwY1N1Ym5ldElkOiBwcm9wcy50YXJnZXQuc3VibmV0SWQsXG4gICAgfSk7XG5cbiAgICAvLyBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1jbGllbnR2cG5yb3V0ZS5odG1sXG4gICAgdGhpcy5yZXNvdXJjZS5ub2RlLmFkZERlcGVuZGVuY3koXG4gICAgICBwcm9wcy5jbGllbnRWcG5FbmRwb2ludC50YXJnZXROZXR3b3Jrc0Fzc29jaWF0ZWQsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -167,7 +167,7 @@ class Code {
167
167
  }
168
168
  exports.Code = Code;
169
169
  _a = JSII_RTTI_SYMBOL_1;
170
- Code[_a] = { fqn: "terraconstructs.aws.compute.Code", version: "0.1.2" };
170
+ Code[_a] = { fqn: "terraconstructs.aws.compute.Code", version: "0.1.4" };
171
171
  /**
172
172
  * Lambda code from an S3 archive.
173
173
  */
@@ -195,7 +195,7 @@ class S3Code extends Code {
195
195
  }
196
196
  exports.S3Code = S3Code;
197
197
  _b = JSII_RTTI_SYMBOL_1;
198
- S3Code[_b] = { fqn: "terraconstructs.aws.compute.S3Code", version: "0.1.2" };
198
+ S3Code[_b] = { fqn: "terraconstructs.aws.compute.S3Code", version: "0.1.4" };
199
199
  /**
200
200
  * Lambda code from an S3 archive. With option to set KMSKey for encryption.
201
201
  */
@@ -224,7 +224,7 @@ class S3CodeV2 extends Code {
224
224
  }
225
225
  exports.S3CodeV2 = S3CodeV2;
226
226
  _c = JSII_RTTI_SYMBOL_1;
227
- S3CodeV2[_c] = { fqn: "terraconstructs.aws.compute.S3CodeV2", version: "0.1.2" };
227
+ S3CodeV2[_c] = { fqn: "terraconstructs.aws.compute.S3CodeV2", version: "0.1.4" };
228
228
  /**
229
229
  * Lambda code from an inline string.
230
230
  */
@@ -282,7 +282,7 @@ class InlineCode extends Code {
282
282
  }
283
283
  exports.InlineCode = InlineCode;
284
284
  _d = JSII_RTTI_SYMBOL_1;
285
- InlineCode[_d] = { fqn: "terraconstructs.aws.compute.InlineCode", version: "0.1.2" };
285
+ InlineCode[_d] = { fqn: "terraconstructs.aws.compute.InlineCode", version: "0.1.4" };
286
286
  /**
287
287
  * Lambda code from a local directory.
288
288
  */
@@ -325,7 +325,7 @@ class AssetCode extends Code {
325
325
  }
326
326
  exports.AssetCode = AssetCode;
327
327
  _e = JSII_RTTI_SYMBOL_1;
328
- AssetCode[_e] = { fqn: "terraconstructs.aws.compute.AssetCode", version: "0.1.2" };
328
+ AssetCode[_e] = { fqn: "terraconstructs.aws.compute.AssetCode", version: "0.1.4" };
329
329
  /**
330
330
  * Lambda code defined using 2 Terraform variables.
331
331
  * Useful when you don't have access to the code of your Lambda from your CDK code, so you can't use Assets,
@@ -397,7 +397,7 @@ class TerraformVariablesCode extends Code {
397
397
  }
398
398
  exports.TerraformVariablesCode = TerraformVariablesCode;
399
399
  _f = JSII_RTTI_SYMBOL_1;
400
- TerraformVariablesCode[_f] = { fqn: "terraconstructs.aws.compute.TerraformVariablesCode", version: "0.1.2" };
400
+ TerraformVariablesCode[_f] = { fqn: "terraconstructs.aws.compute.TerraformVariablesCode", version: "0.1.4" };
401
401
  /**
402
402
  * Represents a Docker image in ECR that can be bound as Lambda Code.
403
403
  */
@@ -422,7 +422,7 @@ class EcrImageCode extends Code {
422
422
  }
423
423
  exports.EcrImageCode = EcrImageCode;
424
424
  _g = JSII_RTTI_SYMBOL_1;
425
- EcrImageCode[_g] = { fqn: "terraconstructs.aws.compute.EcrImageCode", version: "0.1.2" };
425
+ EcrImageCode[_g] = { fqn: "terraconstructs.aws.compute.EcrImageCode", version: "0.1.4" };
426
426
  /**
427
427
  * Represents an ECR image that will be constructed from the specified asset and can be bound as Lambda code.
428
428
  */
@@ -459,5 +459,5 @@ class AssetImageCode extends Code {
459
459
  }
460
460
  exports.AssetImageCode = AssetImageCode;
461
461
  _h = JSII_RTTI_SYMBOL_1;
462
- AssetImageCode[_h] = { fqn: "terraconstructs.aws.compute.AssetImageCode", version: "0.1.2" };
462
+ AssetImageCode[_h] = { fqn: "terraconstructs.aws.compute.AssetImageCode", version: "0.1.4" };
463
463
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQTBDO0FBQzFDLCtCQUF5QztBQUN6Qyw4REFBMEQ7QUFDMUQsK0JBQStCO0FBRS9CLDZDQUFpRTtBQUNqRSw2REFBaUQ7QUFDakQsNENBQXdDO0FBRXhDLDhCQUE4QjtBQUU5QixvREFBb0Q7QUFDcEQsNERBQTREO0FBQzVELGtEQUFrRDtBQUNsRCxzQ0FBc0M7QUFDdEMsK0NBQStDO0FBQy9DLDhDQUE4QztBQUM5QyxXQUFXO0FBQ1gsNkJBQTZCO0FBQzdCLHFCQUFxQjtBQUNyQixrQ0FBa0M7QUFFbEM7O0dBRUc7QUFDSCxNQUFzQixJQUFJO0lBQ3hCOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FDdEIsTUFBdUIsRUFDdkIsR0FBVyxFQUNYLGFBQXNCO1FBRXRCLE9BQU8sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQ3hCLE1BQXVCLEVBQ3ZCLEdBQVcsRUFDWCxPQUF1QjtRQUV2QixPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLE1BQXVCLEVBQ3ZCLEdBQVcsRUFDWCxhQUFzQjtRQUV0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWTtRQUNuQyxPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7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VSxDQUFDLFNBQVMsQ0FDN0IsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsQ0FDakQsQ0FBQztRQUNKLENBQUM7YUFBTSxJQUNMLG9CQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxvQkFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFDdEUsQ0FBQztZQUNELDZCQUE2QjtZQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLG1EQUFtRCxvQkFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxLQUFLO2dCQUNsRyw2Q0FBNkMsQ0FFaEQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsS0FBSyxFQUFFO2dCQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7Z0JBQzdCLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVU7Z0JBQ2pDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7Z0JBQ25CLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCO2FBQzlDO1NBQ0YsQ0FBQztJQUNKLENBQUM7O0FBeENILHdDQXlEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNwYXduU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgeyBqb2luIGFzIHBhdGh0Sm9pbiB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBkYXRhQXJjaGl2ZUZpbGUgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWFyY2hpdmVcIjtcbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IERvY2tlckltYWdlLCBEb2NrZXJCdWlsZE9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vYnVuZGxpbmdcIjtcbmltcG9ydCB7IG1kNWhhc2ggfSBmcm9tIFwiLi4vLi4vaGVscGVycy1pbnRlcm5hbFwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi4vYXdzLXN0YWNrXCI7XG5pbXBvcnQgeyBJS2V5IH0gZnJvbSBcIi4uL2VuY3J5cHRpb25cIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vaWFtXCI7XG5pbXBvcnQgKiBhcyBzdG9yYWdlIGZyb20gXCIuLi9zdG9yYWdlXCI7XG4vLyBpbXBvcnQgeyBJQXdzQ29uc3RydWN0IH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCAqIGFzIGVjcl9hc3NldHMgZnJvbSBcIi4uL3N0b3JhZ2UvYXNzZXRzL2ltYWdlLWFzc2V0XCI7XG5pbXBvcnQgKiBhcyBzM19hc3NldHMgZnJvbSBcIi4uL3N0b3JhZ2UvYXNzZXRzL3MzXCI7XG4vLyBUT0RPOiBBZG9wdCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvclxuLy8gLSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC8zMzM4Mi9cbi8vIC0gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL3B1bGwvMzMwNDVcbi8vIGltcG9ydCB7XG4vLyAgIFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yLFxuLy8gICBWYWxpZGF0aW9uRXJyb3IsXG4vLyB9IGZyb20gXCIuLi8uLi9jb3JlL2xpYi9lcnJvcnNcIjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBMYW1iZGEgSGFuZGxlciBDb2RlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29kZSB7XG4gIC8qKlxuICAgKiBMYW1iZGEgaGFuZGxlciBjb2RlIGFzIGFuIFMzIG9iamVjdC5cbiAgICogQHBhcmFtIGJ1Y2tldCBUaGUgUzMgYnVja2V0XG4gICAqIEBwYXJhbSBrZXkgVGhlIG9iamVjdCBrZXlcbiAgICogQHBhcmFtIG9iamVjdFZlcnNpb24gT3B0aW9uYWwgUzMgb2JqZWN0IHZlcnNpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUJ1Y2tldChcbiAgICBidWNrZXQ6IHN0b3JhZ2UuSUJ1Y2tldCxcbiAgICBrZXk6IHN0cmluZyxcbiAgICBvYmplY3RWZXJzaW9uPzogc3RyaW5nLFxuICApOiBTM0NvZGUge1xuICAgIHJldHVybiBuZXcgUzNDb2RlKGJ1Y2tldCwga2V5LCBvYmplY3RWZXJzaW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMYW1iZGEgaGFuZGxlciBjb2RlIGFzIGFuIFMzIG9iamVjdC5cbiAgICogQHBhcmFtIGJ1Y2tldCBUaGUgUzMgYnVja2V0XG4gICAqIEBwYXJhbSBrZXkgVGhlIG9iamVjdCBrZXlcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwgcGFyYW1ldGVycyBmb3Igc2V0dGluZyB0aGUgY29kZSwgY3VycmVudCBvcHRpb25hbCBwYXJhbWV0ZXJzIHRvIHNldCBoZXJlIGFyZVxuICAgKiAxLiBgb2JqZWN0VmVyc2lvbmAgdG8gc2V0IFMzIG9iamVjdCB2ZXJzaW9uXG4gICAqIDIuIGBzb3VyY2VLTVNLZXlgIHRvIHNldCBLTVMgS2V5IGZvciBlbmNyeXB0aW9uIG9mIGNvZGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUJ1Y2tldFYyKFxuICAgIGJ1Y2tldDogc3RvcmFnZS5JQnVja2V0LFxuICAgIGtleTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBCdWNrZXRPcHRpb25zLFxuICApOiBTM0NvZGVWMiB7XG4gICAgcmV0dXJuIG5ldyBTM0NvZGVWMihidWNrZXQsIGtleSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogREVQUkVDQVRFRFxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGZyb21CdWNrZXRgXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGJ1Y2tldChcbiAgICBidWNrZXQ6IHN0b3JhZ2UuSUJ1Y2tldCxcbiAgICBrZXk6IHN0cmluZyxcbiAgICBvYmplY3RWZXJzaW9uPzogc3RyaW5nLFxuICApOiBTM0NvZGUge1xuICAgIHJldHVybiB0aGlzLmZyb21CdWNrZXQoYnVja2V0LCBrZXksIG9iamVjdFZlcnNpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIElubGluZSBjb2RlIGZvciBMYW1iZGEgaGFuZGxlclxuICAgKiBAcmV0dXJucyBgTGFtYmRhSW5saW5lQ29kZWAgd2l0aCBpbmxpbmUgY29kZS5cbiAgICogQHBhcmFtIGNvZGUgVGhlIGFjdHVhbCBoYW5kbGVyIGNvZGUgKHRoZSByZXN1bHRpbmcgemlwIGZpbGUgY2Fubm90IGV4Y2VlZCA0TUIpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21JbmxpbmUoY29kZTogc3RyaW5nKTogSW5saW5lQ29kZSB7XG4gICAgcmV0dXJuIG5ldyBJbmxpbmVDb2RlKGNvZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERFUFJFQ0FURURcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBmcm9tSW5saW5lYFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbmxpbmUoY29kZTogc3RyaW5nKTogSW5saW5lQ29kZSB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbUlubGluZShjb2RlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyB0aGUgZnVuY3Rpb24gY29kZSBmcm9tIGEgbG9jYWwgZGlzayBwYXRoLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCBFaXRoZXIgYSBkaXJlY3Rvcnkgd2l0aCB0aGUgTGFtYmRhIGNvZGUgYnVuZGxlIG9yIGEgLnppcCBmaWxlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Bc3NldChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHMzX2Fzc2V0cy5Bc3NldE9wdGlvbnMsXG4gICk6IEFzc2V0Q29kZSB7XG4gICAgcmV0dXJuIG5ldyBBc3NldENvZGUocGF0aCwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUnVucyBhIGNvbW1hbmQgdG8gYnVpbGQgdGhlIGNvZGUgYXNzZXQgdGhhdCB3aWxsIGJlIHVzZWQuXG4gICAqXG4gICAqIEBwYXJhbSBvdXRwdXQgV2hlcmUgdGhlIG91dHB1dCBvZiB0aGUgY29tbWFuZCB3aWxsIGJlIGRpcmVjdGVkLCBlaXRoZXIgYSBkaXJlY3Rvcnkgb3IgYSAuemlwIGZpbGUgd2l0aCB0aGUgb3V0cHV0IExhbWJkYSBjb2RlIGJ1bmRsZVxuICAgKiAqIEZvciBleGFtcGxlLCBpZiB5b3UgdXNlIHRoZSBjb21tYW5kIHRvIHJ1biBhIGJ1aWxkIHNjcmlwdCAoZS5nLiwgWyAnbm9kZScsICdidW5kbGVfY29kZS5qcycgXSksIGFuZCB0aGUgYnVpbGQgc2NyaXB0IGdlbmVyYXRlcyBhIGRpcmVjdG9yeSBgL215L2xhbWJkYS9jb2RlYFxuICAgKiBjb250YWluaW5nIGNvZGUgdGhhdCBzaG91bGQgYmUgcmFuIGluIGEgTGFtYmRhIGZ1bmN0aW9uLCB0aGVuIG91dHB1dCBzaG91bGQgYmUgc2V0IHRvIGAvbXkvbGFtYmRhL2NvZGVgXG4gICAqIEBwYXJhbSBjb21tYW5kIFRoZSBjb21tYW5kIHdoaWNoIHdpbGwgYmUgZXhlY3V0ZWQgdG8gZ2VuZXJhdGUgdGhlIG91dHB1dCwgZm9yIGV4YW1wbGUsIFsgJ25vZGUnLCAnYnVuZGxlX2NvZGUuanMnIF1cbiAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucyBmb3IgdGhlIGN1c3RvbSBjb21tYW5kLCBhbmQgb3RoZXIgYXNzZXQgb3B0aW9ucyAtLSBidXQgYnVuZGxpbmcgb3B0aW9ucyBhcmUgbm90IGFsbG93ZWQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21DdXN0b21Db21tYW5kKFxuICAgIG91dHB1dDogc3RyaW5nLFxuICAgIGNvbW1hbmQ6IHN0cmluZ1tdLFxuICAgIG9wdGlvbnM/OiBDdXN0b21Db21tYW5kT3B0aW9ucyxcbiAgKTogQXNzZXRDb2RlIHtcbiAgICBpZiAoY29tbWFuZC5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ2NvbW1hbmQgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4gRm9yIGV4YW1wbGUsIFtcIm5vZGVcIiwgXCJidWlsZEZpbGUuanNcIl0uJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgY21kID0gY29tbWFuZFswXTtcbiAgICBjb25zdCBjb21tYW5kQXJndW1lbnRzID0gY29tbWFuZC5zcGxpY2UoMSk7XG5cbiAgICBjb25zdCBwcm9jID1cbiAgICAgIG9wdGlvbnM/LmNvbW1hbmRPcHRpb25zID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBzcGF3blN5bmMoY21kLCBjb21tYW5kQXJndW1lbnRzKSAvLyB1c2UgdGhlIGRlZmF1bHQgc3Bhd25TeW5jT3B0aW9uc1xuICAgICAgICA6IHNwYXduU3luYyhjbWQsIGNvbW1hbmRBcmd1bWVudHMsIG9wdGlvbnMuY29tbWFuZE9wdGlvbnMpO1xuXG4gICAgaWYgKHByb2MuZXJyb3IpIHtcbiAgICAgIC8vIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGV4ZWN1dGUgY3VzdG9tIGNvbW1hbmQ6ICR7cHJvYy5lcnJvcn1gKTtcbiAgICB9XG4gICAgaWYgKHByb2Muc3RhdHVzICE9PSAwKSB7XG4gICAgICAvLyB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGAke2NvbW1hbmQuam9pbihcIiBcIil9IGV4aXRlZCB3aXRoIHN0YXR1czogJHtwcm9jLnN0YXR1c31cXG5cXG5zdGRvdXQ6ICR7cHJvYy5zdGRvdXQ/LnRvU3RyaW5nKCkudHJpbSgpfVxcblxcbnN0ZGVycjogJHtwcm9jLnN0ZGVycj8udG9TdHJpbmcoKS50cmltKCl9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBBc3NldENvZGUob3V0cHV0LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyB0aGUgZnVuY3Rpb24gY29kZSBmcm9tIGFuIGFzc2V0IGNyZWF0ZWQgYnkgYSBEb2NrZXIgYnVpbGQuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBhc3NldCBpcyBleHBlY3RlZCB0byBiZSBsb2NhdGVkIGF0IGAvYXNzZXRgIGluIHRoZVxuICAgKiBpbWFnZS5cbiAgICpcbiAgICogQHBhcmFtIHBhdGggVGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBEb2NrZXIgZmlsZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBEb2NrZXIgYnVpbGQgb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRG9ja2VyQnVpbGQoXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IERvY2tlckJ1aWxkQXNzZXRPcHRpb25zID0ge30sXG4gICk6IEFzc2V0Q29kZSB7XG4gICAgbGV0IGltYWdlUGF0aCA9IG9wdGlvbnMuaW1hZ2VQYXRoID8/IFwiL2Fzc2V0Ly5cIjtcblxuICAgIC8vIGVuc3VyZSBpbWFnZVBhdGggZW5kcyB3aXRoIC8uIHRvIGNvcHkgdGhlICoqY29udGVudCoqIGF0IHRoaXMgcGF0aFxuICAgIGlmIChpbWFnZVBhdGguZW5kc1dpdGgoXCIvXCIpKSB7XG4gICAgICBpbWFnZVBhdGggPSBgJHtpbWFnZVBhdGh9LmA7XG4gICAgfSBlbHNlIGlmICghaW1hZ2VQYXRoLmVuZHNXaXRoKFwiLy5cIikpIHtcbiAgICAgIGltYWdlUGF0aCA9IGAke2ltYWdlUGF0aH0vLmA7XG4gICAgfVxuXG4gICAgY29uc3QgYXNzZXRQYXRoID0gRG9ja2VySW1hZ2UuZnJvbUJ1aWxkKHBhdGgsIG9wdGlvbnMpLmNwKFxuICAgICAgaW1hZ2VQYXRoLFxuICAgICAgb3B0aW9ucy5vdXRwdXRQYXRoLFxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IEFzc2V0Q29kZShhc3NldFBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERFUFJFQ0FURURcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBmcm9tQXNzZXRgXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzc2V0KHBhdGg6IHN0cmluZyk6IEFzc2V0Q29kZSB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbUFzc2V0KHBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgTGFtYmRhIHNvdXJjZSBkZWZpbmVkIHVzaW5nIFRlcnJhZm9ybSB2YXJpYWJsZXMuXG4gICAqXG4gICAqIEByZXR1cm5zIGEgbmV3IGluc3RhbmNlIG9mIGBUZXJyYWZvcm1WYXJpYWJsZXNDb2RlYFxuICAgKiBAcGFyYW0gcHJvcHMgb3B0aW9uYWwgY29uc3RydWN0aW9uIHByb3BlcnRpZXMgb2YgYFRlcnJhZm9ybVZhcmlhYmxlc0NvZGVgXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21UZXJyYWZvcm1WYXJpYWJsZXMoXG4gICAgcHJvcHM/OiBUZXJyYWZvcm1WYXJpYWJsZXNDb2RlUHJvcHMsXG4gICk6IFRlcnJhZm9ybVZhcmlhYmxlc0NvZGUge1xuICAgIHJldHVybiBuZXcgVGVycmFmb3JtVmFyaWFibGVzQ29kZShwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogREVQUkVDQVRFRFxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGZyb21UZXJyYWZvcm1WYXJpYWJsZXNgXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRlcnJhZm9ybVZhcmlhYmxlcyhcbiAgICBwcm9wcz86IFRlcnJhZm9ybVZhcmlhYmxlc0NvZGVQcm9wcyxcbiAgKTogVGVycmFmb3JtVmFyaWFibGVzQ29kZSB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbVRlcnJhZm9ybVZhcmlhYmxlcyhwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogVXNlIGFuIGV4aXN0aW5nIEVDUiBpbWFnZSBhcyB0aGUgTGFtYmRhIGNvZGUuXG4gICAqIEBwYXJhbSByZXBvc2l0b3J5IHRoZSBFQ1IgcmVwb3NpdG9yeSB0aGF0IHRoZSBpbWFnZSBpcyBpblxuICAgKiBAcGFyYW0gcHJvcHMgcHJvcGVydGllcyB0byBmdXJ0aGVyIGNvbmZpZ3VyZSB0aGUgc2VsZWN0ZWQgaW1hZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUVjckltYWdlKFxuICAgIHJlcG9zaXRvcnk6IHN0b3JhZ2UuSVJlcG9zaXRvcnksXG4gICAgcHJvcHM/OiBFY3JJbWFnZUNvZGVQcm9wcyxcbiAgKSB7XG4gICAgcmV0dXJuIG5ldyBFY3JJbWFnZUNvZGUocmVwb3NpdG9yeSwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBFQ1IgaW1hZ2UgZnJvbSB0aGUgc3BlY2lmaWVkIGFzc2V0IGFuZCBiaW5kIGl0IGFzIHRoZSBMYW1iZGEgY29kZS5cbiAgICogQHBhcmFtIGRpcmVjdG9yeSB0aGUgZGlyZWN0b3J5IGZyb20gd2hpY2ggdGhlIGFzc2V0IG11c3QgYmUgY3JlYXRlZFxuICAgKiBAcGFyYW0gcHJvcHMgcHJvcGVydGllcyB0byBmdXJ0aGVyIGNvbmZpZ3VyZSB0aGUgc2VsZWN0ZWQgaW1hZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFzc2V0SW1hZ2UoXG4gICAgZGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgcHJvcHM6IEFzc2V0SW1hZ2VDb2RlUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgcmV0dXJuIG5ldyBBc3NldEltYWdlQ29kZShkaXJlY3RvcnksIHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhpcyBDb2RlIGlzIGlubGluZSBjb2RlIG9yIG5vdC5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdGhpcyB2YWx1ZSBpcyBpZ25vcmVkIHNpbmNlIGlubGluZSBpcyBub3cgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGVcbiAgICogdGhlIGBpbmxpbmVDb2RlYCBmaWVsZCBvZiBgQ29kZUNvbmZpZ2AgcmV0dXJuZWQgZnJvbSBgYmluZCgpYC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpc0lubGluZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGxhbWJkYSBvciBsYXllciBpcyBpbml0aWFsaXplZCB0byBhbGxvdyB0aGlzIG9iamVjdCB0byBiaW5kXG4gICAqIHRvIHRoZSBzdGFjaywgYWRkIHJlc291cmNlcyBhbmQgaGF2ZSBmdW4uXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgYmluZGluZyBzY29wZS4gRG9uJ3QgYmUgc21hcnQgYWJvdXQgdHJ5aW5nIHRvIGRvd24tY2FzdCBvclxuICAgKiBhc3N1bWUgaXQncyBpbml0aWFsaXplZC4gWW91IG1heSBqdXN0IHVzZSBpdCBhcyBhIGNvbnN0cnVjdCBzY29wZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBDb2RlQ29uZmlnO1xuXG4gIC8vIFRPRE86IHBlbmRpbmcgY3VzdG9tIENMSSB0byBtb2NrIExhbWJkYSBmdW5jdGlvbiBpbnZvY2F0aW9ucyBsb2NhbGx5XG4gIC8vIC8qKlxuICAvLyAgKiBDYWxsZWQgYWZ0ZXIgdGhlIHRlcnJhZm9ybSBwcm92aWRlciBmdW5jdGlvbiByZXNvdXJjZSBoYXMgYmVlbiBjcmVhdGVkIHRvIGFsbG93IHRoZSBjb2RlXG4gIC8vICAqIGNsYXNzIHRvIGJpbmQgdG8gaXQuIFNwZWNpZmljYWxseSBpdCdzIHJlcXVpcmVkIHRvIGFsbG93IGFzc2V0cyB0byBhZGRcbiAgLy8gICogbWV0YWRhdGEgZm9yIHRvb2xpbmcgbGlrZSBTQU0gQ0xJIHRvIGJlIGFibGUgdG8gZmluZCB0aGVpciBvcmlnaW5zLlxuICAvLyAgKi9cbiAgLy8gcHVibGljIGJpbmRUb1Jlc291cmNlKFxuICAvLyAgIF9yZXNvdXJjZTogSUF3c0NvbnN0cnVjdCxcbiAgLy8gICBfb3B0aW9ucz86IFJlc291cmNlQmluZE9wdGlvbnMsXG4gIC8vICkge1xuICAvLyAgIHJldHVybjtcbiAgLy8gfVxufVxuXG4vKipcbiAqIFJlc3VsdCBvZiBiaW5kaW5nIGBDb2RlYCBpbnRvIGEgYEZ1bmN0aW9uYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBsb2NhdGlvbiBvZiB0aGUgY29kZSBpbiBTMyAobXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYGlubGluZUNvZGVgIGFuZCBgaW1hZ2VgKS5cbiAgICogQGRlZmF1bHQgLSBjb2RlIGlzIG5vdCBhbiBzMyBsb2NhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgczNMb2NhdGlvbj86IHN0b3JhZ2UuUzNMb2NhdGlvbjtcblxuICAvKipcbiAgICogSW5saW5lIGNvZGUgKG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGBzM0xvY2F0aW9uYCBhbmQgYGltYWdlYCkuXG4gICAqIEBkZWZhdWx0IC0gY29kZSBpcyBub3QgaW5saW5lIGNvZGVcbiAgICovXG4gIHJlYWRvbmx5IGlubGluZUNvZGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERvY2tlciBpbWFnZSBjb25maWd1cmF0aW9uIChtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgczNMb2NhdGlvbmAgYW5kIGBpbmxpbmVDb2RlYCkuXG4gICAqIEBkZWZhdWx0IC0gY29kZSBpcyBub3QgYW4gRUNSIGNvbnRhaW5lciBpbWFnZVxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2U/OiBDb2RlSW1hZ2VDb25maWc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIEtNUyBrZXkgdXNlZCB0byBlbmNyeXB0IHRoZSBoYW5kbGVyIGNvZGUuXG4gICAqIEBkZWZhdWx0IC0gdGhlIGRlZmF1bHQgc2VydmVyLXNpZGUgZW5jcnlwdGlvbiB3aXRoIEFtYXpvbiBTMyBtYW5hZ2VkIGtleXMoU1NFLVMzKSBrZXkgd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlS01TS2V5QXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGhhc2ggb2YgdGhlIHNvdXJjZSBjb2RlLCB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgY29kZSBoYXMgY2hhbmdlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUNvZGVIYXNoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3VsdCBvZiB0aGUgYmluZCB3aGVuIGFuIEVDUiBpbWFnZSBpcyB1c2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVJbWFnZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBVUkkgdG8gdGhlIERvY2tlciBpbWFnZS5cbiAgICovXG4gIHJlYWRvbmx5IGltYWdlVXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgb3Igb3ZlcnJpZGUgdGhlIENNRCBvbiB0aGUgc3BlY2lmaWVkIERvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlLlxuICAgKiBUaGlzIG5lZWRzIHRvIGJlIGluIHRoZSAnZXhlYyBmb3JtJywgdml6LiwgYFsgJ2V4ZWN1dGFibGUnLCAncGFyYW0xJywgJ3BhcmFtMicgXWAuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vZW5naW5lL3JlZmVyZW5jZS9idWlsZGVyLyNjbWRcbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIENNRCBzcGVjaWZpZWQgaW4gdGhlIGRvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgY21kPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgb3Igb3ZlcnJpZGUgdGhlIEVOVFJZUE9JTlQgb24gdGhlIHNwZWNpZmllZCBEb2NrZXIgaW1hZ2Ugb3IgRG9ja2VyZmlsZS5cbiAgICogQW4gRU5UUllQT0lOVCBhbGxvd3MgeW91IHRvIGNvbmZpZ3VyZSBhIGNvbnRhaW5lciB0aGF0IHdpbGwgcnVuIGFzIGFuIGV4ZWN1dGFibGUuXG4gICAqIFRoaXMgbmVlZHMgdG8gYmUgaW4gdGhlICdleGVjIGZvcm0nLCB2aXouLCBgWyAnZXhlY3V0YWJsZScsICdwYXJhbTEnLCAncGFyYW0yJyBdYC5cbiAgICogQHNlZSBodHRwczovL2RvY3MuZG9ja2VyLmNvbS9lbmdpbmUvcmVmZXJlbmNlL2J1aWxkZXIvI2VudHJ5cG9pbnRcbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIEVOVFJZUE9JTlQgaW4gdGhlIGRvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgZW50cnlwb2ludD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IG9yIG92ZXJyaWRlIHRoZSBXT1JLRElSIG9uIHRoZSBzcGVjaWZpZWQgRG9ja2VyIGltYWdlIG9yIERvY2tlcmZpbGUuXG4gICAqIEEgV09SS0RJUiBhbGxvd3MgeW91IHRvIGNvbmZpZ3VyZSB0aGUgd29ya2luZyBkaXJlY3RvcnkgdGhlIGNvbnRhaW5lciB3aWxsIHVzZS5cbiAgICogQHNlZSBodHRwczovL2RvY3MuZG9ja2VyLmNvbS9lbmdpbmUvcmVmZXJlbmNlL2J1aWxkZXIvI3dvcmtkaXJcbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIFdPUktESVIgaW4gdGhlIGRvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZ0RpcmVjdG9yeT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBMYW1iZGEgY29kZSBmcm9tIGFuIFMzIGFyY2hpdmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTM0NvZGUgZXh0ZW5kcyBDb2RlIHtcbiAgcHVibGljIHJlYWRvbmx5IGlzSW5saW5lID0gZmFsc2U7XG4gIHByaXZhdGUgYnVja2V0TmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGJ1Y2tldDogc3RvcmFnZS5JQnVja2V0LFxuICAgIHByaXZhdGUga2V5OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBvYmplY3RWZXJzaW9uPzogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKCFidWNrZXQuYnVja2V0TmFtZSkge1xuICAgICAgLy8gdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJidWNrZXROYW1lIGlzIHVuZGVmaW5lZCBmb3IgdGhlIHByb3ZpZGVkIGJ1Y2tldFwiLFxuICAgICAgICAvLyBidWNrZXQsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuYnVja2V0TmFtZSA9IGJ1Y2tldC5idWNrZXROYW1lO1xuICB9XG5cbiAgcHVibGljIGJpbmQoX3Njb3BlOiBDb25zdHJ1Y3QpOiBDb2RlQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgczNMb2NhdGlvbjoge1xuICAgICAgICBidWNrZXROYW1lOiB0aGlzLmJ1Y2tldE5hbWUsXG4gICAgICAgIG9iamVjdEtleTogdGhpcy5rZXksXG4gICAgICAgIG9iamVjdFZlcnNpb246IHRoaXMub2JqZWN0VmVyc2lvbixcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIExhbWJkYSBjb2RlIGZyb20gYW4gUzMgYXJjaGl2ZS4gV2l0aCBvcHRpb24gdG8gc2V0IEtNU0tleSBmb3IgZW5jcnlwdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFMzQ29kZVYyIGV4dGVuZHMgQ29kZSB7XG4gIHB1YmxpYyByZWFkb25seSBpc0lubGluZSA9IGZhbHNlO1xuICBwcml2YXRlIGJ1Y2tldE5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBidWNrZXQ6IHN0b3JhZ2UuSUJ1Y2tldCxcbiAgICBwcml2YXRlIGtleTogc3RyaW5nLFxuICAgIHByaXZhdGUgb3B0aW9ucz86IEJ1Y2tldE9wdGlvbnMsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKCFidWNrZXQuYnVja2V0TmFtZSkge1xuICAgICAgLy8gdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJidWNrZXROYW1lIGlzIHVuZGVmaW5lZCBmb3IgdGhlIHByb3ZpZGVkIGJ1Y2tldFwiLFxuICAgICAgICAvLyBidWNrZXQsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuYnVja2V0TmFtZSA9IGJ1Y2tldC5idWNrZXROYW1lO1xuICB9XG5cbiAgcHVibGljIGJpbmQoX3Njb3BlOiBDb25zdHJ1Y3QpOiBDb2RlQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgczNMb2NhdGlvbjoge1xuICAgICAgICBidWNrZXROYW1lOiB0aGlzLmJ1Y2tldE5hbWUsXG4gICAgICAgIG9iamVjdEtleTogdGhpcy5rZXksXG4gICAgICAgIG9iamVjdFZlcnNpb246IHRoaXMub3B0aW9ucz8ub2JqZWN0VmVyc2lvbixcbiAgICAgIH0sXG4gICAgICBzb3VyY2VLTVNLZXlBcm46IHRoaXMub3B0aW9ucz8uc291cmNlS01TS2V5Py5rZXlBcm4sXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIExhbWJkYSBjb2RlIGZyb20gYW4gaW5saW5lIHN0cmluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIElubGluZUNvZGUgZXh0ZW5kcyBDb2RlIHtcbiAgcHVibGljIHJlYWRvbmx5IGlzSW5saW5lID0gdHJ1ZTtcbiAgcHJpdmF0ZSBkYXRhQXJjaGl2ZT86IGRhdGFBcmNoaXZlRmlsZS5EYXRhQXJjaGl2ZUZpbGU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb2RlOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKGNvZGUubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJMYW1iZGEgaW5saW5lIGNvZGUgY2Fubm90IGJlIGVtcHR5XCIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBDb2RlQ29uZmlnIHtcbiAgICB0aGlzLmVuc3VyZURhdGFBcmNoaXZlKHNjb3BlKTtcbiAgICByZXR1cm4ge1xuICAgICAgaW5saW5lQ29kZTogdGhpcy5kYXRhQXJjaGl2ZSEub3V0cHV0UGF0aCxcbiAgICAgIHNvdXJjZUNvZGVIYXNoOiB0aGlzLmRhdGFBcmNoaXZlIS5vdXRwdXRCYXNlNjRTaGEyNTYsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVZ2x5IGhhY2sgdG8gc3VwcG9ydCBpbmxpbmUgY29kZSB3aXRoIFRlcnJhZm9ybS5cbiAgICpcbiAgICogaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tcHJvdmlkZXItYXdzL2lzc3Vlcy85Nzc0I2lzc3VlY29tbWVudC02NjkzNTY3ODZcbiAgICogQHBhcmFtIHNjb3BlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcml2YXRlIGVuc3VyZURhdGFBcmNoaXZlKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICBpZiAodGhpcy5kYXRhQXJjaGl2ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBnZXQgdGhlIHByb3ZpZGVyIHNpbmdsZXRvblxuICAgIGNvbnN0IHByb3ZpZGVyID0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3Qoc2NvcGUpLmFyY2hpdmVQcm92aWRlcjtcbiAgICAvLyBlbnN1cmUgdGhlIGNvZGUgaXMgaGFzaGVkIGZvciBjb25zaXN0ZW5jeVxuICAgIGNvbnN0IGlkID0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3Qoc2NvcGUpLnVuaXF1ZVJlc291cmNlTmFtZShcbiAgICAgIG5ldyBjZGt0Zi5UZXJyYWZvcm1FbGVtZW50KHNjb3BlLCBtZDVoYXNoKHRoaXMuY29kZSkpLFxuICAgICAge1xuICAgICAgICBtYXhMZW5ndGg6IDY0LFxuICAgICAgICBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6IFwiLV9cIixcbiAgICAgIH0sXG4gICAgKTtcbiAgICAvLyBjb25zdCBpZCA9IG1kNWhhc2godGhpcy5jb2RlKTtcbiAgICBjb25zdCBleGlzdGluZyA9IHNjb3BlLm5vZGUudHJ5RmluZENoaWxkKGlkKTtcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIHRoaXMuZGF0YUFyY2hpdmUgPSBleGlzdGluZyBhcyBkYXRhQXJjaGl2ZUZpbGUuRGF0YUFyY2hpdmVGaWxlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGFBcmNoaXZlID0gbmV3IGRhdGFBcmNoaXZlRmlsZS5EYXRhQXJjaGl2ZUZpbGUoc2NvcGUsIGlkLCB7XG4gICAgICAgIG91dHB1dFBhdGg6IHBhdGh0Sm9pbihcbiAgICAgICAgICBjZGt0Zi5Ub2tlbi5hc1N0cmluZyhjZGt0Zi5yZWYoXCJwYXRoLnJvb3RcIikpLFxuICAgICAgICAgIFwiLmFyY2hpdmVfZmlsZXNcIixcbiAgICAgICAgICBgJHtpZH0uemlwYCxcbiAgICAgICAgKSxcbiAgICAgICAgdHlwZTogXCJ6aXBcIixcbiAgICAgICAgc291cmNlQ29udGVudDogdGhpcy5jb2RlLFxuICAgICAgICAvLyBUT0RPOiB3aGF0IGlzIGZpbGVuYW1lP1xuICAgICAgICBzb3VyY2VDb250ZW50RmlsZW5hbWU6IFwiaW5kZXhcIixcbiAgICAgICAgcHJvdmlkZXIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBMYW1iZGEgY29kZSBmcm9tIGEgbG9jYWwgZGlyZWN0b3J5LlxuICovXG5leHBvcnQgY2xhc3MgQXNzZXRDb2RlIGV4dGVuZHMgQ29kZSB7XG4gIHB1YmxpYyByZWFkb25seSBpc0lubGluZSA9IGZhbHNlO1xuICBwcml2YXRlIGFzc2V0PzogczNfYXNzZXRzLkFzc2V0O1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB0byB0aGUgYXNzZXQgZmlsZSBvciBkaXJlY3RvcnkuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGF0aDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogczNfYXNzZXRzLkFzc2V0T3B0aW9ucyA9IHt9LFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IENvZGVDb25maWcge1xuICAgIC8vIElmIHRoZSBzYW1lIEFzc2V0Q29kZSBpcyB1c2VkIG11bHRpcGxlIHRpbWVzLCByZXRhaW4gb25seSB0aGUgZmlyc3QgaW5zdGFudGlhdGlvbi5cbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSBuZXcgczNfYXNzZXRzLkFzc2V0KHNjb3BlLCBcIkNvZGVcIiwge1xuICAgICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICAgIGRlcGxveVRpbWU6IHRydWUsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdCh0aGlzLmFzc2V0KSAhPT0gQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3Qoc2NvcGUpXG4gICAgKSB7XG4gICAgICAvLyB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQXNzZXQgaXMgYWxyZWFkeSBhc3NvY2lhdGVkIHdpdGggYW5vdGhlciBzdGFjayAnJHtBd3NTdGFjay5vZkF3c0NvbnN0cnVjdCh0aGlzLmFzc2V0KS5ncmlkVVVJRH0nLiBgICtcbiAgICAgICAgICBcIkNyZWF0ZSBhIG5ldyBDb2RlIGluc3RhbmNlIGZvciBldmVyeSBzdGFjay5cIixcbiAgICAgICAgLy8gc2NvcGUsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5hc3NldC5pc1ppcEFyY2hpdmUpIHtcbiAgICAgIC8vIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBc3NldCBtdXN0IGJlIGEgLnppcCBmaWxlIG9yIGEgZGlyZWN0b3J5ICgke3RoaXMucGF0aH0pYCxcbiAgICAgICAgLy8gc2NvcGUsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzM0xvY2F0aW9uOiB7XG4gICAgICAgIGJ1Y2tldE5hbWU6IHRoaXMuYXNzZXQuczNCdWNrZXROYW1lLFxuICAgICAgICBvYmplY3RLZXk6IHRoaXMuYXNzZXQuczNPYmplY3RLZXksXG4gICAgICB9LFxuICAgICAgc291cmNlS01TS2V5QXJuOiB0aGlzLm9wdGlvbnMuc291cmNlS01TS2V5Py5rZXlBcm4sXG4gICAgfTtcbiAgfVxuXG4gIC8vIHB1YmxpYyBiaW5kVG9SZXNvdXJjZShcbiAgLy8gICByZXNvdXJjZTogSUF3c0NvbnN0cnVjdCxcbiAgLy8gICBvcHRpb25zOiBSZXNvdXJjZUJpbmRPcHRpb25zID0ge30sXG4gIC8vICkge1xuICAvLyAgIGlmICghdGhpcy5hc3NldCkge1xuICAvLyAgICAgLy8gdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgLy8gICAgIHRocm93IG5ldyBFcnJvcihcbiAgLy8gICAgICAgXCJiaW5kVG9SZXNvdXJjZSgpIG11c3QgYmUgY2FsbGVkIGFmdGVyIGJpbmQoKVwiLFxuICAvLyAgICAgICAvLyByZXNvdXJjZSxcbiAgLy8gICAgICk7XG4gIC8vICAgfVxuXG4gIC8vICAgY29uc3QgcmVzb3VyY2VQcm9wZXJ0eSA9IG9wdGlvbnMucmVzb3VyY2VQcm9wZXJ0eSB8fCBcIkNvZGVcIjtcbiAgLy8gICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE0MzJcbiAgLy8gICB0aGlzLmFzc2V0LmFkZFJlc291cmNlTWV0YWRhdGEocmVzb3VyY2UsIHJlc291cmNlUHJvcGVydHkpO1xuICAvLyB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VCaW5kT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gYW5ub3RhdGUgd2l0aCBhc3NldCBtZXRhZGF0YS5cbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE0MzJcbiAgICogQGRlZmF1bHQgQ29kZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VQcm9wZXJ0eT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3Rpb24gcHJvcGVydGllcyBmb3IgYFRlcnJhZm9ybVZhcmlhYmxlc0NvZGVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybVZhcmlhYmxlc0NvZGVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgVGVycmFmb3JtIHZhcmlhYmxlIHRoYXQgcmVwcmVzZW50cyB0aGUgbmFtZSBvZiB0aGUgUzMgQnVja2V0XG4gICAqIHdoZXJlIHRoZSBMYW1iZGEgY29kZSB3aWxsIGJlIGxvY2F0ZWQgaW4uXG4gICAqIE11c3QgYmUgb2YgdHlwZSAnU3RyaW5nJy5cbiAgICpcbiAgICogQGRlZmF1bHQgYSBuZXcgdmFyaWFibGUgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSBidWNrZXROYW1lVmFyPzogY2RrdGYuVGVycmFmb3JtVmFyaWFibGU7XG5cbiAgLyoqXG4gICAqIFRoZSBUZXJyYWZvcm0gdmFyaWFibGUgdGhhdCByZXByZXNlbnRzIHRoZSBwYXRoIGluc2lkZSB0aGUgUzMgQnVja2V0XG4gICAqIHdoZXJlIHRoZSBMYW1iZGEgY29kZSB3aWxsIGJlIGxvY2F0ZWQgYXQuXG4gICAqIE11c3QgYmUgb2YgdHlwZSAnU3RyaW5nJy5cbiAgICpcbiAgICogQGRlZmF1bHQgYSBuZXcgdmFyaWFibGUgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSBvYmplY3RLZXlWYXI/OiBjZGt0Zi5UZXJyYWZvcm1WYXJpYWJsZTtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIEtNUyBrZXkgdXNlZCB0byBlbmNyeXB0IHRoZSBoYW5kbGVyIGNvZGUuXG4gICAqIEBkZWZhdWx0IC0gdGhlIGRlZmF1bHQgc2VydmVyLXNpZGUgZW5jcnlwdGlvbiB3aXRoIEFtYXpvbiBTMyBtYW5hZ2VkIGtleXMoU1NFLVMzKSBrZXkgd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlS01TS2V5PzogSUtleTtcbn1cblxuLyoqXG4gKiBMYW1iZGEgY29kZSBkZWZpbmVkIHVzaW5nIDIgVGVycmFmb3JtIHZhcmlhYmxlcy5cbiAqIFVzZWZ1bCB3aGVuIHlvdSBkb24ndCBoYXZlIGFjY2VzcyB0byB0aGUgY29kZSBvZiB5b3VyIExhbWJkYSBmcm9tIHlvdXIgQ0RLIGNvZGUsIHNvIHlvdSBjYW4ndCB1c2UgQXNzZXRzLFxuICogYW5kIHlvdSB3YW50IHRvIGRlcGxveSB0aGUgTGFtYmRhIGluIGEgcGlwZWxpbmUsIGR1cmluZyBUZXJyYWZvcm0gZXhlY3V0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtVmFyaWFibGVzQ29kZSBleHRlbmRzIENvZGUge1xuICBwdWJsaWMgcmVhZG9ubHkgaXNJbmxpbmUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfYnVja2V0TmFtZVZhcj86IGNka3RmLlRlcnJhZm9ybVZhcmlhYmxlO1xuICBwcml2YXRlIF9vYmplY3RLZXlWYXI/OiBjZGt0Zi5UZXJyYWZvcm1WYXJpYWJsZTtcbiAgcHJpdmF0ZSBfc291cmNlS01TS2V5PzogSUtleTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogVGVycmFmb3JtVmFyaWFibGVzQ29kZVByb3BzID0ge30pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5fYnVja2V0TmFtZVZhciA9IHByb3BzLmJ1Y2tldE5hbWVWYXI7XG4gICAgdGhpcy5fb2JqZWN0S2V5VmFyID0gcHJvcHMub2JqZWN0S2V5VmFyO1xuICAgIHRoaXMuX3NvdXJjZUtNU0tleSA9IHByb3BzLnNvdXJjZUtNU0tleTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBDb2RlQ29uZmlnIHtcbiAgICBpZiAoIXRoaXMuX2J1Y2tldE5hbWVWYXIpIHtcbiAgICAgIHRoaXMuX2J1Y2tldE5hbWVWYXIgPSBuZXcgY2RrdGYuVGVycmFmb3JtVmFyaWFibGUoXG4gICAgICAgIHNjb3BlLFxuICAgICAgICBcIkxhbWJkYVNvdXJjZUJ1Y2tldE5hbWVQYXJhbWV0ZXJcIixcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiU3RyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5fb2JqZWN0S2V5VmFyKSB7XG4gICAgICB0aGlzLl9vYmplY3RLZXlWYXIgPSBuZXcgY2RrdGYuVGVycmFmb3JtVmFyaWFibGUoXG4gICAgICAgIHNjb3BlLFxuICAgICAgICBcIkxhbWJkYVNvdXJjZU9iamVjdEtleVBhcmFtZXRlclwiLFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJTdHJpbmdcIixcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgYnVja2V0TmFtZTogdGhpcy5fYnVja2V0TmFtZVZhci5zdHJpbmdWYWx1ZSxcbiAgICAgICAgb2JqZWN0S2V5OiB0aGlzLl9vYmplY3RLZXlWYXIuc3RyaW5nVmFsdWUsXG4gICAgICB9LFxuICAgICAgc291cmNlS01TS2V5QXJuOiB0aGlzLl9zb3VyY2VLTVNLZXk/LmtleUFybixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHBhcmFtZXRlcnMgbWFwIGZyb20gdGhpcyBpbnN0YW5jZSdzIFRlcnJhZm9ybSB2YXJpYWJsZXMuXG4gICAqXG4gICAqIEl0IHJldHVybnMgYSBtYXAgd2l0aCAyIGtleXMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBuYW1lcyBvZiB0aGUgcGFyYW1ldGVycyBkZWZpbmVkIGluIHRoaXMgTGFtYmRhIGNvZGUsXG4gICAqIGFuZCBhcyB2YWx1ZXMgaXQgY29udGFpbnMgdGhlIGFwcHJvcHJpYXRlIGV4cHJlc3Npb25zIHBvaW50aW5nIGF0IHRoZSBwcm92aWRlZCBTMyBsb2NhdGlvblxuICAgKiAobW9zdCBsaWtlbHksIG9idGFpbmVkIGZyb20gYSBDb2RlUGlwZWxpbmUgQXJ0aWZhY3QgYnkgY2FsbGluZyB0aGUgYGFydGlmYWN0LnMzTG9jYXRpb25gIG1ldGhvZCkuXG4gICAqIFRoZSByZXN1bHQgc2hvdWxkIGJlIHByb3ZpZGVkIHRvIHRoZSBDbG91ZEZvcm1hdGlvbiBBY3Rpb25cbiAgICogdGhhdCBpcyBkZXBsb3lpbmcgdGhlIFN0YWNrIHRoYXQgdGhlIExhbWJkYSB3aXRoIHRoaXMgY29kZSBpcyBwYXJ0IG9mLFxuICAgKiBpbiB0aGUgYHBhcmFtZXRlck92ZXJyaWRlc2AgcHJvcGVydHkuXG4gICAqXG4gICAqIEBwYXJhbSBsb2NhdGlvbiB0aGUgbG9jYXRpb24gb2YgdGhlIG9iamVjdCBpbiBTMyB0aGF0IHJlcHJlc2VudHMgdGhlIExhbWJkYSBjb2RlXG4gICAqL1xuICBwdWJsaWMgYXNzaWduKGxvY2F0aW9uOiBzdG9yYWdlLlMzTG9jYXRpb24pOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3QgcmV0OiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgIHJldFt0aGlzLmJ1Y2tldE5hbWVWYXJdID0gbG9jYXRpb24uYnVja2V0TmFtZTtcbiAgICByZXRbdGhpcy5vYmplY3RLZXlWYXJdID0gbG9jYXRpb24ub2JqZWN0S2V5O1xuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJ1Y2tldE5hbWVWYXIoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fYnVja2V0TmFtZVZhcikge1xuICAgICAgcmV0dXJuIHRoaXMuX2J1Y2tldE5hbWVWYXIuZnFuO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiUGFzcyBUZXJyYWZvcm1WYXJpYWJsZXNDb2RlIHRvIGEgTGFtYmRhIEZ1bmN0aW9uIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIGJ1Y2tldE5hbWVWYXIgcHJvcGVydHlcIixcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBvYmplY3RLZXlWYXIoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fb2JqZWN0S2V5VmFyKSB7XG4gICAgICByZXR1cm4gdGhpcy5fb2JqZWN0S2V5VmFyLmZxbjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlBhc3MgVGVycmFmb3JtVmFyaWFibGVzQ29kZSB0byBhIExhbWJkYSBGdW5jdGlvbiBiZWZvcmUgYWNjZXNzaW5nIHRoZSBvYmplY3RLZXlWYXIgcHJvcGVydHlcIixcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyB0byBpbml0aWFsaXplIGEgbmV3IEVjckltYWdlQ29kZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVjckltYWdlQ29kZVByb3BzIHtcbiAgLyoqXG4gICAqIFNwZWNpZnkgb3Igb3ZlcnJpZGUgdGhlIENNRCBvbiB0aGUgc3BlY2lmaWVkIERvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlLlxuICAgKiBUaGlzIG5lZWRzIHRvIGJlIGluIHRoZSAnZXhlYyBmb3JtJywgdml6LiwgYFsgJ2V4ZWN1dGFibGUnLCAncGFyYW0xJywgJ3BhcmFtMicgXWAuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vZW5naW5lL3JlZmVyZW5jZS9idWlsZGVyLyNjbWRcbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIENNRCBzcGVjaWZpZWQgaW4gdGhlIGRvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgY21kPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgb3Igb3ZlcnJpZGUgdGhlIEVOVFJZUE9JTlQgb24gdGhlIHNwZWNpZmllZCBEb2NrZXIgaW1hZ2Ugb3IgRG9ja2VyZmlsZS5cbiAgICogQW4gRU5UUllQT0lOVCBhbGxvd3MgeW91IHRvIGNvbmZpZ3VyZSBhIGNvbnRhaW5lciB0aGF0IHdpbGwgcnVuIGFzIGFuIGV4ZWN1dGFibGUuXG4gICAqIFRoaXMgbmVlZHMgdG8gYmUgaW4gdGhlICdleGVjIGZvcm0nLCB2aXouLCBgWyAnZXhlY3V0YWJsZScsICdwYXJhbTEnLCAncGFyYW0yJyBdYC5cbiAgICogQHNlZSBodHRwczovL2RvY3MuZG9ja2VyLmNvbS9lbmdpbmUvcmVmZXJlbmNlL2J1aWxkZXIvI2VudHJ5cG9pbnRcbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIEVOVFJZUE9JTlQgaW4gdGhlIGRvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgZW50cnlwb2ludD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IG9yIG92ZXJyaWRlIHRoZSBXT1JLRElSIG9uIHRoZSBzcGVjaWZpZWQgRG9ja2VyIGltYWdlIG9yIERvY2tlcmZpbGUuXG4gICAqIEEgV09SS0RJUiBhbGxvd3MgeW91IHRvIGNvbmZpZ3VyZSB0aGUgd29ya2luZyBkaXJlY3RvcnkgdGhlIGNvbnRhaW5lciB3aWxsIHVzZS5cbiAgICogQHNlZSBodHRwczovL2RvY3MuZG9ja2VyLmNvbS9lbmdpbmUvcmVmZXJlbmNlL2J1aWxkZXIvI3dvcmtkaXJcbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIFdPUktESVIgaW4gdGhlIGRvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZ0RpcmVjdG9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGltYWdlIHRhZyB0byB1c2Ugd2hlbiBwdWxsaW5nIHRoZSBpbWFnZSBmcm9tIEVDUi5cbiAgICogQGRlZmF1bHQgJ2xhdGVzdCdcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGB0YWdPckRpZ2VzdGBcbiAgICovXG4gIHJlYWRvbmx5IHRhZz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGltYWdlIHRhZyBvciBkaWdlc3QgdG8gdXNlIHdoZW4gcHVsbGluZyB0aGUgaW1hZ2UgZnJvbSBFQ1IgKGRpZ2VzdHMgbXVzdCBzdGFydCB3aXRoIGBzaGEyNTY6YCkuXG4gICAqIEBkZWZhdWx0ICdsYXRlc3QnXG4gICAqL1xuICByZWFkb25seSB0YWdPckRpZ2VzdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgRG9ja2VyIGltYWdlIGluIEVDUiB0aGF0IGNhbiBiZSBib3VuZCBhcyBMYW1iZGEgQ29kZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVjckltYWdlQ29kZSBleHRlbmRzIENvZGUge1xuICBwdWJsaWMgcmVhZG9ubHkgaXNJbmxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcG9zaXRvcnk6IHN0b3JhZ2UuSVJlcG9zaXRvcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogRWNySW1hZ2VDb2RlUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKF9zY29wZTogQ29uc3RydWN0KTogQ29kZUNvbmZpZyB7XG4gICAgdGhpcy5yZXBvc2l0b3J5LmdyYW50UHVsbChuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoXCJsYW1iZGEuYW1hem9uYXdzLmNvbVwiKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaW1hZ2U6IHtcbiAgICAgICAgaW1hZ2VVcmk6IHRoaXMucmVwb3NpdG9yeS5yZXBvc2l0b3J5VXJpRm9yVGFnT3JEaWdlc3QoXG4gICAgICAgICAgdGhpcy5wcm9wcz8udGFnT3JEaWdlc3QgPz8gdGhpcy5wcm9wcz8udGFnID8/IFwibGF0ZXN0XCIsXG4gICAgICAgICksXG4gICAgICAgIGNtZDogdGhpcy5wcm9wcy5jbWQsXG4gICAgICAgIGVudHJ5cG9pbnQ6IHRoaXMucHJvcHMuZW50cnlwb2ludCxcbiAgICAgICAgd29ya2luZ0RpcmVjdG9yeTogdGhpcy5wcm9wcy53b3JraW5nRGlyZWN0b3J5LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyB0byBpbml0aWFsaXplIGEgbmV3IEFzc2V0SW1hZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NldEltYWdlQ29kZVByb3BzXG4gIGV4dGVuZHMgZWNyX2Fzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTcGVjaWZ5IG9yIG92ZXJyaWRlIHRoZSBDTUQgb24gdGhlIHNwZWNpZmllZCBEb2NrZXIgaW1hZ2Ugb3IgRG9ja2VyZmlsZS5cbiAgICogVGhpcyBuZWVkcyB0byBiZSBpbiB0aGUgJ2V4ZWMgZm9ybScsIHZpei4sIGBbICdleGVjdXRhYmxlJywgJ3BhcmFtMScsICdwYXJhbTInIF1gLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2VuZ2luZS9yZWZlcmVuY2UvYnVpbGRlci8jY21kXG4gICAqIEBkZWZhdWx0IC0gdXNlIHRoZSBDTUQgc3BlY2lmaWVkIGluIHRoZSBkb2NrZXIgaW1hZ2Ugb3IgRG9ja2VyZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IGNtZD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IG9yIG92ZXJyaWRlIHRoZSBFTlRSWVBPSU5UIG9uIHRoZSBzcGVjaWZpZWQgRG9ja2VyIGltYWdlIG9yIERvY2tlcmZpbGUuXG4gICAqIEFuIEVOVFJZUE9JTlQgYWxsb3dzIHlvdSB0byBjb25maWd1cmUgYSBjb250YWluZXIgdGhhdCB3aWxsIHJ1biBhcyBhbiBleGVjdXRhYmxlLlxuICAgKiBUaGlzIG5lZWRzIHRvIGJlIGluIHRoZSAnZXhlYyBmb3JtJywgdml6LiwgYFsgJ2V4ZWN1dGFibGUnLCAncGFyYW0xJywgJ3BhcmFtMicgXWAuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vZW5naW5lL3JlZmVyZW5jZS9idWlsZGVyLyNlbnRyeXBvaW50XG4gICAqIEBkZWZhdWx0IC0gdXNlIHRoZSBFTlRSWVBPSU5UIGluIHRoZSBkb2NrZXIgaW1hZ2Ugb3IgRG9ja2VyZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5cG9pbnQ/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogU3BlY2lmeSBvciBvdmVycmlkZSB0aGUgV09SS0RJUiBvbiB0aGUgc3BlY2lmaWVkIERvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlLlxuICAgKiBBIFdPUktESVIgYWxsb3dzIHlvdSB0byBjb25maWd1cmUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IHRoZSBjb250YWluZXIgd2lsbCB1c2UuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vZW5naW5lL3JlZmVyZW5jZS9idWlsZGVyLyN3b3JrZGlyXG4gICAqIEBkZWZhdWx0IC0gdXNlIHRoZSBXT1JLRElSIGluIHRoZSBkb2NrZXIgaW1hZ2Ugb3IgRG9ja2VyZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IHdvcmtpbmdEaXJlY3Rvcnk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBFQ1IgaW1hZ2UgdGhhdCB3aWxsIGJlIGNvbnN0cnVjdGVkIGZyb20gdGhlIHNwZWNpZmllZCBhc3NldCBhbmQgY2FuIGJlIGJvdW5kIGFzIExhbWJkYSBjb2RlLlxuICovXG5leHBvcnQgY2xhc3MgQXNzZXRJbWFnZUNvZGUgZXh0ZW5kcyBDb2RlIHtcbiAgcHVibGljIHJlYWRvbmx5IGlzSW5saW5lOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgYXNzZXQ/OiBlY3JfYXNzZXRzLkRvY2tlckltYWdlQXNzZXQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBBc3NldEltYWdlQ29kZVByb3BzLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IENvZGVDb25maWcge1xuICAgIC8vIElmIHRoZSBzYW1lIEFzc2V0SW1hZ2VDb2RlIGlzIHVzZWQgbXVsdGlwbGUgdGltZXMsIHJldGFpbiBvbmx5IHRoZSBmaXJzdCBpbnN0YW50aWF0aW9uLlxuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhpcy5hc3NldCA9IG5ldyBlY3JfYXNzZXRzLkRvY2tlckltYWdlQXNzZXQoc2NvcGUsIFwiQXNzZXRJbWFnZVwiLCB7XG4gICAgICAgIGRpcmVjdG9yeTogdGhpcy5kaXJlY3RvcnksXG4gICAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXNzZXQucmVwb3NpdG9yeS5ncmFudFB1bGwoXG4gICAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImxhbWJkYS5hbWF6b25hd3MuY29tXCIpLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgQXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3QodGhpcy5hc3NldCkgIT09IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHNjb3BlKVxuICAgICkge1xuICAgICAgLy8gdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEFzc2V0IGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIGFub3RoZXIgc3RhY2sgJyR7QXdzU3RhY2sub2ZBd3NDb25zdHJ1Y3QodGhpcy5hc3NldCkuZ3JpZFVVSUR9Jy4gYCArXG4gICAgICAgICAgXCJDcmVhdGUgYSBuZXcgQ29kZSBpbnN0YW5jZSBmb3IgZXZlcnkgc3RhY2suXCIsXG4gICAgICAgIC8vIHNjb3BlLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaW1hZ2U6IHtcbiAgICAgICAgaW1hZ2VVcmk6IHRoaXMuYXNzZXQuaW1hZ2VVcmksXG4gICAgICAgIGVudHJ5cG9pbnQ6IHRoaXMucHJvcHMuZW50cnlwb2ludCxcbiAgICAgICAgY21kOiB0aGlzLnByb3BzLmNtZCxcbiAgICAgICAgd29ya2luZ0RpcmVjdG9yeTogdGhpcy5wcm9wcy53b3JraW5nRGlyZWN0b3J5LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLy8gLy8gVE9ETzogcGVuZGluZyBjdXN0b20gQ0xJIHRvIG1vY2sgTGFtYmRhIGZ1bmN0aW9uIGludm9jYXRpb25zIGxvY2FsbHlcbiAgLy8gcHVibGljIGJpbmRUb1Jlc291cmNlKFxuICAvLyAgIHJlc291cmNlOiBJQXdzQ29uc3RydWN0LFxuICAvLyAgIG9wdGlvbnM6IFJlc291cmNlQmluZE9wdGlvbnMgPSB7fSxcbiAgLy8gKSB7XG4gIC8vICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gIC8vICAgICAvLyB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAvLyAgICAgdGhyb3cgbmV3IEVycm9yKFwiYmluZFRvUmVzb3VyY2UoKSBtdXN0IGJlIGNhbGxlZCBhZnRlciBiaW5kKClcIik7IC8vLCByZXNvdXJjZSk7XG4gIC8vICAgfVxuXG4gIC8vICAgLy8gY29uc3QgcmVzb3VyY2VQcm9wZXJ0eSA9IF9vcHRpb25zLnJlc291cmNlUHJvcGVydHkgfHwgXCJDb2RlLkltYWdlVXJpXCI7XG5cbiAgLy8gICAvLyAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE0NTkzXG4gIC8vICAgLy8gdGhpcy5hc3NldC5hZGRSZXNvdXJjZU1ldGFkYXRhKF9yZXNvdXJjZSwgcmVzb3VyY2VQcm9wZXJ0eSk7XG4gIC8vIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIHdoZW4gY3JlYXRpbmcgYW4gYXNzZXQgZnJvbSBhIERvY2tlciBidWlsZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJCdWlsZEFzc2V0T3B0aW9ucyBleHRlbmRzIERvY2tlckJ1aWxkT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgcGF0aCBpbiB0aGUgRG9ja2VyIGltYWdlIHdoZXJlIHRoZSBhc3NldCBpcyBsb2NhdGVkIGFmdGVyIHRoZSBidWlsZFxuICAgKiBvcGVyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC9hc3NldFxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvbiB0aGUgbG9jYWwgZmlsZXN5c3RlbSB3aGVyZSB0aGUgYXNzZXQgd2lsbCBiZSBjb3BpZWRcbiAgICogdXNpbmcgYGRvY2tlciBjcGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSB1bmlxdWUgdGVtcG9yYXJ5IGRpcmVjdG9yeSBpbiB0aGUgc3lzdGVtIHRlbXAgZGlyZWN0b3J5XG4gICAqL1xuICByZWFkb25seSBvdXRwdXRQYXRoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNyZWF0aW5nIGBBc3NldENvZGVgIHdpdGggYSBjdXN0b20gY29tbWFuZCwgc3VjaCBhcyBydW5uaW5nIGEgYnVpbGRmaWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUNvbW1hbmRPcHRpb25zIGV4dGVuZHMgczNfYXNzZXRzLkFzc2V0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byB0aGUgc3Bhd25lZCBwcm9jZXNzLCB3aGljaCBkZXRlcm1pbmUgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgc3Bhd25lZCBwcm9jZXNzLlxuICAgKlxuICAgKiBAZGVmYXVsdDogc2VlIGBjaGlsZF9wcm9jZXNzLlNwYXduU3luY09wdGlvbnNgIChodHRwczovL25vZGVqcy5vcmcvYXBpL2NoaWxkX3Byb2Nlc3MuaHRtbCNjaGlsZF9wcm9jZXNzc3Bhd25zeW5jY29tbWFuZC1hcmdzLW9wdGlvbnMpLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZE9wdGlvbnM/OiB7IFtvcHRpb25zOiBzdHJpbmddOiBhbnkgfTtcbn1cblxuLyoqXG4gKiBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciBjcmVhdGluZyBjb2RlIHVzaW5nIGJ1Y2tldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldE9wdGlvbnMge1xuICAvKipcbiAgICogT3B0aW9uYWwgUzMgb2JqZWN0IHZlcnNpb25cbiAgICovXG4gIHJlYWRvbmx5IG9iamVjdFZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBLTVMga2V5IHVzZWQgdG8gZW5jcnlwdCB0aGUgaGFuZGxlciBjb2RlLlxuICAgKiBAZGVmYXVsdCAtIHRoZSBkZWZhdWx0IHNlcnZlci1zaWRlIGVuY3J5cHRpb24gd2l0aCBBbWF6b24gUzMgbWFuYWdlZCBrZXlzKFNTRS1TMykga2V5IHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUtNU0tleT86IElLZXk7XG59XG4iXX0=
@@ -300,7 +300,7 @@ class Condition {
300
300
  }
301
301
  exports.Condition = Condition;
302
302
  _a = JSII_RTTI_SYMBOL_1;
303
- Condition[_a] = { fqn: "terraconstructs.aws.compute.Condition", version: "0.1.2" };
303
+ Condition[_a] = { fqn: "terraconstructs.aws.compute.Condition", version: "0.1.4" };
304
304
  /**
305
305
  * Comparison Operator types
306
306
  */
@@ -178,7 +178,7 @@ class Connections {
178
178
  }
179
179
  exports.Connections = Connections;
180
180
  _a = JSII_RTTI_SYMBOL_1;
181
- Connections[_a] = { fqn: "terraconstructs.aws.compute.Connections", version: "0.1.2" };
181
+ Connections[_a] = { fqn: "terraconstructs.aws.compute.Connections", version: "0.1.4" };
182
182
  class ReactiveList {
183
183
  constructor() {
184
184
  this.elements = new Array();
@@ -10,7 +10,7 @@ class Cors {
10
10
  }
11
11
  exports.Cors = Cors;
12
12
  _a = JSII_RTTI_SYMBOL_1;
13
- Cors[_a] = { fqn: "terraconstructs.aws.compute.Cors", version: "0.1.2" };
13
+ Cors[_a] = { fqn: "terraconstructs.aws.compute.Cors", version: "0.1.4" };
14
14
  /**
15
15
  * All HTTP methods.
16
16
  */
@@ -142,7 +142,6 @@ class Deployment extends aws_construct_1.AwsConstructBase {
142
142
  // causing cyclic dependency errors. Hence, falling back to declaring
143
143
  // dependencies between the underlying TerraformElements.
144
144
  this.node.addDependency(method.node.defaultChild);
145
- // TODO: Triggers are recommended instead of dependencies?
146
145
  }
147
146
  get outputs() {
148
147
  return {
@@ -154,5 +153,5 @@ class Deployment extends aws_construct_1.AwsConstructBase {
154
153
  }
155
154
  exports.Deployment = Deployment;
156
155
  _a = JSII_RTTI_SYMBOL_1;
157
- Deployment[_a] = { fqn: "terraconstructs.aws.compute.Deployment", version: "0.1.2" };
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9kZXBsb3ltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0RBSzZCO0FBQzdCLGlDQUE2QjtBQUc3Qix1Q0FBd0U7QUFDeEUseUNBQXlDO0FBQ3pDLDZEQUFpRDtBQUNqRCxvREFBdUU7QUFxQ3ZFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxNQUFhLFVBQVcsU0FBUSxnQ0FBZ0I7SUFhOUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUhULHNCQUFpQixHQUFHLElBQUksS0FBSyxFQUFPLENBQUM7UUFLcEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBRXJCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLG1DQUFvQixDQUFDLG9CQUFvQixDQUNyRSxJQUFJLEVBQ0osVUFBVSxFQUNWO1lBQ0UsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUztZQUM5QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsbUZBQW1GO1lBQ25GLFNBQVMsRUFBRTtnQkFDVCxtQkFBbUIsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLG1CQUFtQixJQUFJLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3JGLEdBQUcsS0FBSyxDQUFDLFNBQVM7YUFDbkI7U0FDRixDQUNGLENBQUM7UUFFRixvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FDakMsVUFBVSxFQUNWLFlBQUksQ0FBQyxRQUFRLENBQUM7WUFDWixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1NBQ3hDLENBQUMsQ0FDSCxDQUFDO1FBRUYsMkVB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RUFBMEU7UUFDMUUsMkVBQTJFO1FBQzNFLHFFQUFxRTtRQUNyRSxxRUFBcUU7UUFDckUseURBQXlEO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQWlELENBQzlELENBQUM7UUFFRiwwREFBMEQ7SUFDNUQsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPO1lBQ0wsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTO1NBQzlDLENBQUM7SUFDSixDQUFDOztBQTNKSCxnQ0E0SkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhcGlHYXRld2F5RGVwbG95bWVudCxcbiAgYXBpR2F0ZXdheU1ldGhvZCxcbiAgYXBpR2F0ZXdheVJlc3RBcGksXG4gIGFwaUdhdGV3YXlTdGFnZSxcbn0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IExhenkgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBNZXRob2QgfSBmcm9tIFwiLi9tZXRob2RcIjtcbmltcG9ydCB7IElSZXN0QXBpLCBSZXN0QXBpLCBSZXN0QXBpQmFzZSwgU3BlY1Jlc3RBcGkgfSBmcm9tIFwiLi9yZXN0YXBpXCI7XG4vLyBpbXBvcnQgeyBGbiB9IGZyb20gXCIuLi8uLi90ZXJyYS1mdW5jXCI7XG5pbXBvcnQgeyBtZDVoYXNoIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMtaW50ZXJuYWxcIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdEJhc2UsIEF3c0NvbnN0cnVjdFByb3BzIH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3ltZW50UHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgUmVzdCBBUEkgdG8gZGVwbG95LlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpOiBJUmVzdEFwaTtcblxuICAvKipcbiAgICogQSBkZXNjcmlwdGlvbiBvZiB0aGUgcHVycG9zZSBvZiB0aGUgQVBJIEdhdGV3YXkgZGVwbG95bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBkZXNjcmlwdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8vIC8vIFRPRE86IEltcGxlbWVudCBSZW1vdmFsUG9saWN5LlJFVEFJTiB0aHJvdWdoIHJlbW92ZWQgYmxvY2sgaW4gVGVycmFmb3JtLlxuICAvLyAvLyByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvdGVycmFmb3JtL2lzc3Vlcy8yNzAzNSNpc3N1ZWNvbW1lbnQtMjM0MDM0ODgwMVxuICAvLyAvLyByZWY6IGh0dHBzOi8vZGV2ZWxvcGVyLmhhc2hpY29ycC5jb20vdGVycmFmb3JtL2xhbmd1YWdlL3Jlc291cmNlcy9zeW50YXgjcmVtb3ZpbmctcmVzb3VyY2VzXG4gIC8vIC8qKlxuICAvLyAgKiBXaGVuIGFuIEFQSSBHYXRld2F5IG1vZGVsIGlzIHVwZGF0ZWQsIGEgbmV3IGRlcGxveW1lbnQgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGNyZWF0ZWQuXG4gIC8vICAqIElmIHRoaXMgaXMgdHJ1ZSwgdGhlIG9sZCBBUEkgR2F0ZXdheSBEZXBsb3ltZW50IHJlc291cmNlIHdpbGwgbm90IGJlIGRlbGV0ZWQuXG4gIC8vICAqIFRoaXMgd2lsbCBhbGxvdyBtYW51YWxseSByZXZlcnRpbmcgYmFjayB0byBhIHByZXZpb3VzIGRlcGxveW1lbnQgaW4gY2FzZSBmb3IgZXhhbXBsZVxuICAvLyAgKlxuICAvLyAgKiBAZGVmYXVsdCBmYWxzZVxuICAvLyAgKi9cbiAgLy8gcmVhZG9ubHkgcmV0YWluRGVwbG95bWVudHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc3RhZ2UgdGhlIEFQSSBHYXRld2F5IGRlcGxveW1lbnQgZGVwbG95cyB0by5cbiAgICogSWYgdGhpcyBwcm9wZXJ0eSBpcyBzZXQgYW5kIGEgc3RhZ2Ugd2l0aCB0aGUgY29ycmVzcG9uZGluZyBuYW1lIGRvZXMgbm90IGV4aXN0LFxuICAgKiBhIG5ldyBzdGFnZSByZXNvdXJjZSB3aWxsIGJlIGNyZWF0ZWQgYW5kIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gc3RhZ2UgaXMgY3JlYXRlZCBvciBhc3NvY2lhdGVkIHdpdGggdGhpcyBkZXBsb3ltZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2VOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgRGVwbG95bWVudCBvZiBhIFJFU1QgQVBJLlxuICpcbiAqIEFuIGltbXV0YWJsZSByZXByZXNlbnRhdGlvbiBvZiBhIFJlc3RBcGkgcmVzb3VyY2UgdGhhdCBjYW4gYmUgY2FsbGVkIGJ5IHVzZXJzXG4gKiB1c2luZyBTdGFnZXMuIEEgZGVwbG95bWVudCBtdXN0IGJlIGFzc29jaWF0ZWQgd2l0aCBhIFN0YWdlIGZvciBpdCB0byBiZVxuICogY2FsbGFibGUgb3ZlciB0aGUgSW50ZXJuZXQuXG4gKlxuICogTm9ybWFsbHksIHlvdSBkb24ndCBuZWVkIHRvIGRlZmluZSBkZXBsb3ltZW50cyBtYW51YWxseS4gVGhlIFJlc3RBcGlcbiAqIGNvbnN0cnVjdCBtYW5hZ2VzIGEgRGVwbG95bWVudCByZXNvdXJjZSB0aGF0IHJlcHJlc2VudHMgdGhlIGxhdGVzdCBtb2RlbC4gSXRcbiAqIGNhbiBiZSBhY2Nlc3NlZCB0aHJvdWdoIGByZXN0QXBpLmxhdGVzdERlcGxveW1lbnRgICh1bmxlc3MgYGRlcGxveTogZmFsc2VgIGlzXG4gKiBzZXQgd2hlbiBkZWZpbmluZyB0aGUgYFJlc3RBcGlgKS5cbiAqXG4gKiBJZiB5b3UgbWFudWFsbHkgZGVmaW5lIHRoaXMgcmVzb3VyY2UsIHlvdSB3aWxsIG5lZWQgdG8ga25vdyB0aGF0IHNpbmNlXG4gKiBkZXBsb3ltZW50cyBhcmUgaW1tdXRhYmxlLCB0aGVpciBwcm9wZXJ0aWVzIHdpbGwgbm90IGNoYW5nZSBhZnRlciBjcmVhdGlvbi5cbiAqIFRvIHJlZmxlY3QgQVBJIG1vZGVsIGNoYW5nZXMsIGEgbmV3IGRlcGxveW1lbnQgbXVzdCBiZSBjcmVhdGVkLiBUaGlzIGlzIHR5cGljYWxseVxuICogYWNoaWV2ZWQgYnkgY2hhbmdpbmcgdGhlIGB0cmlnZ2Vyc2AgcHJvcGVydHkgb2YgdGhlIGBBcGlHYXRld2F5RGVwbG95bWVudGAgcmVzb3VyY2UuXG4gKlxuICogVGhlIGBhZGRUb1RyaWdnZXJzYCBtZXRob2QgY2FuIGJlIHVzZWQgdG8gYXVnbWVudCB0aGUgc2V0IG9mIHRyaWdnZXJzIGZvciB0aGlzXG4gKiBkZXBsb3ltZW50LiBUaGlzIGVuc3VyZXMgdGhhdCBpZiBzcGVjaWZpYyBwYXJ0cyBvZiB0aGUgQVBJIG1vZGVsIGNoYW5nZSAoZS5nLiwgYSBNZXRob2QncyBjb25maWd1cmF0aW9uKSxcbiAqIGEgbmV3IGRlcGxveW1lbnQgaXMgdHJpZ2dlcmVkLiBUaGlzIGlzIGRvbmUgYXV0b21hdGljYWxseSBmb3IgdGhlIGByZXN0QXBpLmxhdGVzdERlcGxveW1lbnRgIGRlcGxveW1lbnQuXG4gKlxuICogRnVydGhlcm1vcmUsIGEgZGVwbG95bWVudCBzaG91bGQgZGVwZW5kIG9uIGFsbCBBUEkgR2F0ZXdheSByZXNvdXJjZXMgKE1ldGhvZHMsIFJlc291cmNlcywgZXRjLilcbiAqIHRoYXQgZGVmaW5lIHRoZSBBUEkuIFVzZSB0aGUgYF9hZGRNZXRob2REZXBlbmRlbmN5YCBvciBkaXJlY3RseSBhZGQgZGVwZW5kZW5jaWVzIHRvIGVuc3VyZSBjb3JyZWN0XG4gKiBwcm92aXNpb25pbmcgb3JkZXIuIFRoaXMgaXMgYWxzbyBoYW5kbGVkIGZvciBgcmVzdEFwaS5sYXRlc3REZXBsb3ltZW50YC5cbiAqL1xuZXhwb3J0IGNsYXNzIERlcGxveW1lbnQgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGRlcGxveW1lbnRJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpOiBJUmVzdEFwaTtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdGFnZSBjcmVhdGVkIGFuZCBhc3NvY2lhdGVkIHdpdGggdGhpcyBkZXBsb3ltZW50LCBpZiBgc3RhZ2VOYW1lYCB3YXMgcHJvdmlkZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhZ2VOYW1lPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVwbG95bWVudFJlc291cmNlOiBhcGlHYXRld2F5RGVwbG95bWVudC5BcGlHYXRld2F5RGVwbG95bWVudDtcbiAgcHJpdmF0ZSBzdGFnZVJlc291cmNlPzogYXBpR2F0ZXdheVN0YWdlLkFwaUdhdGV3YXlTdGFnZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRyaWdnZXJDb21wb25lbnRzID0gbmV3IEFycmF5PGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGVwbG95bWVudFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLmFwaSA9IHByb3BzLmFwaTtcblxuICAgIHRoaXMuZGVwbG95bWVudFJlc291cmNlID0gbmV3IGFwaUdhdGV3YXlEZXBsb3ltZW50LkFwaUdhdGV3YXlEZXBsb3ltZW50KFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgIHtcbiAgICAgICAgcmVzdEFwaUlkOiBwcm9wcy5hcGkucmVzdEFwaUlkLFxuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgIC8vIGVuc3VyZSBsaWZlY3ljbGUgY3JlYXRlIGJlZm9yZSBkZXN0cm95IGlzIGVuYWJsZWQgdW5sZXNzIGV4cGxpY2l0bHkgc2V0IHRvIGZhbHNlXG4gICAgICAgIGxpZmVjeWNsZToge1xuICAgICAgICAgIGNyZWF0ZUJlZm9yZURlc3Ryb3k6IHByb3BzLmxpZmVjeWNsZT8uY3JlYXRlQmVmb3JlRGVzdHJveSA/PyB0cnVlLCAvLyBkZWZhdWx0IHRvIHRydWVcbiAgICAgICAgICAuLi5wcm9wcy5saWZlY3ljbGUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvLyBBZGQgdHJpZ2dlcnMgZm9yIHJlZHBsb3ltZW50IG9uIGNoZWNrc3VtIGNoYW5nZXMuXG4gICAgdGhpcy5kZXBsb3ltZW50UmVzb3VyY2UuYWRkT3ZlcnJpZGUoXG4gICAgICBcInRyaWdnZXJzXCIsXG4gICAgICBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgcHJvZHVjZTogKCkgPT4gdGhpcy5jYWxjdWxhdGVUcmlnZ2VycygpLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIC8vIFRPRE86IEltcGxlbWVudCBSZW1vdmFsUG9saWN5LlJFVEFJTiB0aHJvdWdoIHJlbW92ZWQgYmxvY2sgaW4gVGVycmFmb3JtLlxuICAgIC8vIGlmIChwcm9wcy5yZXRhaW5EZXBsb3ltZW50cykge1xuICAgIC8vICAgdGhpcy5kZXBsb3ltZW50UmVzb3VyY2UuYWRkT3ZlcnJpZGUoXCJsaWZlY3ljbGVcIiwge1xuICAgIC8vICAgICBwcmV2ZW50X2Rlc3Ryb3k6IHRydWUsXG4gICAgLy8gICB9KTtcbiAgICAvLyB9XG5cbiAgICB0aGlzLmRlcGxveW1lbnRJZCA9IHRoaXMuZGVwbG95bWVudFJlc291cmNlLmlkO1xuXG4gICAgaWYgKHByb3BzLnN0YWdlTmFtZSkge1xuICAgICAgdGhpcy5zdGFnZU5hbWUgPSBwcm9wcy5zdGFnZU5hbWU7XG4gICAgICB0aGlzLnN0YWdlUmVzb3VyY2UgPSBuZXcgYXBpR2F0ZXdheVN0YWdlLkFwaUdhdGV3YXlTdGFnZSh0aGlzLCBcIlN0YWdlXCIsIHtcbiAgICAgICAgcmVzdEFwaUlkOiBwcm9wcy5hcGkucmVzdEFwaUlkLFxuICAgICAgICBkZXBsb3ltZW50SWQ6IHRoaXMuZGVwbG95bWVudFJlc291cmNlLmlkLFxuICAgICAgICBzdGFnZU5hbWU6IHByb3BzLnN0YWdlTmFtZSxcbiAgICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uXG4gICAgICAgICAgPyBgJHtwcm9wcy5kZXNjcmlwdGlvbn0gU3RhZ2VgXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB9KTtcbiAgICAgIC8vIERlcGVuZGVuY2llcyBvbiBtZXRob2RzIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgZGVwbG95bWVudFJlc291cmNlIGl0c2VsZi5cbiAgICAgIC8vIFRoZSBzdGFnZVJlc291cmNlIGltcGxpY2l0bHkgZGVwZW5kcyBvbiBkZXBsb3ltZW50UmVzb3VyY2UgdmlhIGRlcGxveW1lbnRJZC5cbiAgICB9XG5cbiAgICBpZiAocHJvcHMuYXBpIGluc3RhbmNlb2YgUmVzdEFwaUJhc2UpIHtcbiAgICAgIC8vIFRoZSBtZXRob2QgX2F0dGFjaERlcGxveW1lbnQgbWlnaHQgbmVlZCB0byBiZSBhZGFwdGVkIG9yIG1pZ2h0IG5vdCBleGlzdCBpbiBUZXJyYUNvbnN0cnVjdHMgUmVzdEFwaUJhc2VcbiAgICAgIC8vIFRoaXMgaXMgc3BlY2lmaWMgdG8gaG93IGBsYXRlc3REZXBsb3ltZW50YCBpcyBtYW5hZ2VkIGJ5IHRoZSBSZXN0QXBpIGNvbnN0cnVjdC5cbiAgICAgIChwcm9wcy5hcGkgYXMgYW55KS5fYXR0YWNoRGVwbG95bWVudD8uKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlVHJpZ2dlcnMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdHJpZ2dlcnMgPSBbLi4udGhpcy50cmlnZ2VyQ29tcG9uZW50c107XG5cbiAgICAvLyBJZ25vcmUgSVJlc3RBcGkgdGhhdCBhcmUgaW1wb3J0ZWRcbiAgICBpZiAodGhpcy5hcGkgaW5zdGFuY2VvZiBSZXN0QXBpIHx8IHRoaXMuYXBpIGluc3RhbmNlb2YgU3BlY1Jlc3RBcGkpIHtcbiAgICAgIGNvbnN0IGFwaUludGVybmFsID0gdGhpcy5hcGkubm9kZVxuICAgICAgICAuZGVmYXVsdENoaWxkIGFzIGFwaUdhdGV3YXlSZXN0QXBpLkFwaUdhdGV3YXlSZXN0QXBpO1xuICAgICAgLy8gVE9ETzogQVdTQ0RLIFRyaWdnZXJzIHJlZGVwbG95bWVudCBvbiBhbnkgY2hhbmdlcyAobm90IGp1c3QgdGhlIGJvZHkgcHJvcGVydHkpLlxuICAgICAgY29uc3QgdGZSZXN0QVBJID0gYXBpSW50ZXJuYWwudG9UZXJyYWZvcm0oKTtcbiAgICAgIHRyaWdnZXJzLnB1c2godGZSZXN0QVBJLnJlc291cmNlLmF3c19hcGlfZ2F0ZXdheV9yZXN0X2FwaSk7XG4gICAgfVxuXG4gICAgLy8gTk9URTogQVdTQ0RLIGNhbGN1bGF0ZXMgY2hlY2tzdW0gYWdhaW5zdCBmdW5jdGlvbiBwcm9wZXJ0aWVzLlxuICAgIC8vIFRlcnJhZm9ybSBhbGxvd3MgdXNlIHRvIGluY2x1ZGUgdGhlIGVudGlyZSBvYmplY3QsIHNvIHdlIHVzZSB0aGF0IGZvciBjbGFyaXR5LlxuICAgIGNvbnN0IGNoZWNrc3VtID0gbWQ1aGFzaChcbiAgICAgIHRyaWdnZXJzXG4gICAgICAgIC5tYXAoKHgpID0+IHRoaXMuc3RhY2sucmVzb2x2ZSh4KSlcbiAgICAgICAgLm1hcCgoYykgPT4gSlNPTi5zdHJpbmdpZnkoYykpXG4gICAgICAgIC5qb2luKFwiXCIpLFxuICAgICk7XG4gICAgLy8gdHJpZ2dlcnMgaGFzIHRvIGJlIFJlY29yZDxzdHJpbmcsIHN0cmluZz4gZm9yIFRlcnJhZm9ybSB0byBhY2NlcHQgaXQuXG4gICAgcmV0dXJuIHsgcmVkZXBsb3ltZW50OiBjaGVja3N1bSB9O1xuXG4gICAgLy8gLy8gTk9URTogY29uc2lkZXIgY2hlY2tzdW0gdG9vIGNvbmZ1c2luZyBhbmQgdXNlIGZ1bGwgdHJpZ2dlciBvYmplY3RzIGluc3RlYWQ/XG4gICAgLy8gLy8gVE9ETzogVGhpcyBjYXVzZXMgXCJtaXNzaW5nIGF0dHJpYnV0ZXIgc2VwYXJhdG9yXCIgZXJyb3JzXG4gICAgLy8gcmV0dXJuIHRyaWdnZXJzLmxlbmd0aCAhPT0gMFxuICAgIC8vICAgPyB7IHJlZGVwbG95bWVudDogRm4uc2hhMShGbi5qc29uZW5jb2RlKHRoaXMuc3RhY2sucmVzb2x2ZSh0cmlnZ2VycykpKSB9XG4gICAgLy8gICA6IC8vIFRPRE86IFdyYXAgZWFjaCB0cmlnZ2VyIGluIHNoYSBpbnN0ZWFkPyB7IHJlZGVwbG95bWVudDogRm4uc2hhMShGbi5qc29uZW5jb2RlKCkpIH1cbiAgICAvLyAgICAgLy8gdHJpZ2dlcnMucmVkdWNlKFxuICAgIC8vICAgICAvLyAgIChhY2MsIGN1cnIpID0+IHtcbiAgICAvLyAgICAgLy8gICAgIGNvbnN0IGtleSA9IGB0cmlnZ2VyLSR7T2JqZWN0LmtleXMoYWNjKS5sZW5ndGggKyAxfWA7XG4gICAgLy8gICAgIC8vICAgICBhY2Nba2V5XSA9IHRoaXMuc3RhY2sucmVzb2x2ZShjdXJyKTtcbiAgICAvLyAgICAgLy8gICAgIHJldHVybiBhY2M7XG4gICAgLy8gICAgIC8vICAgfSxcbiAgICAvLyAgICAgLy8gICB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgIC8vICAgICAvLyApXG4gICAgLy8gICAgIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY29tcG9uZW50IHRvIHRoZSBzZXQgb2YgdHJpZ2dlcnMgdGhhdCBkZXRlcm1pbmUgaWYgYSBuZXcgZGVwbG95bWVudCBzaG91bGQgYmUgY3JlYXRlZC5cbiAgICpcbiAgICogVHJpZ2dlcnMgc2hvdWxkIGJlIHByZWZlcnJlZCBvdmVyIERlcGVuZGVuY2llcywgc2luY2UgRGVwZW5kZW5jaWVzIGNhbiBvbmx5IGNhcHR1cmUgZGVwZW5kZW5jeVxuICAgKiBvcmRlcmluZyBhbmQgd2lsbCBub3QgY2F1c2UgdGhlIHJlc291cmNlIHRvIHJlY3JlYXRlIChyZWRlcGxveSB0aGUgUkVTVCBBUEkpIHdpdGggdXBzdHJlYW1cbiAgICogY29uZmlndXJhdGlvbiBjaGFuZ2VzLlxuICAgKlxuICAgKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYnkgY29uc3RydWN0cyBvZiB0aGUgQVBJIEdhdGV3YXkgbW9kZWwgdGhhdCB3YW50IHRvXG4gICAqIGludmFsaWRhdGUgdGhlIGRlcGxveW1lbnQgd2hlbiB0aGVpciBzZXR0aW5ncyBjaGFuZ2UuIFRoZSBjb21wb25lbnQgd2lsbFxuICAgKiBiZSByZXNvbHZlZCBkdXJpbmcgc3ludGhlc2lzIHNvIHRva2VucyBhcmUgd2VsY29tZS5cbiAgICovXG4gIHB1YmxpYyBhZGRUb1RyaWdnZXJzKGRhdGE6IGFueSkge1xuICAgIGlmICh0aGlzLm5vZGUubG9ja2VkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ2Fubm90IG1vZGlmeSBkZXBsb3ltZW50IHRyaWdnZXJzIHdoZW4gdGhlIGNvbnN0cnVjdCBpcyBsb2NrZWQuXCIsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXJDb21wb25lbnRzLnB1c2goZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGRlcGVuZGVuY3kgZnJvbSB0aGlzIERlcGxveW1lbnQgdG8gYW4gQVBJIEdhdGV3YXkgTWV0aG9kLlxuICAgKiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgbWV0aG9kIGlzIGNyZWF0ZWQgYmVmb3JlIHRoZSBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAcGFyYW0gbWV0aG9kIFRoZSBNZXRob2QgY29uc3RydWN0IHRvIGFkZCBhcyBhIGRlcGVuZGVuY3kuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF9hZGRNZXRob2REZXBlbmRlbmN5KG1ldGhvZDogTWV0aG9kKSB7XG4gICAgLy8gYWRkaW5nIGEgZGVwZW5kZW5jeSBiZXR3ZWVuIHRoZSBjb25zdHJ1Y3RzIHVzaW5nIGBub2RlLmFkZERlcGVuZGVuY3koKWBcbiAgICAvLyB3aWxsIGNyZWF0ZSBhZGRpdGlvbmFsIGRlcGVuZGVuY2llcyBiZXR3ZWVuIGBhd3NfYXBpX2dhdGV3YXlfZGVwbG95bWVudGBcbiAgICAvLyBhbmQgdGhlIGBhd3NfbGFtYmRhX3Blcm1pc3Npb25gIHJlc291cmNlcyAoY2hpbGRyZW4gdW5kZXIgTWV0aG9kKSxcbiAgICAvLyBjYXVzaW5nIGN5Y2xpYyBkZXBlbmRlbmN5IGVycm9ycy4gSGVuY2UsIGZhbGxpbmcgYmFjayB0byBkZWNsYXJpbmdcbiAgICAvLyBkZXBlbmRlbmNpZXMgYmV0d2VlbiB0aGUgdW5kZXJseWluZyBUZXJyYWZvcm1FbGVtZW50cy5cbiAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeShcbiAgICAgIG1ldGhvZC5ub2RlLmRlZmF1bHRDaGlsZCBhcyBhcGlHYXRld2F5TWV0aG9kLkFwaUdhdGV3YXlNZXRob2QsXG4gICAgKTtcblxuICAgIC8vIFRPRE86IFRyaWdnZXJzIGFyZSByZWNvbW1lbmRlZCBpbnN0ZWFkIG9mIGRlcGVuZGVuY2llcz9cbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZGVwbG95bWVudElkOiB0aGlzLmRlcGxveW1lbnRJZCxcbiAgICAgIHN0YWdlTmFtZTogdGhpcy5zdGFnZU5hbWUsXG4gICAgICBzdGFnZUludm9rZVVybDogdGhpcy5zdGFnZVJlc291cmNlPy5pbnZva2VVcmwsXG4gICAgfTtcbiAgfVxufVxuIl19
156
+ Deployment[_a] = { fqn: "terraconstructs.aws.compute.Deployment", version: "0.1.4" };
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9kZXBsb3ltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0RBSzZCO0FBQzdCLGlDQUE2QjtBQUc3Qix1Q0FBd0U7QUFDeEUseUNBQXlDO0FBQ3pDLDZEQUFpRDtBQUNqRCxvREFBdUU7QUFxQ3ZFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxNQUFhLFVBQVcsU0FBUSxnQ0FBZ0I7SUFhOUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUhULHNCQUFpQixHQUFHLElBQUksS0FBSyxFQUFPLENBQUM7UUFLcEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBRXJCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLG1DQUFvQixDQUFDLG9CQUFvQixDQUNyRSxJQUFJLEVBQ0osVUFBVSxFQUNWO1lBQ0UsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUztZQUM5QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsbUZBQW1GO1lBQ25GLFNBQVMsRUFBRTtnQkFDVCxtQkFBbUIsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLG1CQUFtQixJQUFJLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3JGLEdBQUcsS0FBSyxDQUFDLFNBQVM7YUFDbkI7U0FDRixDQUNGLENBQUM7UUFFRixvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FDakMsVUFBVSxFQUNWLFlBQUksQ0FBQyxRQUFRLENBQUM7WUFDWixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1NBQ3hDLENBQUMsQ0FDSCxDQUFDO1FBRUYsMkVB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RUFBMEU7UUFDMUUsMkVBQTJFO1FBQzNFLHFFQUFxRTtRQUNyRSxxRUFBcUU7UUFDckUseURBQXlEO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQWlELENBQzlELENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVM7U0FDOUMsQ0FBQztJQUNKLENBQUM7O0FBekpILGdDQTBKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwaUdhdGV3YXlEZXBsb3ltZW50LFxuICBhcGlHYXRld2F5TWV0aG9kLFxuICBhcGlHYXRld2F5UmVzdEFwaSxcbiAgYXBpR2F0ZXdheVN0YWdlLFxufSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgTGF6eSB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE1ldGhvZCB9IGZyb20gXCIuL21ldGhvZFwiO1xuaW1wb3J0IHsgSVJlc3RBcGksIFJlc3RBcGksIFJlc3RBcGlCYXNlLCBTcGVjUmVzdEFwaSB9IGZyb20gXCIuL3Jlc3RhcGlcIjtcbi8vIGltcG9ydCB7IEZuIH0gZnJvbSBcIi4uLy4uL3RlcnJhLWZ1bmNcIjtcbmltcG9ydCB7IG1kNWhhc2ggfSBmcm9tIFwiLi4vLi4vaGVscGVycy1pbnRlcm5hbFwiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSwgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveW1lbnRQcm9wcyBleHRlbmRzIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBSZXN0IEFQSSB0byBkZXBsb3kuXG4gICAqL1xuICByZWFkb25seSBhcGk6IElSZXN0QXBpO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBwdXJwb3NlIG9mIHRoZSBBUEkgR2F0ZXdheSBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLy8gLy8gVE9ETzogSW1wbGVtZW50IFJlbW92YWxQb2xpY3kuUkVUQUlOIHRocm91Z2ggcmVtb3ZlZCBibG9jayBpbiBUZXJyYWZvcm0uXG4gIC8vIC8vIHJlZjogaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0vaXNzdWVzLzI3MDM1I2lzc3VlY29tbWVudC0yMzQwMzQ4ODAxXG4gIC8vIC8vIHJlZjogaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvcmVzb3VyY2VzL3N5bnRheCNyZW1vdmluZy1yZXNvdXJjZXNcbiAgLy8gLyoqXG4gIC8vICAqIFdoZW4gYW4gQVBJIEdhdGV3YXkgbW9kZWwgaXMgdXBkYXRlZCwgYSBuZXcgZGVwbG95bWVudCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY3JlYXRlZC5cbiAgLy8gICogSWYgdGhpcyBpcyB0cnVlLCB0aGUgb2xkIEFQSSBHYXRld2F5IERlcGxveW1lbnQgcmVzb3VyY2Ugd2lsbCBub3QgYmUgZGVsZXRlZC5cbiAgLy8gICogVGhpcyB3aWxsIGFsbG93IG1hbnVhbGx5IHJldmVydGluZyBiYWNrIHRvIGEgcHJldmlvdXMgZGVwbG95bWVudCBpbiBjYXNlIGZvciBleGFtcGxlXG4gIC8vICAqXG4gIC8vICAqIEBkZWZhdWx0IGZhbHNlXG4gIC8vICAqL1xuICAvLyByZWFkb25seSByZXRhaW5EZXBsb3ltZW50cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdGFnZSB0aGUgQVBJIEdhdGV3YXkgZGVwbG95bWVudCBkZXBsb3lzIHRvLlxuICAgKiBJZiB0aGlzIHByb3BlcnR5IGlzIHNldCBhbmQgYSBzdGFnZSB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIG5hbWUgZG9lcyBub3QgZXhpc3QsXG4gICAqIGEgbmV3IHN0YWdlIHJlc291cmNlIHdpbGwgYmUgY3JlYXRlZCBhbmQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZGVwbG95bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBzdGFnZSBpcyBjcmVhdGVkIG9yIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRlcGxveW1lbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFnZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBEZXBsb3ltZW50IG9mIGEgUkVTVCBBUEkuXG4gKlxuICogQW4gaW1tdXRhYmxlIHJlcHJlc2VudGF0aW9uIG9mIGEgUmVzdEFwaSByZXNvdXJjZSB0aGF0IGNhbiBiZSBjYWxsZWQgYnkgdXNlcnNcbiAqIHVzaW5nIFN0YWdlcy4gQSBkZXBsb3ltZW50IG11c3QgYmUgYXNzb2NpYXRlZCB3aXRoIGEgU3RhZ2UgZm9yIGl0IHRvIGJlXG4gKiBjYWxsYWJsZSBvdmVyIHRoZSBJbnRlcm5ldC5cbiAqXG4gKiBOb3JtYWxseSwgeW91IGRvbid0IG5lZWQgdG8gZGVmaW5lIGRlcGxveW1lbnRzIG1hbnVhbGx5LiBUaGUgUmVzdEFwaVxuICogY29uc3RydWN0IG1hbmFnZXMgYSBEZXBsb3ltZW50IHJlc291cmNlIHRoYXQgcmVwcmVzZW50cyB0aGUgbGF0ZXN0IG1vZGVsLiBJdFxuICogY2FuIGJlIGFjY2Vzc2VkIHRocm91Z2ggYHJlc3RBcGkubGF0ZXN0RGVwbG95bWVudGAgKHVubGVzcyBgZGVwbG95OiBmYWxzZWAgaXNcbiAqIHNldCB3aGVuIGRlZmluaW5nIHRoZSBgUmVzdEFwaWApLlxuICpcbiAqIElmIHlvdSBtYW51YWxseSBkZWZpbmUgdGhpcyByZXNvdXJjZSwgeW91IHdpbGwgbmVlZCB0byBrbm93IHRoYXQgc2luY2VcbiAqIGRlcGxveW1lbnRzIGFyZSBpbW11dGFibGUsIHRoZWlyIHByb3BlcnRpZXMgd2lsbCBub3QgY2hhbmdlIGFmdGVyIGNyZWF0aW9uLlxuICogVG8gcmVmbGVjdCBBUEkgbW9kZWwgY2hhbmdlcywgYSBuZXcgZGVwbG95bWVudCBtdXN0IGJlIGNyZWF0ZWQuIFRoaXMgaXMgdHlwaWNhbGx5XG4gKiBhY2hpZXZlZCBieSBjaGFuZ2luZyB0aGUgYHRyaWdnZXJzYCBwcm9wZXJ0eSBvZiB0aGUgYEFwaUdhdGV3YXlEZXBsb3ltZW50YCByZXNvdXJjZS5cbiAqXG4gKiBUaGUgYGFkZFRvVHJpZ2dlcnNgIG1ldGhvZCBjYW4gYmUgdXNlZCB0byBhdWdtZW50IHRoZSBzZXQgb2YgdHJpZ2dlcnMgZm9yIHRoaXNcbiAqIGRlcGxveW1lbnQuIFRoaXMgZW5zdXJlcyB0aGF0IGlmIHNwZWNpZmljIHBhcnRzIG9mIHRoZSBBUEkgbW9kZWwgY2hhbmdlIChlLmcuLCBhIE1ldGhvZCdzIGNvbmZpZ3VyYXRpb24pLFxuICogYSBuZXcgZGVwbG95bWVudCBpcyB0cmlnZ2VyZWQuIFRoaXMgaXMgZG9uZSBhdXRvbWF0aWNhbGx5IGZvciB0aGUgYHJlc3RBcGkubGF0ZXN0RGVwbG95bWVudGAgZGVwbG95bWVudC5cbiAqXG4gKiBGdXJ0aGVybW9yZSwgYSBkZXBsb3ltZW50IHNob3VsZCBkZXBlbmQgb24gYWxsIEFQSSBHYXRld2F5IHJlc291cmNlcyAoTWV0aG9kcywgUmVzb3VyY2VzLCBldGMuKVxuICogdGhhdCBkZWZpbmUgdGhlIEFQSS4gVXNlIHRoZSBgX2FkZE1ldGhvZERlcGVuZGVuY3lgIG9yIGRpcmVjdGx5IGFkZCBkZXBlbmRlbmNpZXMgdG8gZW5zdXJlIGNvcnJlY3RcbiAqIHByb3Zpc2lvbmluZyBvcmRlci4gVGhpcyBpcyBhbHNvIGhhbmRsZWQgZm9yIGByZXN0QXBpLmxhdGVzdERlcGxveW1lbnRgLlxuICovXG5leHBvcnQgY2xhc3MgRGVwbG95bWVudCBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgZGVwbG95bWVudElkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBhcGk6IElSZXN0QXBpO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN0YWdlIGNyZWF0ZWQgYW5kIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRlcGxveW1lbnQsIGlmIGBzdGFnZU5hbWVgIHdhcyBwcm92aWRlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzdGFnZU5hbWU/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXBsb3ltZW50UmVzb3VyY2U6IGFwaUdhdGV3YXlEZXBsb3ltZW50LkFwaUdhdGV3YXlEZXBsb3ltZW50O1xuICBwcml2YXRlIHN0YWdlUmVzb3VyY2U/OiBhcGlHYXRld2F5U3RhZ2UuQXBpR2F0ZXdheVN0YWdlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdHJpZ2dlckNvbXBvbmVudHMgPSBuZXcgQXJyYXk8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEZXBsb3ltZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMuYXBpID0gcHJvcHMuYXBpO1xuXG4gICAgdGhpcy5kZXBsb3ltZW50UmVzb3VyY2UgPSBuZXcgYXBpR2F0ZXdheURlcGxveW1lbnQuQXBpR2F0ZXdheURlcGxveW1lbnQoXG4gICAgICB0aGlzLFxuICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAge1xuICAgICAgICByZXN0QXBpSWQ6IHByb3BzLmFwaS5yZXN0QXBpSWQsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAgLy8gZW5zdXJlIGxpZmVjeWNsZSBjcmVhdGUgYmVmb3JlIGRlc3Ryb3kgaXMgZW5hYmxlZCB1bmxlc3MgZXhwbGljaXRseSBzZXQgdG8gZmFsc2VcbiAgICAgICAgbGlmZWN5Y2xlOiB7XG4gICAgICAgICAgY3JlYXRlQmVmb3JlRGVzdHJveTogcHJvcHMubGlmZWN5Y2xlPy5jcmVhdGVCZWZvcmVEZXN0cm95ID8/IHRydWUsIC8vIGRlZmF1bHQgdG8gdHJ1ZVxuICAgICAgICAgIC4uLnByb3BzLmxpZmVjeWNsZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8vIEFkZCB0cmlnZ2VycyBmb3IgcmVkcGxveW1lbnQgb24gY2hlY2tzdW0gY2hhbmdlcy5cbiAgICB0aGlzLmRlcGxveW1lbnRSZXNvdXJjZS5hZGRPdmVycmlkZShcbiAgICAgIFwidHJpZ2dlcnNcIixcbiAgICAgIExhenkuYW55VmFsdWUoe1xuICAgICAgICBwcm9kdWNlOiAoKSA9PiB0aGlzLmNhbGN1bGF0ZVRyaWdnZXJzKCksXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgLy8gVE9ETzogSW1wbGVtZW50IFJlbW92YWxQb2xpY3kuUkVUQUlOIHRocm91Z2ggcmVtb3ZlZCBibG9jayBpbiBUZXJyYWZvcm0uXG4gICAgLy8gaWYgKHByb3BzLnJldGFpbkRlcGxveW1lbnRzKSB7XG4gICAgLy8gICB0aGlzLmRlcGxveW1lbnRSZXNvdXJjZS5hZGRPdmVycmlkZShcImxpZmVjeWNsZVwiLCB7XG4gICAgLy8gICAgIHByZXZlbnRfZGVzdHJveTogdHJ1ZSxcbiAgICAvLyAgIH0pO1xuICAgIC8vIH1cblxuICAgIHRoaXMuZGVwbG95bWVudElkID0gdGhpcy5kZXBsb3ltZW50UmVzb3VyY2UuaWQ7XG5cbiAgICBpZiAocHJvcHMuc3RhZ2VOYW1lKSB7XG4gICAgICB0aGlzLnN0YWdlTmFtZSA9IHByb3BzLnN0YWdlTmFtZTtcbiAgICAgIHRoaXMuc3RhZ2VSZXNvdXJjZSA9IG5ldyBhcGlHYXRld2F5U3RhZ2UuQXBpR2F0ZXdheVN0YWdlKHRoaXMsIFwiU3RhZ2VcIiwge1xuICAgICAgICByZXN0QXBpSWQ6IHByb3BzLmFwaS5yZXN0QXBpSWQsXG4gICAgICAgIGRlcGxveW1lbnRJZDogdGhpcy5kZXBsb3ltZW50UmVzb3VyY2UuaWQsXG4gICAgICAgIHN0YWdlTmFtZTogcHJvcHMuc3RhZ2VOYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb25cbiAgICAgICAgICA/IGAke3Byb3BzLmRlc2NyaXB0aW9ufSBTdGFnZWBcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIH0pO1xuICAgICAgLy8gRGVwZW5kZW5jaWVzIG9uIG1ldGhvZHMgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBkZXBsb3ltZW50UmVzb3VyY2UgaXRzZWxmLlxuICAgICAgLy8gVGhlIHN0YWdlUmVzb3VyY2UgaW1wbGljaXRseSBkZXBlbmRzIG9uIGRlcGxveW1lbnRSZXNvdXJjZSB2aWEgZGVwbG95bWVudElkLlxuICAgIH1cblxuICAgIGlmIChwcm9wcy5hcGkgaW5zdGFuY2VvZiBSZXN0QXBpQmFzZSkge1xuICAgICAgLy8gVGhlIG1ldGhvZCBfYXR0YWNoRGVwbG95bWVudCBtaWdodCBuZWVkIHRvIGJlIGFkYXB0ZWQgb3IgbWlnaHQgbm90IGV4aXN0IGluIFRlcnJhQ29uc3RydWN0cyBSZXN0QXBpQmFzZVxuICAgICAgLy8gVGhpcyBpcyBzcGVjaWZpYyB0byBob3cgYGxhdGVzdERlcGxveW1lbnRgIGlzIG1hbmFnZWQgYnkgdGhlIFJlc3RBcGkgY29uc3RydWN0LlxuICAgICAgKHByb3BzLmFwaSBhcyBhbnkpLl9hdHRhY2hEZXBsb3ltZW50Py4odGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVUcmlnZ2VycygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0cmlnZ2VycyA9IFsuLi50aGlzLnRyaWdnZXJDb21wb25lbnRzXTtcblxuICAgIC8vIElnbm9yZSBJUmVzdEFwaSB0aGF0IGFyZSBpbXBvcnRlZFxuICAgIGlmICh0aGlzLmFwaSBpbnN0YW5jZW9mIFJlc3RBcGkgfHwgdGhpcy5hcGkgaW5zdGFuY2VvZiBTcGVjUmVzdEFwaSkge1xuICAgICAgY29uc3QgYXBpSW50ZXJuYWwgPSB0aGlzLmFwaS5ub2RlXG4gICAgICAgIC5kZWZhdWx0Q2hpbGQgYXMgYXBpR2F0ZXdheVJlc3RBcGkuQXBpR2F0ZXdheVJlc3RBcGk7XG4gICAgICAvLyBUT0RPOiBBV1NDREsgVHJpZ2dlcnMgcmVkZXBsb3ltZW50IG9uIGFueSBjaGFuZ2VzIChub3QganVzdCB0aGUgYm9keSBwcm9wZXJ0eSkuXG4gICAgICBjb25zdCB0ZlJlc3RBUEkgPSBhcGlJbnRlcm5hbC50b1RlcnJhZm9ybSgpO1xuICAgICAgdHJpZ2dlcnMucHVzaCh0ZlJlc3RBUEkucmVzb3VyY2UuYXdzX2FwaV9nYXRld2F5X3Jlc3RfYXBpKTtcbiAgICB9XG5cbiAgICAvLyBOT1RFOiBBV1NDREsgY2FsY3VsYXRlcyBjaGVja3N1bSBhZ2FpbnN0IGZ1bmN0aW9uIHByb3BlcnRpZXMuXG4gICAgLy8gVGVycmFmb3JtIGFsbG93cyB1c2UgdG8gaW5jbHVkZSB0aGUgZW50aXJlIG9iamVjdCwgc28gd2UgdXNlIHRoYXQgZm9yIGNsYXJpdHkuXG4gICAgY29uc3QgY2hlY2tzdW0gPSBtZDVoYXNoKFxuICAgICAgdHJpZ2dlcnNcbiAgICAgICAgLm1hcCgoeCkgPT4gdGhpcy5zdGFjay5yZXNvbHZlKHgpKVxuICAgICAgICAubWFwKChjKSA9PiBKU09OLnN0cmluZ2lmeShjKSlcbiAgICAgICAgLmpvaW4oXCJcIiksXG4gICAgKTtcbiAgICAvLyB0cmlnZ2VycyBoYXMgdG8gYmUgUmVjb3JkPHN0cmluZywgc3RyaW5nPiBmb3IgVGVycmFmb3JtIHRvIGFjY2VwdCBpdC5cbiAgICByZXR1cm4geyByZWRlcGxveW1lbnQ6IGNoZWNrc3VtIH07XG5cbiAgICAvLyAvLyBOT1RFOiBjb25zaWRlciBjaGVja3N1bSB0b28gY29uZnVzaW5nIGFuZCB1c2UgZnVsbCB0cmlnZ2VyIG9iamVjdHMgaW5zdGVhZD9cbiAgICAvLyAvLyBUT0RPOiBUaGlzIGNhdXNlcyBcIm1pc3NpbmcgYXR0cmlidXRlciBzZXBhcmF0b3JcIiBlcnJvcnNcbiAgICAvLyByZXR1cm4gdHJpZ2dlcnMubGVuZ3RoICE9PSAwXG4gICAgLy8gICA/IHsgcmVkZXBsb3ltZW50OiBGbi5zaGExKEZuLmpzb25lbmNvZGUodGhpcy5zdGFjay5yZXNvbHZlKHRyaWdnZXJzKSkpIH1cbiAgICAvLyAgIDogLy8gVE9ETzogV3JhcCBlYWNoIHRyaWdnZXIgaW4gc2hhIGluc3RlYWQ/IHsgcmVkZXBsb3ltZW50OiBGbi5zaGExKEZuLmpzb25lbmNvZGUoKSkgfVxuICAgIC8vICAgICAvLyB0cmlnZ2Vycy5yZWR1Y2UoXG4gICAgLy8gICAgIC8vICAgKGFjYywgY3VycikgPT4ge1xuICAgIC8vICAgICAvLyAgICAgY29uc3Qga2V5ID0gYHRyaWdnZXItJHtPYmplY3Qua2V5cyhhY2MpLmxlbmd0aCArIDF9YDtcbiAgICAvLyAgICAgLy8gICAgIGFjY1trZXldID0gdGhpcy5zdGFjay5yZXNvbHZlKGN1cnIpO1xuICAgIC8vICAgICAvLyAgICAgcmV0dXJuIGFjYztcbiAgICAvLyAgICAgLy8gICB9LFxuICAgIC8vICAgICAvLyAgIHt9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgLy8gICAgIC8vIClcbiAgICAvLyAgICAgdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjb21wb25lbnQgdG8gdGhlIHNldCBvZiB0cmlnZ2VycyB0aGF0IGRldGVybWluZSBpZiBhIG5ldyBkZXBsb3ltZW50IHNob3VsZCBiZSBjcmVhdGVkLlxuICAgKlxuICAgKiBUcmlnZ2VycyBzaG91bGQgYmUgcHJlZmVycmVkIG92ZXIgRGVwZW5kZW5jaWVzLCBzaW5jZSBEZXBlbmRlbmNpZXMgY2FuIG9ubHkgY2FwdHVyZSBkZXBlbmRlbmN5XG4gICAqIG9yZGVyaW5nIGFuZCB3aWxsIG5vdCBjYXVzZSB0aGUgcmVzb3VyY2UgdG8gcmVjcmVhdGUgKHJlZGVwbG95IHRoZSBSRVNUIEFQSSkgd2l0aCB1cHN0cmVhbVxuICAgKiBjb25maWd1cmF0aW9uIGNoYW5nZXMuXG4gICAqXG4gICAqIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBieSBjb25zdHJ1Y3RzIG9mIHRoZSBBUEkgR2F0ZXdheSBtb2RlbCB0aGF0IHdhbnQgdG9cbiAgICogaW52YWxpZGF0ZSB0aGUgZGVwbG95bWVudCB3aGVuIHRoZWlyIHNldHRpbmdzIGNoYW5nZS4gVGhlIGNvbXBvbmVudCB3aWxsXG4gICAqIGJlIHJlc29sdmVkIGR1cmluZyBzeW50aGVzaXMgc28gdG9rZW5zIGFyZSB3ZWxjb21lLlxuICAgKi9cbiAgcHVibGljIGFkZFRvVHJpZ2dlcnMoZGF0YTogYW55KSB7XG4gICAgaWYgKHRoaXMubm9kZS5sb2NrZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDYW5ub3QgbW9kaWZ5IGRlcGxveW1lbnQgdHJpZ2dlcnMgd2hlbiB0aGUgY29uc3RydWN0IGlzIGxvY2tlZC5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMudHJpZ2dlckNvbXBvbmVudHMucHVzaChkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgZGVwZW5kZW5jeSBmcm9tIHRoaXMgRGVwbG95bWVudCB0byBhbiBBUEkgR2F0ZXdheSBNZXRob2QuXG4gICAqIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBtZXRob2QgaXMgY3JlYXRlZCBiZWZvcmUgdGhlIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBtZXRob2QgVGhlIE1ldGhvZCBjb25zdHJ1Y3QgdG8gYWRkIGFzIGEgZGVwZW5kZW5jeS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX2FkZE1ldGhvZERlcGVuZGVuY3kobWV0aG9kOiBNZXRob2QpIHtcbiAgICAvLyBhZGRpbmcgYSBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIGNvbnN0cnVjdHMgdXNpbmcgYG5vZGUuYWRkRGVwZW5kZW5jeSgpYFxuICAgIC8vIHdpbGwgY3JlYXRlIGFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzIGJldHdlZW4gYGF3c19hcGlfZ2F0ZXdheV9kZXBsb3ltZW50YFxuICAgIC8vIGFuZCB0aGUgYGF3c19sYW1iZGFfcGVybWlzc2lvbmAgcmVzb3VyY2VzIChjaGlsZHJlbiB1bmRlciBNZXRob2QpLFxuICAgIC8vIGNhdXNpbmcgY3ljbGljIGRlcGVuZGVuY3kgZXJyb3JzLiBIZW5jZSwgZmFsbGluZyBiYWNrIHRvIGRlY2xhcmluZ1xuICAgIC8vIGRlcGVuZGVuY2llcyBiZXR3ZWVuIHRoZSB1bmRlcmx5aW5nIFRlcnJhZm9ybUVsZW1lbnRzLlxuICAgIHRoaXMubm9kZS5hZGREZXBlbmRlbmN5KFxuICAgICAgbWV0aG9kLm5vZGUuZGVmYXVsdENoaWxkIGFzIGFwaUdhdGV3YXlNZXRob2QuQXBpR2F0ZXdheU1ldGhvZCxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB7XG4gICAgICBkZXBsb3ltZW50SWQ6IHRoaXMuZGVwbG95bWVudElkLFxuICAgICAgc3RhZ2VOYW1lOiB0aGlzLnN0YWdlTmFtZSxcbiAgICAgIHN0YWdlSW52b2tlVXJsOiB0aGlzLnN0YWdlUmVzb3VyY2U/Lmludm9rZVVybCxcbiAgICB9O1xuICB9XG59XG4iXX0=