terraconstructs 0.2.2 → 0.2.3

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 (275) hide show
  1. package/.jsii +408 -111
  2. package/lib/asset-staging.js +1 -1
  3. package/lib/aws/arn.js +1 -1
  4. package/lib/aws/aws-asset-manager.js +1 -1
  5. package/lib/aws/aws-construct.js +1 -1
  6. package/lib/aws/aws-stack.js +1 -1
  7. package/lib/aws/aws-tags.js +2 -2
  8. package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
  9. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  10. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  11. package/lib/aws/cloudwatch/actions/sns.js +1 -1
  12. package/lib/aws/cloudwatch/actions/ssm.js +2 -2
  13. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  14. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  15. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  16. package/lib/aws/cloudwatch/alarm.js +1 -1
  17. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  18. package/lib/aws/cloudwatch/dashboard.js +1 -1
  19. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  20. package/lib/aws/cloudwatch/graph.js +8 -8
  21. package/lib/aws/cloudwatch/layout.js +3 -3
  22. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  23. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  24. package/lib/aws/cloudwatch/log-group.js +1 -1
  25. package/lib/aws/cloudwatch/log-query.js +1 -1
  26. package/lib/aws/cloudwatch/log-stream.js +1 -1
  27. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  28. package/lib/aws/cloudwatch/metric.js +2 -2
  29. package/lib/aws/cloudwatch/pattern.js +3 -3
  30. package/lib/aws/cloudwatch/policy.js +1 -1
  31. package/lib/aws/cloudwatch/query-definition.js +2 -2
  32. package/lib/aws/cloudwatch/stats.js +1 -1
  33. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  34. package/lib/aws/cloudwatch/text.js +1 -1
  35. package/lib/aws/cloudwatch/variable.js +3 -3
  36. package/lib/aws/cloudwatch/widget.js +1 -1
  37. package/lib/aws/compute/access-log.js +4 -4
  38. package/lib/aws/compute/activity.js +1 -1
  39. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  40. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  41. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  42. package/lib/aws/compute/alb/application-listener.js +1 -1
  43. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  44. package/lib/aws/compute/alb/application-target-group.js +1 -1
  45. package/lib/aws/compute/alb/conditions.js +1 -1
  46. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  47. package/lib/aws/compute/alb/trust-store.js +1 -1
  48. package/lib/aws/compute/api-definition.js +3 -3
  49. package/lib/aws/compute/api-key.js +2 -2
  50. package/lib/aws/compute/architecture.js +1 -1
  51. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  52. package/lib/aws/compute/authorizer.js +1 -1
  53. package/lib/aws/compute/authorizers/identity-source.js +1 -1
  54. package/lib/aws/compute/authorizers/lambda.js +2 -2
  55. package/lib/aws/compute/base-path-mapping.js +1 -1
  56. package/lib/aws/compute/base-scalable-attribute.js +1 -1
  57. package/lib/aws/compute/bastion-host.js +1 -1
  58. package/lib/aws/compute/chain.js +1 -1
  59. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  60. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  61. package/lib/aws/compute/client-vpn-route.js +2 -2
  62. package/lib/aws/compute/code.js +8 -8
  63. package/lib/aws/compute/condition.js +1 -1
  64. package/lib/aws/compute/connections.js +1 -1
  65. package/lib/aws/compute/cors.js +1 -1
  66. package/lib/aws/compute/deployment.js +1 -1
  67. package/lib/aws/compute/domain-name.js +1 -1
  68. package/lib/aws/compute/event-invoke-config.js +1 -1
  69. package/lib/aws/compute/event-source-filter.js +2 -2
  70. package/lib/aws/compute/event-source-mapping.js +1 -1
  71. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  72. package/lib/aws/compute/event-sources/s3.js +1 -1
  73. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  74. package/lib/aws/compute/event-sources/sqs.js +1 -1
  75. package/lib/aws/compute/fields.js +4 -4
  76. package/lib/aws/compute/function-alias.js +1 -1
  77. package/lib/aws/compute/function-base.js +2 -2
  78. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  79. package/lib/aws/compute/function-destinations/function.js +1 -1
  80. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  81. package/lib/aws/compute/function-nodejs/function.js +1 -1
  82. package/lib/aws/compute/function-url.js +1 -1
  83. package/lib/aws/compute/function.js +1 -1
  84. package/lib/aws/compute/gateway-response.js +2 -2
  85. package/lib/aws/compute/handler.js +1 -1
  86. package/lib/aws/compute/instance-types.js +1 -1
  87. package/lib/aws/compute/instance.js +1 -1
  88. package/lib/aws/compute/integration.js +1 -1
  89. package/lib/aws/compute/integrations/aws.js +1 -1
  90. package/lib/aws/compute/integrations/http.js +1 -1
  91. package/lib/aws/compute/integrations/lambda.js +1 -1
  92. package/lib/aws/compute/integrations/mock.js +1 -1
  93. package/lib/aws/compute/integrations/stepfunctions.js +1 -1
  94. package/lib/aws/compute/ip-addresses.js +2 -2
  95. package/lib/aws/compute/ipam.js +1 -1
  96. package/lib/aws/compute/key-pair.js +1 -1
  97. package/lib/aws/compute/lambda-api.js +1 -1
  98. package/lib/aws/compute/launch-template.js +2 -2
  99. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  100. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  101. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  102. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  103. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  104. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  105. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  106. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  107. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  108. package/lib/aws/compute/load-balancer.js +3 -3
  109. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  110. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  111. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  112. package/lib/aws/compute/machine-image/common.js +1 -1
  113. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  114. package/lib/aws/compute/method.js +1 -1
  115. package/lib/aws/compute/model.js +3 -3
  116. package/lib/aws/compute/nat.js +5 -5
  117. package/lib/aws/compute/network-acl-types.js +2 -2
  118. package/lib/aws/compute/network-acl.js +3 -3
  119. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  120. package/lib/aws/compute/nlb/network-listener.js +1 -1
  121. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  122. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  123. package/lib/aws/compute/peer.js +1 -1
  124. package/lib/aws/compute/placement-group.js +1 -1
  125. package/lib/aws/compute/port.js +1 -1
  126. package/lib/aws/compute/prefix-list.js +1 -1
  127. package/lib/aws/compute/requestvalidator.js +1 -1
  128. package/lib/aws/compute/resource.js +3 -3
  129. package/lib/aws/compute/restapi.js +3 -3
  130. package/lib/aws/compute/route.js +8 -8
  131. package/lib/aws/compute/runtime.js +1 -1
  132. package/lib/aws/compute/scalable-target.js +1 -1
  133. package/lib/aws/compute/schedule.js +1 -1
  134. package/lib/aws/compute/security-group.js +1 -1
  135. package/lib/aws/compute/stage.js +2 -2
  136. package/lib/aws/compute/state-graph.js +1 -1
  137. package/lib/aws/compute/state-machine-fragment.js +1 -1
  138. package/lib/aws/compute/state-machine.js +4 -4
  139. package/lib/aws/compute/states/choice.js +1 -1
  140. package/lib/aws/compute/states/custom-state.js +1 -1
  141. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  142. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  143. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  144. package/lib/aws/compute/states/distributed-map.js +1 -1
  145. package/lib/aws/compute/states/fail.js +1 -1
  146. package/lib/aws/compute/states/map-base.js +1 -1
  147. package/lib/aws/compute/states/map.js +1 -1
  148. package/lib/aws/compute/states/parallel.js +1 -1
  149. package/lib/aws/compute/states/pass.js +2 -2
  150. package/lib/aws/compute/states/state.js +1 -1
  151. package/lib/aws/compute/states/succeed.js +1 -1
  152. package/lib/aws/compute/states/task-base.js +2 -2
  153. package/lib/aws/compute/states/task.js +1 -1
  154. package/lib/aws/compute/states/wait.js +2 -2
  155. package/lib/aws/compute/step-scaling-action.js +1 -1
  156. package/lib/aws/compute/step-scaling-policy.js +1 -1
  157. package/lib/aws/compute/stepfunctions-api.js +1 -1
  158. package/lib/aws/compute/subnet-v2.js +2 -2
  159. package/lib/aws/compute/subnet.js +1 -1
  160. package/lib/aws/compute/target-tracking-scaling-policy.js +1 -1
  161. package/lib/aws/compute/task-credentials.js +1 -1
  162. package/lib/aws/compute/task-input.js +1 -1
  163. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  164. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  165. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  166. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  167. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  168. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  169. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  170. package/lib/aws/compute/types.js +1 -1
  171. package/lib/aws/compute/usage-plan.js +1 -1
  172. package/lib/aws/compute/user-data.js +3 -3
  173. package/lib/aws/compute/volume.js +2 -2
  174. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  175. package/lib/aws/compute/vpc-endpoint.js +6 -6
  176. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  177. package/lib/aws/compute/vpc-link.js +1 -1
  178. package/lib/aws/compute/vpc-v2-base.js +1 -1
  179. package/lib/aws/compute/vpc-v2.js +2 -2
  180. package/lib/aws/compute/vpc.js +4 -4
  181. package/lib/aws/compute/vpn.js +3 -3
  182. package/lib/aws/edge/certificate.js +1 -1
  183. package/lib/aws/edge/distribution.js +3 -3
  184. package/lib/aws/edge/dns-alias-record-targets.js +6 -6
  185. package/lib/aws/edge/dns-record.js +13 -13
  186. package/lib/aws/edge/dns-zone.js +1 -1
  187. package/lib/aws/edge/function.js +2 -2
  188. package/lib/aws/edge/key-value-store.js +4 -4
  189. package/lib/aws/edge/origin.js +3 -3
  190. package/lib/aws/edge/response-headers-policy.js +1 -1
  191. package/lib/aws/encryption/alias.js +1 -1
  192. package/lib/aws/encryption/key.js +1 -1
  193. package/lib/aws/encryption/via-service-principal.js +1 -1
  194. package/lib/aws/iam/grant.js +3 -3
  195. package/lib/aws/iam/group.js +1 -1
  196. package/lib/aws/iam/instance-profile.js +1 -1
  197. package/lib/aws/iam/managed-policy.js +1 -1
  198. package/lib/aws/iam/oidc-provider.js +1 -1
  199. package/lib/aws/iam/policy-document.js +1 -1
  200. package/lib/aws/iam/policy-statement.js +1 -1
  201. package/lib/aws/iam/policy.js +1 -1
  202. package/lib/aws/iam/principals.js +20 -20
  203. package/lib/aws/iam/role.js +1 -1
  204. package/lib/aws/iam/saml-provider.js +2 -2
  205. package/lib/aws/iam/unknown-principal.js +1 -1
  206. package/lib/aws/iam/user.js +1 -1
  207. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  208. package/lib/aws/network/subnet-group.js +3 -3
  209. package/lib/aws/network/subnet.js +4 -4
  210. package/lib/aws/notify/archive.js +1 -1
  211. package/lib/aws/notify/connection.js +3 -3
  212. package/lib/aws/notify/event-bus.js +3 -3
  213. package/lib/aws/notify/event-pattern.js +1 -1
  214. package/lib/aws/notify/index.d.ts +1 -0
  215. package/lib/aws/notify/index.js +3 -1
  216. package/lib/aws/notify/input.js +2 -2
  217. package/lib/aws/notify/kinesis-stream.js +1 -1
  218. package/lib/aws/notify/notification-rule.js +1 -1
  219. package/lib/aws/notify/policy.js +1 -1
  220. package/lib/aws/notify/queue-base.js +1 -1
  221. package/lib/aws/notify/queue-policy.js +1 -1
  222. package/lib/aws/notify/queue.js +1 -1
  223. package/lib/aws/notify/resource-policy.js +1 -1
  224. package/lib/aws/notify/rule.js +1 -1
  225. package/lib/aws/notify/schedule.js +1 -1
  226. package/lib/aws/notify/sns-grants.generated.d.ts +39 -0
  227. package/lib/aws/notify/sns-grants.generated.js +77 -0
  228. package/lib/aws/notify/sqs-grants.generated.js +1 -1
  229. package/lib/aws/notify/subscription-filter.js +1 -1
  230. package/lib/aws/notify/subscription.d.ts +8 -2
  231. package/lib/aws/notify/subscription.js +6 -7
  232. package/lib/aws/notify/subscriptions/email.js +1 -1
  233. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  234. package/lib/aws/notify/subscriptions/sms.js +1 -1
  235. package/lib/aws/notify/subscriptions/sqs.js +1 -1
  236. package/lib/aws/notify/subscriptions/url.js +1 -1
  237. package/lib/aws/notify/targets/event-bus.js +1 -1
  238. package/lib/aws/notify/targets/function.js +1 -1
  239. package/lib/aws/notify/targets/log-group.js +2 -2
  240. package/lib/aws/notify/targets/sqs.js +1 -1
  241. package/lib/aws/notify/targets/state-machine.js +1 -1
  242. package/lib/aws/notify/topic-base.d.ts +6 -0
  243. package/lib/aws/notify/topic-base.js +16 -19
  244. package/lib/aws/notify/topic.d.ts +29 -6
  245. package/lib/aws/notify/topic.js +50 -47
  246. package/lib/aws/storage/assets/image-asset.js +3 -3
  247. package/lib/aws/storage/assets/s3.js +1 -1
  248. package/lib/aws/storage/auth-token.js +2 -2
  249. package/lib/aws/storage/billing.js +1 -1
  250. package/lib/aws/storage/bucket-notifications.js +1 -1
  251. package/lib/aws/storage/bucket-policy.js +1 -1
  252. package/lib/aws/storage/bucket-source.js +1 -1
  253. package/lib/aws/storage/bucket.js +2 -2
  254. package/lib/aws/storage/capacity.js +1 -1
  255. package/lib/aws/storage/ecr-repository.js +3 -3
  256. package/lib/aws/storage/encryption.js +1 -1
  257. package/lib/aws/storage/notification-targets/function.js +1 -1
  258. package/lib/aws/storage/notification-targets/queue.js +1 -1
  259. package/lib/aws/storage/origin-access-identity.js +1 -1
  260. package/lib/aws/storage/parameter.js +2 -2
  261. package/lib/aws/storage/stream-grants.js +1 -1
  262. package/lib/aws/storage/table-grants.js +1 -1
  263. package/lib/aws/storage/table.js +3 -3
  264. package/lib/bundling.js +3 -3
  265. package/lib/construct-base.js +2 -2
  266. package/lib/duration.js +1 -1
  267. package/lib/errors.js +1 -1
  268. package/lib/expiration.js +1 -1
  269. package/lib/fs/ignore.js +4 -4
  270. package/lib/fs/index.js +1 -1
  271. package/lib/size.js +1 -1
  272. package/lib/stack-base.js +1 -1
  273. package/lib/terra-func.js +1 -1
  274. package/lib/time-zone.js +1 -1
  275. package/package.json +1 -1
@@ -284,7 +284,7 @@ class BaseLoadBalancer extends aws_construct_1.AwsConstructBase {
284
284
  }
285
285
  exports.BaseLoadBalancer = BaseLoadBalancer;
286
286
  _a = JSII_RTTI_SYMBOL_1;
287
- BaseLoadBalancer[_a] = { fqn: "terraconstructs.aws.compute.BaseLoadBalancer", version: "0.2.2" };
287
+ BaseLoadBalancer[_a] = { fqn: "terraconstructs.aws.compute.BaseLoadBalancer", version: "0.2.3" };
288
288
  /**
289
289
  * A helper class to instantiate an ILoadBalancerV2
290
290
  */
@@ -296,5 +296,5 @@ class ImportedLoadBalancer {
296
296
  }
297
297
  exports.ImportedLoadBalancer = ImportedLoadBalancer;
298
298
  _b = JSII_RTTI_SYMBOL_1;
299
- ImportedLoadBalancer[_b] = { fqn: "terraconstructs.aws.compute.ImportedLoadBalancer", version: "0.2.2" };
299
+ ImportedLoadBalancer[_b] = { fqn: "terraconstructs.aws.compute.ImportedLoadBalancer", version: "0.2.3" };
300
300
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sb2FkLWJhbGFuY2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2xiLXNoYXJlZC9iYXNlLWxvYWQtYmFsYW5jZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnSUFBZ0k7QUFFaEksc0RBQWtEO0FBQ2xELHNEQUEyRDtBQUMzRCxpQ0FLZTtBQUVmLG1DQUF3QztBQUN4QyxpQ0FTZ0I7QUFDaEIsMkJBQTJCO0FBQzNCLDJEQUF1RDtBQUN2RCxtQ0FBc0M7QUFDdEMsdURBSTZCO0FBQzdCLCtDQUEyQztBQUMzQyxpQ0FBaUM7QUFDakMsbUNBQThEO0FBeUk5RDs7R0FFRztBQUNILE1BQXNCLGdCQUFpQixTQUFRLGdDQUFnQjtJQUM3RCxNQUFNO0lBQ04sd0VBQXdFO0lBQ3hFLGVBQWU7SUFDZixNQUFNO0lBQ04sMENBQTBDO0lBQzFDLHNCQUFzQjtJQUN0QixzREFBc0Q7SUFDdEQsTUFBTTtJQUNOLFNBQVM7SUFDVCxpRUFBaUU7SUFDakUsc0VBQXNFO0lBQ3RFLDRCQUE0QjtJQUM1QixRQUFRO0lBQ1IsUUFBUTtJQUNSLHVCQUF1QjtJQUN2QixpRkFBaUY7SUFDakYsU0FBUztJQUNULE1BQU07SUFFTixrREFBa0Q7SUFDbEQsZ0RBQWdEO0lBQ2hELGdGQUFnRjtJQUNoRixNQUFNO0lBRU4sK0VBQStFO0lBQy9FLGFBQWE7SUFDYixRQUFRO0lBQ1IsbUVBQW1FO0lBQ25FLGlCQUFpQjtJQUNqQixnRUFBZ0U7SUFDaEUsMENBQTBDO0lBQzFDLHNEQUFzRDtJQUN0RCxnREFBZ0Q7SUFDaEQsc0JBQXNCO0lBQ3RCLHFFQUFxRTtJQUNyRSxvRUFBb0U7SUFDcEUsNkpBQTZKO0lBQzdKLCtEQUErRDtJQUMvRCwrQkFBK0I7SUFDL0IsdUVBQXVFO0lBQ3ZFLHlDQUF5QztJQUN6Qyw4QkFBOEI7SUFDOUIsZ0RBQWdEO0lBQ2hELFNBQVM7SUFDVCxhQUFhO0lBRWIsa0JBQWtC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Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVE7SUFDMUMsQ0FBQzs7QUFKTixvREFLQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyL2xpYi9zaGFyZWQvYmFzZS1sb2FkLWJhbGFuY2VyLnRzXG5cbmltcG9ydCB7IFJlZ2lvbkluZm8gfSBmcm9tIFwiQGF3cy1jZGsvcmVnaW9uLWluZm9cIjtcbmltcG9ydCB7IGxiIGFzIHRmTG9hZEJhbGFuY2VyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7XG4gIFRlcnJhZm9ybVJlc291cmNlLFxuICAvLyBDb250ZXh0UHJvdmlkZXIsXG4gIExhenksXG4gIFRva2VuLFxufSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBJcEFkZHJlc3NUeXBlIH0gZnJvbSBcIi4vZW51bXNcIjtcbmltcG9ydCB7XG4gIEF0dHJpYnV0ZXMsXG4gIGlmVW5kZWZpbmVkLFxuICBMb2FkQmFsYW5jZXJBdHRyaWJ1dGUgYXMgQXR0cmlidXRlLFxuICBsb29rdXBCb29sQXR0cmlidXRlLFxuICBsb29rdXBOdW1iZXJBdHRyaWJ1dGUsXG4gIGxvb2t1cFN0cmluZ0F0dHJpYnV0ZSxcbiAgLy8gbWFwVGFnTWFwVG9DeHNjaGVtYSxcbiAgLy8gcmVuZGVyQXR0cmlidXRlcyxcbn0gZnJvbSBcIi4vdXRpbFwiO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCIuLi9cIjtcbmltcG9ydCB7IExvYWRCYWxhbmNlclR5cGUgfSBmcm9tIFwiLi9ncmlkLWxvb2t1cC10eXBlc1wiO1xuaW1wb3J0IHsgQXJuRm9ybWF0IH0gZnJvbSBcIi4uLy4uL2FyblwiO1xuaW1wb3J0IHtcbiAgSUF3c0NvbnN0cnVjdCxcbiAgQXdzQ29uc3RydWN0QmFzZSxcbiAgQXdzQ29uc3RydWN0UHJvcHMsXG59IGZyb20gXCIuLi8uLi9hd3MtY29uc3RydWN0XCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi8uLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vaWFtXCI7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQsIFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tIFwiLi4vLi4vaWFtXCI7XG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiLi4vLi4vc3RvcmFnZVwiO1xuXG4vKipcbiAqIFNoYXJlZCBwcm9wZXJ0aWVzIG9mIGJvdGggQXBwbGljYXRpb24gYW5kIE5ldHdvcmsgTG9hZCBCYWxhbmNlcnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlTG9hZEJhbGFuY2VyUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBWUEMgbmV0d29yayB0byBwbGFjZSB0aGUgbG9hZCBiYWxhbmNlciBpblxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbG9hZCBiYWxhbmNlciBoYXMgYW4gaW50ZXJuZXQtcm91dGFibGUgYWRkcmVzc1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJuZXRGYWNpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGljaCBzdWJuZXRzIHBsYWNlIHRoZSBsb2FkIGJhbGFuY2VyIGluXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIFZwYyBkZWZhdWx0IHN0cmF0ZWd5LlxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjU3VibmV0cz86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIGRlbGV0aW9uIHByb3RlY3Rpb24gaXMgZW5hYmxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0aW9uUHJvdGVjdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIGNyb3NzLXpvbmUgbG9hZCBiYWxhbmNpbmcgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZSBmb3IgTmV0d29yayBMb2FkIEJhbGFuY2VycyBhbmQgdHJ1ZSBmb3IgQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlcnMuXG4gICAqIFRoaXMgY2FuIG5vdCBiZSBgZmFsc2VgIGZvciBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2Vycy5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyLWxvYWRiYWxhbmNlci1sb2FkYmFsYW5jZXJhdHRyaWJ1dGUuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgY3Jvc3Nab25lRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBsb2FkIGJhbGFuY2VyIGJsb2NrcyB0cmFmZmljIHRocm91Z2ggdGhlIEludGVybmV0IEdhdGV3YXkgKElHVykuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2UgZm9yIGludGVybmV0LWZhY2luZyBsb2FkIGJhbGFuY2VycyBhbmQgdHJ1ZSBmb3IgaW50ZXJuYWwgbG9hZCBiYWxhbmNlcnNcbiAgICovXG4gIHJlYWRvbmx5IGRlbnlBbGxJZ3dUcmFmZmljPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPdXRwdXRzIHdoaWNoIG1heSBiZSByZWdpc3RlcmVkIGZvciBvdXRwdXQgdmlhIHRoZSBHcmlkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvYWRCYWxhbmNlclYyT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBUaGUgY2Fub25pY2FsIGhvc3RlZCB6b25lIElEIG9mIHRoaXMgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBFeGFtcGxlIHZhbHVlOiBgWjJQNzBKN0VYQU1QTEVgXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlckNhbm9uaWNhbEhvc3RlZFpvbmVJZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEROUyBuYW1lIG9mIHRoaXMgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBFeGFtcGxlIHZhbHVlOiBgbXktbG9hZC1iYWxhbmNlci00MjQ4MzU3MDYudXMtd2VzdC0yLmVsYi5hbWF6b25hd3MuY29tYFxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXJEbnNOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxvYWRCYWxhbmNlckJhc2VWMiB7XG4gIC8qKlxuICAgKiBUaGUgY2Fub25pY2FsIGhvc3RlZCB6b25lIElEIG9mIHRoaXMgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBFeGFtcGxlIHZhbHVlOiBgWjJQNzBKN0VYQU1QTEVgXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlckNhbm9uaWNhbEhvc3RlZFpvbmVJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgRE5TIG5hbWUgb2YgdGhpcyBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIEV4YW1wbGUgdmFsdWU6IGBteS1sb2FkLWJhbGFuY2VyLTQyNDgzNTcwNi51cy13ZXN0LTIuZWxiLmFtYXpvbmF3cy5jb21gXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlckRuc05hbWU6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUxvYWRCYWxhbmNlclYyIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCwgSUxvYWRCYWxhbmNlckJhc2VWMiB7XG4gIC8qKiBTdHJvbmdseSB0eXBlZCBvdXRwdXRzICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlclYyT3V0cHV0czogTG9hZEJhbGFuY2VyVjJPdXRwdXRzO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGxvb2tpbmcgdXAgbG9hZCBiYWxhbmNlcnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlTG9hZEJhbGFuY2VyTG9va3VwT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBGaW5kIGJ5IGxvYWQgYmFsYW5jZXIncyBBUk5cbiAgICogQGRlZmF1bHQgLSBkb2VzIG5vdCBzZWFyY2ggYnkgbG9hZCBiYWxhbmNlciBhcm5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlckFybj86IHN0cmluZztcblxuICAvKipcbiAgICogTWF0Y2ggbG9hZCBiYWxhbmNlciB0YWdzLlxuICAgKiBAZGVmYXVsdCAtIGRvZXMgbm90IG1hdGNoIGxvYWQgYmFsYW5jZXJzIGJ5IHRhZ3NcbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlclRhZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHF1ZXJ5IGNvbnRleHQgcHJvdmlkZXJcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvYWRCYWxhbmNlclF1ZXJ5Q29udGV4dFByb3ZpZGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBVc2VyJ3MgbG9va3VwIG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHVzZXJPcHRpb25zOiBCYXNlTG9hZEJhbGFuY2VyTG9va3VwT3B0aW9ucztcblxuICAvKipcbiAgICogVHlwZSBvZiBsb2FkIGJhbGFuY2VyXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXJUeXBlOiBMb2FkQmFsYW5jZXJUeXBlO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGJvdGggQXBwbGljYXRpb24gYW5kIE5ldHdvcmsgTG9hZCBCYWxhbmNlcnNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VMb2FkQmFsYW5jZXIgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIHtcbiAgLy8gLyoqXG4gIC8vICAqIFF1ZXJpZXMgdGhlIGxvYWQgYmFsYW5jZXIgY29udGV4dCBwcm92aWRlciBmb3IgbG9hZCBiYWxhbmNlciBpbmZvLlxuICAvLyAgKiBAaW50ZXJuYWxcbiAgLy8gICovXG4gIC8vIHByb3RlY3RlZCBzdGF0aWMgX3F1ZXJ5Q29udGV4dFByb3ZpZGVyKFxuICAvLyAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIC8vICAgb3B0aW9uczogTG9hZEJhbGFuY2VyUXVlcnlDb250ZXh0UHJvdmlkZXJPcHRpb25zLFxuICAvLyApIHtcbiAgLy8gICBpZiAoXG4gIC8vICAgICBUb2tlbi5pc1VucmVzb2x2ZWQob3B0aW9ucy51c2VyT3B0aW9ucy5sb2FkQmFsYW5jZXJBcm4pIHx8XG4gIC8vICAgICBPYmplY3QudmFsdWVzKG9wdGlvbnMudXNlck9wdGlvbnMubG9hZEJhbGFuY2VyVGFncyA/PyB7fSkuc29tZShcbiAgLy8gICAgICAgVG9rZW4uaXNVbnJlc29sdmVkLFxuICAvLyAgICAgKVxuICAvLyAgICkge1xuICAvLyAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAvLyAgICAgICBcIkFsbCBhcmd1bWVudHMgdG8gbG9vayB1cCBhIGxvYWQgYmFsYW5jZXIgbXVzdCBiZSBjb25jcmV0ZSAobm8gVG9rZW5zKVwiLFxuICAvLyAgICAgKTtcbiAgLy8gICB9XG5cbiAgLy8gICBsZXQgY3hzY2hlbWFUYWdzOiBjeHNjaGVtYS5UYWdbXSB8IHVuZGVmaW5lZDtcbiAgLy8gICBpZiAob3B0aW9ucy51c2VyT3B0aW9ucy5sb2FkQmFsYW5jZXJUYWdzKSB7XG4gIC8vICAgICBjeHNjaGVtYVRhZ3MgPSBtYXBUYWdNYXBUb0N4c2NoZW1hKG9wdGlvbnMudXNlck9wdGlvbnMubG9hZEJhbGFuY2VyVGFncyk7XG4gIC8vICAgfVxuXG4gIC8vICAgY29uc3QgcHJvcHM6IGN4YXBpLkxvYWRCYWxhbmNlckNvbnRleHRSZXNwb25zZSA9IENvbnRleHRQcm92aWRlci5nZXRWYWx1ZShcbiAgLy8gICAgIHNjb3BlLFxuICAvLyAgICAge1xuICAvLyAgICAgICBwcm92aWRlcjogY3hzY2hlbWEuQ29udGV4dFByb3ZpZGVyLkxPQURfQkFMQU5DRVJfUFJPVklERVIsXG4gIC8vICAgICAgIHByb3BzOiB7XG4gIC8vICAgICAgICAgbG9hZEJhbGFuY2VyQXJuOiBvcHRpb25zLnVzZXJPcHRpb25zLmxvYWRCYWxhbmNlckFybixcbiAgLy8gICAgICAgICBsb2FkQmFsYW5jZXJUYWdzOiBjeHNjaGVtYVRhZ3MsXG4gIC8vICAgICAgICAgbG9hZEJhbGFuY2VyVHlwZTogb3B0aW9ucy5sb2FkQmFsYW5jZXJUeXBlLFxuICAvLyAgICAgICB9IGFzIGN4c2NoZW1hLkxvYWRCYWxhbmNlckNvbnRleHRRdWVyeSxcbiAgLy8gICAgICAgZHVtbXlWYWx1ZToge1xuICAvLyAgICAgICAgIGlwQWRkcmVzc1R5cGU6IGN4YXBpLkxvYWRCYWxhbmNlcklwQWRkcmVzc1R5cGUuRFVBTF9TVEFDSyxcbiAgLy8gICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGNka2xhYnMvbm8tbGl0ZXJhbC1wYXJ0aXRpb25cbiAgLy8gICAgICAgICBsb2FkQmFsYW5jZXJBcm46IGBhcm46YXdzOmVsYXN0aWNsb2FkYmFsYW5jaW5nOnVzLXdlc3QtMjoxMjM0NTY3ODkwMTI6bG9hZGJhbGFuY2VyLyR7b3B0aW9ucy5sb2FkQmFsYW5jZXJUeXBlfS9teS1sb2FkLWJhbGFuY2VyLzUwZGM2YzQ5NWMwYzkxODhgLFxuICAvLyAgICAgICAgIGxvYWRCYWxhbmNlckNhbm9uaWNhbEhvc3RlZFpvbmVJZDogXCJaM0RaWEUwRVhBTVBMRVwiLFxuICAvLyAgICAgICAgIGxvYWRCYWxhbmNlckRuc05hbWU6XG4gIC8vICAgICAgICAgICBcIm15LWxvYWQtYmFsYW5jZXItMTIzNDU2Nzg5MC51cy13ZXN0LTIuZWxiLmFtYXpvbmF3cy5jb21cIixcbiAgLy8gICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBbXCJzZy0xMjM0XCJdLFxuICAvLyAgICAgICAgIHZwY0lkOiBcInZwYy0xMjM0NVwiLFxuICAvLyAgICAgICB9IGFzIGN4YXBpLkxvYWRCYWxhbmNlckNvbnRleHRSZXNwb25zZSxcbiAgLy8gICAgIH0sXG4gIC8vICAgKS52YWx1ZTtcblxuICAvLyAgIHJldHVybiBwcm9wcztcbiAgLy8gfVxuXG4gIHB1YmxpYyBnZXQgbG9hZEJhbGFuY2VyVjJPdXRwdXRzKCk6IExvYWRCYWxhbmNlclYyT3V0cHV0cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvYWRCYWxhbmNlckNhbm9uaWNhbEhvc3RlZFpvbmVJZDogdGhpcy5sb2FkQmFsYW5jZXJDYW5vbmljYWxIb3N0ZWRab25lSWQsXG4gICAgICBsb2FkQmFsYW5jZXJEbnNOYW1lOiB0aGlzLmxvYWRCYWxhbmNlckRuc05hbWUsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZEJhbGFuY2VyVjJPdXRwdXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjYW5vbmljYWwgaG9zdGVkIHpvbmUgSUQgb2YgdGhpcyBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIEV4YW1wbGUgdmFsdWU6IGBaMlA3MEo3RVhBTVBMRWBcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxvYWRCYWxhbmNlckNhbm9uaWNhbEhvc3RlZFpvbmVJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgRE5TIG5hbWUgb2YgdGhpcyBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIEV4YW1wbGUgdmFsdWU6IGBteS1sb2FkLWJhbGFuY2VyLTQyNDgzNTcwNi51cy13ZXN0LTIuZWxiLmFtYXpvbmF3cy5jb21gXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsb2FkQmFsYW5jZXJEbnNOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdWxsIG5hbWUgb2YgdGhpcyBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIEV4YW1wbGUgdmFsdWU6IGBhcHAvbXktbG9hZC1iYWxhbmNlci81MGRjNmM0OTVjMGM5MTg4YFxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbG9hZEJhbGFuY2VyRnVsbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhpcyBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIEV4YW1wbGUgdmFsdWU6IGBteS1sb2FkLWJhbGFuY2VyYFxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoaXMgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBFeGFtcGxlIHZhbHVlOiBgYXJuOmF3czplbGFzdGljbG9hZGJhbGFuY2luZzp1cy13ZXN0LTI6MTIzNDU2Nzg5MDEyOmxvYWRiYWxhbmNlci9hcHAvbXktaW50ZXJuYWwtbG9hZC1iYWxhbmNlci81MGRjNmM0OTVjMGM5MTg4YFxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbG9hZEJhbGFuY2VyQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsb2FkQmFsYW5jZXJTZWN1cml0eUdyb3Vwczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBWUEMgdGhpcyBsb2FkIGJhbGFuY2VyIGhhcyBiZWVuIGNyZWF0ZWQgaW4uXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgYWx3YXlzIGRlZmluZWQgKG5vdCBgbnVsbGAgb3IgYHVuZGVmaW5lZGApIGZvciBzdWItY2xhc3NlcyBvZiBgQmFzZUxvYWRCYWxhbmNlcmAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZXMgc2V0IG9uIHRoaXMgbG9hZCBiYWxhbmNlclxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVzID0ge307XG4gIHByaXZhdGUgcmVhZG9ubHkgcGh5c2ljYWxOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGJhc2VQcm9wczogQmFzZUxvYWRCYWxhbmNlclByb3BzLFxuICAgIGFkZGl0aW9uYWxQcm9wczogdGZMb2FkQmFsYW5jZXIuTGJDb25maWcsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgYmFzZVByb3BzKTtcbiAgICB0aGlzLnBoeXNpY2FsTmFtZSA9XG4gICAgICBiYXNlUHJvcHMubG9hZEJhbGFuY2VyTmFtZSB8fFxuICAgICAgdGhpcy5zdGFjay51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywge1xuICAgICAgICBwcmVmaXg6IHRoaXMuZ3JpZFVVSUQsXG4gICAgICB9KTtcblxuICAgIGNvbnN0IGludGVybmV0RmFjaW5nID0gaWZVbmRlZmluZWQoYmFzZVByb3BzLmludGVybmV0RmFjaW5nLCBmYWxzZSk7XG5cbiAgICBjb25zdCB2cGNTdWJuZXRzID0gaWZVbmRlZmluZWQoXG4gICAgICBiYXNlUHJvcHMudnBjU3VibmV0cyxcbiAgICAgIGludGVybmV0RmFjaW5nID8geyBzdWJuZXRUeXBlOiBlYzIuU3VibmV0VHlwZS5QVUJMSUMgfSA6IHt9LFxuICAgICk7XG4gICAgY29uc3QgeyBzdWJuZXRJZHMsIGludGVybmV0Q29ubmVjdGl2aXR5RXN0YWJsaXNoZWQgfSA9XG4gICAgICBiYXNlUHJvcHMudnBjLnNlbGVjdFN1Ym5ldHModnBjU3VibmV0cyk7XG5cbiAgICB0aGlzLnZwYyA9IGJhc2VQcm9wcy52cGM7XG5cbiAgICBpZiAoXG4gICAgICBhZGRpdGlvbmFsUHJvcHMuaXBBZGRyZXNzVHlwZSA9PT1cbiAgICAgICAgSXBBZGRyZXNzVHlwZS5EVUFMX1NUQUNLX1dJVEhPVVRfUFVCTElDX0lQVjQgJiZcbiAgICAgIGFkZGl0aW9uYWxQcm9wcy5sb2FkQmFsYW5jZXJUeXBlICE9PSBMb2FkQmFsYW5jZXJUeXBlLkFQUExJQ0FUSU9OXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGAnaXBBZGRyZXNzVHlwZScgRFVBTF9TVEFDS19XSVRIT1VUX1BVQkxJQ19JUFY0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyLCBnb3QgJHthZGRpdGlvbmFsUHJvcHMubG9hZEJhbGFuY2VyVHlwZX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyB0ZkxvYWRCYWxhbmNlci5MYih0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgc3VibmV0czogc3VibmV0SWRzLFxuICAgICAgaW50ZXJuYWw6ICFpbnRlcm5ldEZhY2luZywgLy8gQVdTIENESyBcIlNjaGVtZVwiXG4gICAgICAvLyBSZXZlcnNlIENGTiBMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzIHRvIFRlcnJhZm9ybSBSZXNvdXJjZSBwcm9wZXJ0aWVzXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS1wcm92aWRlci1hd3MvYmxvYi92NS44OC4wL2ludGVybmFsL3NlcnZpY2UvZWxidjIvbG9hZF9iYWxhbmNlci5nbyNMNzE4XG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyLWxvYWRiYWxhbmNlci1sb2FkYmFsYW5jZXJhdHRyaWJ1dGUuaHRtbFxuICAgICAgY2xpZW50S2VlcEFsaXZlOiB0aGlzLmxhenlOdW1iZXJBdHRyKEF0dHJpYnV0ZS5jbGllbnRLZWVwQWxpdmVTZWNvbmRzKSxcbiAgICAgIC8vIGN1c3RvbWVyT3duZWRJcHY0UG9vbCBbQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlcnMgb24gT3V0cG9zdHNdXG4gICAgICBkZXN5bmNNaXRpZ2F0aW9uTW9kZTogdGhpcy5sYXp5U3RyaW5nQXR0cihcbiAgICAgICAgQXR0cmlidXRlLnJvdXRpbmdIVFRQRGVzeW5jTWl0aWdhdGlvbk1vZGUsXG4gICAgICApLFxuICAgICAgZG5zUmVjb3JkQ2xpZW50Um91dGluZ1BvbGljeTogdGhpcy5sYXp5U3RyaW5nQXR0cihcbiAgICAgICAgQXR0cmlidXRlLmROU1JlY29yZENsaWVudFJvdXRpbmdQb2xpY3ksXG4gICAgICApLFxuICAgICAgZHJvcEludmFsaWRIZWFkZXJGaWVsZHM6IHRoaXMubGF6eUJvb2xBdHRyKFxuICAgICAgICBBdHRyaWJ1dGUucm91dGluZ0hUVFBEcm9wSW52YWxpZEhlYWRlckZpZWxkc0VuYWJsZWQsXG4gICAgICApLFxuICAgICAgZW5hYmxlQ3Jvc3Nab25lTG9hZEJhbGFuY2luZzogdGhpcy5sYXp5Qm9vbEF0dHIoXG4gICAgICAgIEF0dHJpYnV0ZS5sb2FkQmFsYW5jaW5nQ3Jvc3Nab25lRW5hYmxlZCxcbiAgICAgICksXG4gICAgICBlbmFibGVEZWxldGlvblByb3RlY3Rpb246IHRoaXMubGF6eUJvb2xBdHRyKFxuICAgICAgICBBdHRyaWJ1dGUuZGVsZXRpb25Qcm90ZWN0aW9uRW5hYmxlZCxcbiAgICAgICksXG4gICAgICBlbmFibGVIdHRwMjogdGhpcy5sYXp5Qm9vbEF0dHIoQXR0cmlidXRlLnJvdXRpbmdIVFRQMkVuYWJsZWQpLFxuICAgICAgZW5hYmxlVGxzVmVyc2lvbkFuZENpcGhlclN1aXRlSGVhZGVyczogdGhpcy5sYXp5Qm9vbEF0dHIoXG4gICAgICAgIEF0dHJpYnV0ZS5yb3V0aW5nSFRUUFhBbXpuVExTVmVyc2lvbkFuZENpcGhlclN1aXRlRW5hYmxlZCxcbiAgICAgICksXG4gICAgICBlbmFibGVXYWZGYWlsT3BlbjogdGhpcy5sYXp5Qm9vbEF0dHIoQXR0cmlidXRlLndBRkZhaWxPcGVuRW5hYmxlZCksXG4gICAgICBlbmFibGVYZmZDbGllbnRQb3J0OiB0aGlzLmxhenlCb29sQXR0cihcbiAgICAgICAgQXR0cmlidXRlLnJvdXRpbmdIVFRQWEZGQ2xpZW50UG9ydEVuYWJsZWQsXG4gICAgICApLFxuICAgICAgZW5hYmxlWm9uYWxTaGlmdDogdGhpcy5sYXp5Qm9vbEF0dHIoQXR0cmlidXRlLnpvbmFsU2hpZnRDb25maWdFbmFibGVkKSxcbiAgICAgIC8vIGVuZm9yY2VTZWN1cml0eUdyb3VwSW5ib3VuZFJ1bGVzT25Qcml2YXRlTGlua1RyYWZmaWMsXG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi1sb2FkYmFsYW5jZXIuaHRtbCNjZm4tZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi1sb2FkYmFsYW5jZXItZW5mb3JjZXNlY3VyaXR5Z3JvdXBpbmJvdW5kcnVsZXNvbnByaXZhdGVsaW5rdHJhZmZpY1xuICAgICAgaWRsZVRpbWVvdXQ6IHRoaXMubGF6eU51bWJlckF0dHIoQXR0cmlidXRlLmlkbGVUaW1lb3V0VGltZW91dFNlY29uZHMpLFxuICAgICAgLy8gaXBBZGRyZXNzVHlwZVxuICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjItbG9hZGJhbGFuY2VyLmh0bWwjY2ZuLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjItbG9hZGJhbGFuY2VyLWlwYWRkcmVzc3R5cGVcbiAgICAgIHByZXNlcnZlSG9zdEhlYWRlcjogdGhpcy5sYXp5Qm9vbEF0dHIoXG4gICAgICAgIEF0dHJpYnV0ZS5yb3V0aW5nSFRUUFByZXNlcnZlSG9zdEhlYWRlckVuYWJsZWQsXG4gICAgICApLFxuICAgICAgeGZmSGVhZGVyUHJvY2Vzc2luZ01vZGU6IHRoaXMubGF6eVN0cmluZ0F0dHIoXG4gICAgICAgIEF0dHJpYnV0ZS5yb3V0aW5nSFRUUFhGRkhlYWRlclByb2Nlc3NpbmdNb2RlLFxuICAgICAgKSxcbiAgICAgIC8vIC8vIHRoaXMgcmVzdWx0cyBpbiBlbXB0eSBgYWNjZXNzX2xvZ3M6IHt9YCB3aGljaCBpcyBub3QgdmFsaWQgKGJ1Y2tldCBpcyByZXF1aXJlZClcbiAgICAgIC8vIGFjY2Vzc0xvZ3M6IHtcbiAgICAgIC8vICAgZW5hYmxlZDogdGhpcy5sYXp5Qm9vbEF0dHIoQXR0cmlidXRlLmFjY2Vzc0xvZ3NTM0VuYWJsZWQpLFxuICAgICAgLy8gICBidWNrZXQ6IHRoaXMubGF6eVN0cmluZ0F0dHIoQXR0cmlidXRlLmFjY2Vzc0xvZ3NTM0J1Y2tldCksXG4gICAgICAvLyAgIHByZWZpeDogdGhpcy5sYXp5U3RyaW5nQXR0cihBdHRyaWJ1dGUuYWNjZXNzTG9nc1MzUHJlZml4KSxcbiAgICAgIC8vIH0sXG4gICAgICAvLyAvLyB0aGlzIHJlc3VsdHMgaW4gZW1wdHkgYGNvbm5lY3Rpb25fbG9nczoge31gIHdoaWNoIGlzIG5vdCB2YWxpZCAoYnVja2V0IGlzIHJlcXVpcmVkKVxuICAgICAgLy8gY29ubmVjdGlvbkxvZ3M6IHtcbiAgICAgIC8vICAgZW5hYmxlZDogdGhpcy5sYXp5Qm9vbEF0dHIoQXR0cmlidXRlLmNvbm5lY3Rpb25Mb2dzUzNFbmFibGVkKSxcbiAgICAgIC8vICAgYnVja2V0OiB0aGlzLmxhenlTdHJpbmdBdHRyKEF0dHJpYnV0ZS5jb25uZWN0aW9uTG9nc1MzQnVja2V0KSxcbiAgICAgIC8vICAgcHJlZml4OiB0aGlzLmxhenlTdHJpbmdBdHRyKEF0dHJpYnV0ZS5jb25uZWN0aW9uTG9nc1MzUHJlZml4KSxcbiAgICAgIC8vIH0sXG4gICAgICAvL3N1Ym5ldE1hcHBpbmdzXG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi1sb2FkYmFsYW5jZXIuaHRtbCNjZm4tZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi1sb2FkYmFsYW5jZXItc3VibmV0bWFwcGluZ3NcbiAgICAgIC4uLmFkZGl0aW9uYWxQcm9wcyxcbiAgICB9KTtcbiAgICBpZiAoaW50ZXJuZXRGYWNpbmcpIHtcbiAgICAgIHJlc291cmNlLm5vZGUuYWRkRGVwZW5kZW5jeShpbnRlcm5ldENvbm5lY3Rpdml0eUVzdGFibGlzaGVkKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZShcbiAgICAgIEF0dHJpYnV0ZS5kZWxldGlvblByb3RlY3Rpb25FbmFibGVkLFxuICAgICAgYmFzZVByb3BzLmRlbGV0aW9uUHJvdGVjdGlvbiA/IFwidHJ1ZVwiIDogXCJmYWxzZVwiLFxuICAgICk7XG5cbiAgICBpZiAoYmFzZVByb3BzLmNyb3NzWm9uZUVuYWJsZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoXG4gICAgICAgIEF0dHJpYnV0ZS5sb2FkQmFsYW5jaW5nQ3Jvc3Nab25lRW5hYmxlZCxcbiAgICAgICAgYmFzZVByb3BzLmNyb3NzWm9uZUVuYWJsZWQgPT09IHRydWUgPyBcInRydWVcIiA6IFwiZmFsc2VcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGJhc2VQcm9wcy5kZW55QWxsSWd3VHJhZmZpYyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoYWRkaXRpb25hbFByb3BzLmlwQWRkcmVzc1R5cGUgPT09IElwQWRkcmVzc1R5cGUuRFVBTF9TVEFDSykge1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICBBdHRyaWJ1dGUuaVB2NkRlbnlBbGxJR1dUcmFmZmljLFxuICAgICAgICAgIGJhc2VQcm9wcy5kZW55QWxsSWd3VHJhZmZpYy50b1N0cmluZygpLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGAnZGVueUFsbElnd1RyYWZmaWMnIG1heSBvbmx5IGJlIHNldCBvbiBsb2FkIGJhbGFuY2VycyB3aXRoICR7SXBBZGRyZXNzVHlwZS5EVUFMX1NUQUNLfSBhZGRyZXNzaW5nLmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkQmFsYW5jZXJDYW5vbmljYWxIb3N0ZWRab25lSWQgPSByZXNvdXJjZS56b25lSWQ7XG4gICAgdGhpcy5sb2FkQmFsYW5jZXJEbnNOYW1lID0gcmVzb3VyY2UuZG5zTmFtZTtcbiAgICB0aGlzLmxvYWRCYWxhbmNlckZ1bGxOYW1lID0gdGhpcy5zdGFjay5zcGxpdEFybihcbiAgICAgIHJlc291cmNlLmFybixcbiAgICAgIEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgICkucmVzb3VyY2U7XG4gICAgdGhpcy5sb2FkQmFsYW5jZXJOYW1lID0gcmVzb3VyY2UubmFtZTtcbiAgICB0aGlzLmxvYWRCYWxhbmNlckFybiA9IHJlc291cmNlLmFybjtcbiAgICB0aGlzLmxvYWRCYWxhbmNlclNlY3VyaXR5R3JvdXBzID0gcmVzb3VyY2Uuc2VjdXJpdHlHcm91cHM7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7IHZhbGlkYXRlOiB0aGlzLnZhbGlkYXRlTG9hZEJhbGFuY2VyLmJpbmQodGhpcykgfSk7XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlIGFjY2VzcyBsb2dnaW5nIGZvciB0aGlzIGxvYWQgYmFsYW5jZXIuXG4gICAqXG4gICAqIEEgcmVnaW9uIG11c3QgYmUgc3BlY2lmaWVkIG9uIHRoZSBzdGFjayBjb250YWluaW5nIHRoZSBsb2FkIGJhbGFuY2VyOyB5b3UgY2Fubm90IGVuYWJsZSBsb2dnaW5nIG9uXG4gICAqIGVudmlyb25tZW50LWFnbm9zdGljIHN0YWNrcy4gU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jZGsvbGF0ZXN0L2d1aWRlL2Vudmlyb25tZW50cy5odG1sXG4gICAqL1xuICBwdWJsaWMgbG9nQWNjZXNzTG9ncyhidWNrZXQ6IHMzLklCdWNrZXQsIHByZWZpeD86IHN0cmluZykge1xuICAgIC8vIHByZWZpeCA9IHByZWZpeDsgLy8gb3B0aW9uYWwgaW4gVEYuLi4gfHwgXCJcIjtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZShcImFjY2Vzc19sb2dzLnMzLmVuYWJsZWRcIiwgXCJ0cnVlXCIpO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKFwiYWNjZXNzX2xvZ3MuczMuYnVja2V0XCIsIGJ1Y2tldC5idWNrZXROYW1lLnRvU3RyaW5nKCkpO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKFwiYWNjZXNzX2xvZ3MuczMucHJlZml4XCIsIHByZWZpeCk7XG5cbiAgICBjb25zdCBsb2dzRGVsaXZlcnlTZXJ2aWNlUHJpbmNpcGFsID0gbmV3IFNlcnZpY2VQcmluY2lwYWwoXG4gICAgICBcImRlbGl2ZXJ5LmxvZ3MuYW1hem9uYXdzLmNvbVwiLFxuICAgICk7XG4gICAgYnVja2V0LmFkZFRvUmVzb3VyY2VQb2xpY3koXG4gICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1wiczM6UHV0T2JqZWN0XCJdLFxuICAgICAgICBwcmluY2lwYWxzOiBbdGhpcy5yZXNvdXJjZVBvbGljeVByaW5jaXBhbCgpXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgYnVja2V0LmFybkZvck9iamVjdHMoXG4gICAgICAgICAgICBgJHtwcmVmaXggPyBwcmVmaXggKyBcIi9cIiA6IFwiXCJ9QVdTTG9ncy8ke0F3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHRoaXMpLmFjY291bnR9LypgLFxuICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICApO1xuICAgIGJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KFxuICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcInMzOlB1dE9iamVjdFwiXSxcbiAgICAgICAgcHJpbmNpcGFsczogW2xvZ3NEZWxpdmVyeVNlcnZpY2VQcmluY2lwYWxdLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBidWNrZXQuYXJuRm9yT2JqZWN0cyhcbiAgICAgICAgICAgIGAke3ByZWZpeCA/IHByZWZpeCArIFwiL1wiIDogXCJcIn1BV1NMb2dzLyR7dGhpcy5lbnYuYWNjb3VudH0vKmAsXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgY29uZGl0aW9uOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGVzdDogXCJTdHJpbmdFcXVhbHNcIixcbiAgICAgICAgICAgIHZhcmlhYmxlOiBcInMzOngtYW16LWFjbFwiLFxuICAgICAgICAgICAgdmFsdWVzOiBbXCJidWNrZXQtb3duZXItZnVsbC1jb250cm9sXCJdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICApO1xuICAgIGJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KFxuICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcInMzOkdldEJ1Y2tldEFjbFwiXSxcbiAgICAgICAgcHJpbmNpcGFsczogW2xvZ3NEZWxpdmVyeVNlcnZpY2VQcmluY2lwYWxdLFxuICAgICAgICByZXNvdXJjZXM6IFtidWNrZXQuYnVja2V0QXJuXSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICAvLyBtYWtlIHN1cmUgdGhlIGJ1Y2tldCdzIHBvbGljeSBpcyBjcmVhdGVkIGJlZm9yZSB0aGUgQUxCIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy8xNjMzKVxuICAgIC8vIGF0IHRoZSBMMSBsZXZlbCB0byBhdm9pZCBjcmVhdGluZyBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzI3NTI4XG4gICAgLy8gYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMjc5MjgpXG4gICAgY29uc3QgbGIgPSB0aGlzLm5vZGUuZGVmYXVsdENoaWxkIGFzIHRmTG9hZEJhbGFuY2VyLkxiO1xuICAgIGNvbnN0IGJ1Y2tldFBvbGljeSA9IGJ1Y2tldC5wb2xpY3k/Lm5vZGUuZGVmYXVsdENoaWxkO1xuICAgIGlmIChcbiAgICAgIGxiICYmXG4gICAgICBidWNrZXRQb2xpY3kgJiZcbiAgICAgIFRlcnJhZm9ybVJlc291cmNlLmlzVGVycmFmb3JtUmVzb3VyY2UobGIpICYmXG4gICAgICBUZXJyYWZvcm1SZXNvdXJjZS5pc1RlcnJhZm9ybVJlc291cmNlKGJ1Y2tldFBvbGljeSlcbiAgICApIHtcbiAgICAgIGxiLm5vZGUuYWRkRGVwZW5kZW5jeShidWNrZXRQb2xpY3kpO1xuICAgIH1cbiAgICAvLyBUT0RPOiBTaG91bGQgcHV0QWNjZXNzTG9ncyBiZSBoYW5kbGVkIGFzIHBhcnQgb2YgcHJlcGFyZVN0YWNrIChpbiB0b1RlcnJhZm9ybSgpIGluc3RlYWQpP1xuICAgIC8vIG9ubHkgaWYgbGIuYWNjZXNzTG9ncy5pbnRlcm5hbFZhbHVlICE9PSB1bmRlZmluZWQ/IChvciBiYXNlZCBvbiB0aGlzLmF0dHJpYnV0ZXM/KVxuICAgIGxiLnB1dEFjY2Vzc0xvZ3Moe1xuICAgICAgZW5hYmxlZDogdGhpcy5sYXp5Qm9vbEF0dHIoQXR0cmlidXRlLmFjY2Vzc0xvZ3NTM0VuYWJsZWQpLFxuICAgICAgYnVja2V0OiB0aGlzLmxhenlTdHJpbmdBdHRyKEF0dHJpYnV0ZS5hY2Nlc3NMb2dzUzNCdWNrZXQpLFxuICAgICAgcHJlZml4OiB0aGlzLmxhenlTdHJpbmdBdHRyKEF0dHJpYnV0ZS5hY2Nlc3NMb2dzUzNQcmVmaXgpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhIG5vbi1zdGFuZGFyZCBhdHRyaWJ1dGUgb24gdGhlIGxvYWQgYmFsYW5jZXJcbiAgICpcbiAgICogVXNlIHRoZSBkZWRpY2F0ZWQgbG9nQWNjZXNzTG9ncygpIG1ldGhvZCBpbnRlYWQgb2Ygc2V0QXR0cmlidXRlIGlmIHlvdSB3YW50IHRvIHNldHVwIGFjY2VzcyBsb2dnaW5nLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9lbGFzdGljbG9hZGJhbGFuY2luZy9sYXRlc3QvYXBwbGljYXRpb24vYXBwbGljYXRpb24tbG9hZC1iYWxhbmNlcnMuaHRtbCNsb2FkLWJhbGFuY2VyLWF0dHJpYnV0ZXNcbiAgICovXG4gIHB1YmxpYyBzZXRBdHRyaWJ1dGUoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmF0dHJpYnV0ZXNba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhbiBhdHRyaWJ1dGUgZnJvbSB0aGUgbG9hZCBiYWxhbmNlclxuICAgKi9cbiAgcHVibGljIHJlbW92ZUF0dHJpYnV0ZShrZXk6IHN0cmluZykge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKGtleSwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBsYXp5U3RyaW5nQXR0cihrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBMYXp5LnN0cmluZ1ZhbHVlKHtcbiAgICAgIHByb2R1Y2U6ICgpID0+IGxvb2t1cFN0cmluZ0F0dHJpYnV0ZSh0aGlzLmF0dHJpYnV0ZXMsIGtleSksXG4gICAgfSk7XG4gIH1cbiAgcHJvdGVjdGVkIGxhenlCb29sQXR0cihrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKHtcbiAgICAgIHByb2R1Y2U6ICgpID0+IGxvb2t1cEJvb2xBdHRyaWJ1dGUodGhpcy5hdHRyaWJ1dGVzLCBrZXkpLFxuICAgIH0pO1xuICB9XG4gIHByb3RlY3RlZCBsYXp5TnVtYmVyQXR0cihrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBMYXp5Lm51bWJlclZhbHVlKHtcbiAgICAgIHByb2R1Y2U6ICgpID0+IGxvb2t1cE51bWJlckF0dHJpYnV0ZSh0aGlzLmF0dHJpYnV0ZXMsIGtleSksXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb3VyY2VQb2xpY3lQcmluY2lwYWwoKTogaWFtLklQcmluY2lwYWwge1xuICAgIGNvbnN0IHJlZ2lvbiA9IHRoaXMuc3RhY2sucmVnaW9uO1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQocmVnaW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVnaW9uIGlzIHJlcXVpcmVkIHRvIGVuYWJsZSBFTEJ2MiBhY2Nlc3MgbG9nZ2luZ1wiKTtcbiAgICB9XG5cbiAgICBjb25zdCBhY2NvdW50ID0gUmVnaW9uSW5mby5nZXQocmVnaW9uKS5lbGJ2MkFjY291bnQ7XG4gICAgaWYgKCFhY2NvdW50KSB7XG4gICAgICAvLyBOZXcgUmVnaW9ucyB1c2UgYSBzZXJ2aWNlIHByaW5jaXBhbFxuICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VsYXN0aWNsb2FkYmFsYW5jaW5nL2xhdGVzdC9jbGFzc2ljL2VuYWJsZS1hY2Nlc3MtbG9ncy5odG1sI2F0dGFjaC1idWNrZXQtcG9saWN5XG4gICAgICByZXR1cm4gbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFxuICAgICAgICBcImxvZ2RlbGl2ZXJ5LmVsYXN0aWNsb2FkYmFsYW5jaW5nLmFtYXpvbmF3cy5jb21cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBpYW0uQWNjb3VudFByaW5jaXBhbChhY2NvdW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB2YWxpZGF0ZUxvYWRCYWxhbmNlcigpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgcmV0ID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAgIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lbGFzdGljbG9hZGJhbGFuY2luZ3YyLWxvYWRiYWxhbmNlci5odG1sI2Nmbi1lbGFzdGljbG9hZGJhbGFuY2luZ3YyLWxvYWRiYWxhbmNlci1uYW1lXG4gICAgY29uc3QgbG9hZEJhbGFuY2VyTmFtZSA9IHRoaXMucGh5c2ljYWxOYW1lO1xuICAgIGlmIChcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQobG9hZEJhbGFuY2VyTmFtZSkgJiZcbiAgICAgIGxvYWRCYWxhbmNlck5hbWUgIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgaWYgKGxvYWRCYWxhbmNlck5hbWUubGVuZ3RoID4gMzIpIHtcbiAgICAgICAgcmV0LnB1c2goXG4gICAgICAgICAgYExvYWQgYmFsYW5jZXIgbmFtZTogXCIke2xvYWRCYWxhbmNlck5hbWV9XCIgY2FuIGhhdmUgYSBtYXhpbXVtIG9mIDMyIGNoYXJhY3RlcnMuYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChsb2FkQmFsYW5jZXJOYW1lLnN0YXJ0c1dpdGgoXCJpbnRlcm5hbC1cIikpIHtcbiAgICAgICAgcmV0LnB1c2goXG4gICAgICAgICAgYExvYWQgYmFsYW5jZXIgbmFtZTogXCIke2xvYWRCYWxhbmNlck5hbWV9XCIgbXVzdCBub3QgYmVnaW4gd2l0aCBcImludGVybmFsLVwiLmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAobG9hZEJhbGFuY2VyTmFtZS5zdGFydHNXaXRoKFwiLVwiKSB8fCBsb2FkQmFsYW5jZXJOYW1lLmVuZHNXaXRoKFwiLVwiKSkge1xuICAgICAgICByZXQucHVzaChcbiAgICAgICAgICBgTG9hZCBiYWxhbmNlciBuYW1lOiBcIiR7bG9hZEJhbGFuY2VyTmFtZX1cIiBtdXN0IG5vdCBiZWdpbiBvciBlbmQgd2l0aCBhIGh5cGhlbi5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKCEvXlswLTlhLXotXSskL2kudGVzdChsb2FkQmFsYW5jZXJOYW1lKSkge1xuICAgICAgICByZXQucHVzaChcbiAgICAgICAgICBgTG9hZCBiYWxhbmNlciBuYW1lOiBcIiR7bG9hZEJhbGFuY2VyTmFtZX1cIiBtdXN0IGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBvciBoeXBoZW5zLmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxufVxuXG4vKipcbiAqIEEgaGVscGVyIGNsYXNzIHRvIGluc3RhbnRpYXRlIGFuIElMb2FkQmFsYW5jZXJWMlxuICovXG5leHBvcnQgY2xhc3MgSW1wb3J0ZWRMb2FkQmFsYW5jZXIgaW1wbGVtZW50cyBJTG9hZEJhbGFuY2VyQmFzZVYyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRCYWxhbmNlckNhbm9uaWNhbEhvc3RlZFpvbmVJZDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBsb2FkQmFsYW5jZXJEbnNOYW1lOiBzdHJpbmcsXG4gICkge31cbn1cbiJdfQ==
@@ -345,7 +345,7 @@ class TargetGroupBase extends aws_construct_1.AwsConstructBase {
345
345
  }
346
346
  exports.TargetGroupBase = TargetGroupBase;
347
347
  _a = JSII_RTTI_SYMBOL_1;
348
- TargetGroupBase[_a] = { fqn: "terraconstructs.aws.compute.TargetGroupBase", version: "0.2.2" };
348
+ TargetGroupBase[_a] = { fqn: "terraconstructs.aws.compute.TargetGroupBase", version: "0.2.3" };
349
349
  /**
350
350
  * Extract the full load balancer name (used for metrics) from the listener ARN:
351
351
  *
@@ -25,5 +25,5 @@ class ListenerCertificate {
25
25
  }
26
26
  exports.ListenerCertificate = ListenerCertificate;
27
27
  _a = JSII_RTTI_SYMBOL_1;
28
- ListenerCertificate[_a] = { fqn: "terraconstructs.aws.compute.ListenerCertificate", version: "0.2.2" };
28
+ ListenerCertificate[_a] = { fqn: "terraconstructs.aws.compute.ListenerCertificate", version: "0.2.3" };
29
29
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuZXItY2VydGlmaWNhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvbGItc2hhcmVkL2xpc3RlbmVyLWNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBY0E7O0dBRUc7QUFDSCxNQUFhLG1CQUFtQjtJQUM5Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxjQUFpQztRQUNwRSxPQUFPLElBQUksbUJBQW1CLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBc0I7UUFDMUMsT0FBTyxJQUFJLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFPRCxZQUFzQixjQUFzQjtRQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDOztBQXRCSCxrREF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzUuMS9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi9saWIvc2hhcmVkL2xpc3RlbmVyLWNlcnRpZmljYXRlLnRzXG5cbmltcG9ydCAqIGFzIGVkZ2UgZnJvbSBcIi4uLy4uL2VkZ2VcIjtcblxuLyoqXG4gKiBBIGNlcnRpZmljYXRlIHNvdXJjZSBmb3IgYW4gRUxCdjIgbGlzdGVuZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTGlzdGVuZXJDZXJ0aWZpY2F0ZSB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBjZXJ0aWZpY2F0ZSB0byB1c2VcbiAgICovXG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlQXJuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBjZXJ0aWZpY2F0ZSBzb3VyY2UgZm9yIGFuIEVMQnYyIGxpc3RlbmVyXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0ZW5lckNlcnRpZmljYXRlIGltcGxlbWVudHMgSUxpc3RlbmVyQ2VydGlmaWNhdGUge1xuICAvKipcbiAgICogVXNlIGFuIEFDTSBjZXJ0aWZpY2F0ZSBhcyBhIGxpc3RlbmVyIGNlcnRpZmljYXRlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21DZXJ0aWZpY2F0ZU1hbmFnZXIoYWNtQ2VydGlmaWNhdGU6IGVkZ2UuSUNlcnRpZmljYXRlKSB7XG4gICAgcmV0dXJuIG5ldyBMaXN0ZW5lckNlcnRpZmljYXRlKGFjbUNlcnRpZmljYXRlLmNlcnRpZmljYXRlQXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgYW55IGNlcnRpZmljYXRlLCBpZGVudGlmaWVkIGJ5IGl0cyBBUk4sIGFzIGEgbGlzdGVuZXIgY2VydGlmaWNhdGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFybihjZXJ0aWZpY2F0ZUFybjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBMaXN0ZW5lckNlcnRpZmljYXRlKGNlcnRpZmljYXRlQXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBjZXJ0aWZpY2F0ZSB0byB1c2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZXJ0aWZpY2F0ZUFybjogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihjZXJ0aWZpY2F0ZUFybjogc3RyaW5nKSB7XG4gICAgdGhpcy5jZXJ0aWZpY2F0ZUFybiA9IGNlcnRpZmljYXRlQXJuO1xuICB9XG59XG4iXX0=
@@ -50,7 +50,7 @@ class InstanceTarget {
50
50
  }
51
51
  exports.InstanceTarget = InstanceTarget;
52
52
  _a = JSII_RTTI_SYMBOL_1;
53
- InstanceTarget[_a] = { fqn: "terraconstructs.aws.compute.InstanceTarget", version: "0.2.2" };
53
+ InstanceTarget[_a] = { fqn: "terraconstructs.aws.compute.InstanceTarget", version: "0.2.3" };
54
54
  /**
55
55
  * An IP address that is a target for load balancing.
56
56
  *
@@ -123,5 +123,5 @@ class IpTarget {
123
123
  }
124
124
  exports.IpTarget = IpTarget;
125
125
  _b = JSII_RTTI_SYMBOL_1;
126
- IpTarget[_b] = { fqn: "terraconstructs.aws.compute.IpTarget", version: "0.2.2" };
126
+ IpTarget[_b] = { fqn: "terraconstructs.aws.compute.IpTarget", version: "0.2.3" };
127
127
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1iYWxhbmNlci10YXJnZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2xiLXNoYXJlZC9sb2FkLWJhbGFuY2VyLXRhcmdldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSxtQ0FBcUM7QUFVckM7Ozs7Ozs7R0FPRztBQUNILE1BQWEsY0FBYztJQUd6Qjs7Ozs7T0FLRztJQUNILFlBQ21CLFVBQWtCLEVBQ2xCLElBQWE7UUFEYixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQVM7SUFDN0IsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0ksOEJBQThCLENBQ25DLFdBQW9DO1FBRXBDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSwwQkFBMEIsQ0FDL0IsV0FBZ0M7UUFFaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxNQUFNLENBQUMsWUFBMEI7UUFDdkMsT0FBTztZQUNMLFVBQVUsRUFBRSxrQkFBVSxDQUFDLFFBQVE7WUFDL0IsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDM0QsQ0FBQztJQUNKLENBQUM7O0FBM0NILHdDQTRDQzs7O0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxRQUFRO0lBR25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDSCxZQUNtQixTQUFpQixFQUNqQixJQUFhLEVBQ2IsZ0JBQXlCO1FBRnpCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNiLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUztJQUN6QyxDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSSw4QkFBOEIsQ0FDbkMsV0FBb0M7UUFFcEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDBCQUEwQixDQUMvQixXQUFnQztRQUVoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxZQUEwQjtRQUN2QyxPQUFPO1lBQ0wsVUFBVSxFQUFFLGtCQUFVLENBQUMsRUFBRTtZQUN6QixVQUFVLEVBQUU7Z0JBQ1YsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUN4QztTQUNGLENBQUM7SUFDSixDQUFDOztBQWhFSCw0QkFpRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzUuMS9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi9saWIvc2hhcmVkL2xvYWQtYmFsYW5jZXItdGFyZ2V0cy50c1xuXG5pbXBvcnQgeyBJVGFyZ2V0R3JvdXAsIExvYWRCYWxhbmNlclRhcmdldFByb3BzIH0gZnJvbSBcIi4vYmFzZS10YXJnZXQtZ3JvdXBcIjtcbmltcG9ydCB7IFRhcmdldFR5cGUgfSBmcm9tIFwiLi9lbnVtc1wiO1xuaW1wb3J0IHtcbiAgSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVGFyZ2V0LFxuICBJQXBwbGljYXRpb25UYXJnZXRHcm91cCxcbn0gZnJvbSBcIi4uL2FsYi9hcHBsaWNhdGlvbi10YXJnZXQtZ3JvdXBcIjtcbmltcG9ydCB7XG4gIElOZXR3b3JrTG9hZEJhbGFuY2VyVGFyZ2V0LFxuICBJTmV0d29ya1RhcmdldEdyb3VwLFxufSBmcm9tIFwiLi4vbmxiL25ldHdvcmstdGFyZ2V0LWdyb3VwXCI7XG5cbi8qKlxuICogQW4gRUMyIGluc3RhbmNlIHRoYXQgaXMgdGhlIHRhcmdldCBmb3IgbG9hZCBiYWxhbmNpbmdcbiAqXG4gKiBJZiB5b3UgcmVnaXN0ZXIgYSB0YXJnZXQgb2YgdGhpcyB0eXBlLCB5b3UgYXJlIHJlc3BvbnNpYmxlIGZvciBtYWtpbmdcbiAqIHN1cmUgdGhlIGxvYWQgYmFsYW5jZXIncyBzZWN1cml0eSBncm91cCBjYW4gY29ubmVjdCB0byB0aGUgaW5zdGFuY2UuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIElwVGFyZ2V0IGZyb20gdGhlIGNvbXB1dGUvbGItdGFyZ2V0cyBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgSW5zdGFuY2VUYXJnZXRcbiAgaW1wbGVtZW50cyBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJUYXJnZXQsIElOZXR3b3JrTG9hZEJhbGFuY2VyVGFyZ2V0XG57XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgSW5zdGFuY2UgdGFyZ2V0XG4gICAqXG4gICAqIEBwYXJhbSBpbnN0YW5jZUlkIEluc3RhbmNlIElEIG9mIHRoZSBpbnN0YW5jZSB0byByZWdpc3RlciB0b1xuICAgKiBAcGFyYW0gcG9ydCBPdmVycmlkZSB0aGUgZGVmYXVsdCBwb3J0IGZvciB0aGUgdGFyZ2V0IGdyb3VwXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluc3RhbmNlSWQ6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXIsXG4gICkge31cblxuICAvKipcbiAgICogUmVnaXN0ZXIgdGhpcyBpbnN0YW5jZSB0YXJnZXQgd2l0aCBhIGxvYWQgYmFsYW5jZXJcbiAgICpcbiAgICogRG9uJ3QgY2FsbCB0aGlzLCBpdCBpcyBjYWxsZWQgYXV0b21hdGljYWxseSB3aGVuIHlvdSBhZGQgdGhlIHRhcmdldCB0byBhXG4gICAqIGxvYWQgYmFsYW5jZXIuXG4gICAqL1xuICBwdWJsaWMgYXR0YWNoVG9BcHBsaWNhdGlvblRhcmdldEdyb3VwKFxuICAgIHRhcmdldEdyb3VwOiBJQXBwbGljYXRpb25UYXJnZXRHcm91cCxcbiAgKTogTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB0aGlzLmF0dGFjaCh0YXJnZXRHcm91cCk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgdGhpcyBpbnN0YW5jZSB0YXJnZXQgd2l0aCBhIGxvYWQgYmFsYW5jZXJcbiAgICpcbiAgICogRG9uJ3QgY2FsbCB0aGlzLCBpdCBpcyBjYWxsZWQgYXV0b21hdGljYWxseSB3aGVuIHlvdSBhZGQgdGhlIHRhcmdldCB0byBhXG4gICAqIGxvYWQgYmFsYW5jZXIuXG4gICAqL1xuICBwdWJsaWMgYXR0YWNoVG9OZXR3b3JrVGFyZ2V0R3JvdXAoXG4gICAgdGFyZ2V0R3JvdXA6IElOZXR3b3JrVGFyZ2V0R3JvdXAsXG4gICk6IExvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICByZXR1cm4gdGhpcy5hdHRhY2godGFyZ2V0R3JvdXApO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2goX3RhcmdldEdyb3VwOiBJVGFyZ2V0R3JvdXApOiBMb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldFR5cGU6IFRhcmdldFR5cGUuSU5TVEFOQ0UsXG4gICAgICB0YXJnZXRKc29uOiB7IHRhcmdldElkOiB0aGlzLmluc3RhbmNlSWQsIHBvcnQ6IHRoaXMucG9ydCB9LFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBJUCBhZGRyZXNzIHRoYXQgaXMgYSB0YXJnZXQgZm9yIGxvYWQgYmFsYW5jaW5nLlxuICpcbiAqIFNwZWNpZnkgSVAgYWRkcmVzc2VzIGZyb20gdGhlIHN1Ym5ldHMgb2YgdGhlIHZpcnR1YWwgcHJpdmF0ZSBjbG91ZCAoVlBDKSBmb3JcbiAqIHRoZSB0YXJnZXQgZ3JvdXAsIHRoZSBSRkMgMTkxOCByYW5nZSAoMTAuMC4wLjAvOCwgMTcyLjE2LjAuMC8xMiwgYW5kXG4gKiAxOTIuMTY4LjAuMC8xNiksIGFuZCB0aGUgUkZDIDY1OTggcmFuZ2UgKDEwMC42NC4wLjAvMTApLiBZb3UgY2FuJ3Qgc3BlY2lmeVxuICogcHVibGljbHkgcm91dGFibGUgSVAgYWRkcmVzc2VzLlxuICpcbiAqIElmIHlvdSByZWdpc3RlciBhIHRhcmdldCBvZiB0aGlzIHR5cGUsIHlvdSBhcmUgcmVzcG9uc2libGUgZm9yIG1ha2luZ1xuICogc3VyZSB0aGUgbG9hZCBiYWxhbmNlcidzIHNlY3VyaXR5IGdyb3VwIGNhbiBzZW5kIHBhY2tldHMgdG8gdGhlIElQIGFkZHJlc3MuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIElwVGFyZ2V0IGZyb20gdGhlIGNvbXB1dGUvbGItdGFyZ2V0cyBwYWNrYWdlIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJcFRhcmdldFxuICBpbXBsZW1lbnRzIElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclRhcmdldCwgSU5ldHdvcmtMb2FkQmFsYW5jZXJUYXJnZXRcbntcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBJUEFkZHJlc3MgdGFyZ2V0XG4gICAqXG4gICAqIFRoZSBhdmFpbGFiaWxpdHlab25lIHBhcmFtZXRlciBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHRhcmdldCByZWNlaXZlc1xuICAgKiB0cmFmZmljIGZyb20gdGhlIGxvYWQgYmFsYW5jZXIgbm9kZXMgaW4gdGhlIHNwZWNpZmllZCBBdmFpbGFiaWxpdHkgWm9uZVxuICAgKiBvciBmcm9tIGFsbCBlbmFibGVkIEF2YWlsYWJpbGl0eSBab25lcyBmb3IgdGhlIGxvYWQgYmFsYW5jZXIuXG4gICAqXG4gICAqIFRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzdXBwb3J0ZWQgaWYgdGhlIHRhcmdldCB0eXBlIG9mIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICogaXMgaW5zdGFuY2UuIElmIHRoZSBJUCBhZGRyZXNzIGlzIGluIGEgc3VibmV0IG9mIHRoZSBWUEMgZm9yIHRoZSB0YXJnZXRcbiAgICogZ3JvdXAsIHRoZSBBdmFpbGFiaWxpdHkgWm9uZSBpcyBhdXRvbWF0aWNhbGx5IGRldGVjdGVkIGFuZCB0aGlzXG4gICAqIHBhcmFtZXRlciBpcyBvcHRpb25hbC4gSWYgdGhlIElQIGFkZHJlc3MgaXMgb3V0c2lkZSB0aGUgVlBDLCB0aGlzXG4gICAqIHBhcmFtZXRlciBpcyByZXF1aXJlZC5cbiAgICpcbiAgICogV2l0aCBhbiBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyLCBpZiB0aGUgSVAgYWRkcmVzcyBpcyBvdXRzaWRlIHRoZSBWUENcbiAgICogZm9yIHRoZSB0YXJnZXQgZ3JvdXAsIHRoZSBvbmx5IHN1cHBvcnRlZCB2YWx1ZSBpcyBhbGwuXG4gICAqXG4gICAqIERlZmF1bHQgaXMgYXV0b21hdGljLlxuICAgKlxuICAgKiBAcGFyYW0gaXBBZGRyZXNzIFRoZSBJUCBBZGRyZXNzIHRvIGxvYWQgYmFsYW5jZSB0b1xuICAgKiBAcGFyYW0gcG9ydCBPdmVycmlkZSB0aGUgZ3JvdXAncyBkZWZhdWx0IHBvcnRcbiAgICogQHBhcmFtIGF2YWlsYWJpbGl0eVpvbmUgQXZhaWxhYmlsaXR5IHpvbmUgdG8gc2VuZCB0cmFmZmljIGZyb21cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXBBZGRyZXNzOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0PzogbnVtYmVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZT86IHN0cmluZyxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGlzIGluc3RhbmNlIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb0FwcGxpY2F0aW9uVGFyZ2V0R3JvdXAoXG4gICAgdGFyZ2V0R3JvdXA6IElBcHBsaWNhdGlvblRhcmdldEdyb3VwLFxuICApOiBMb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0YWNoKHRhcmdldEdyb3VwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGlzIGluc3RhbmNlIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb05ldHdvcmtUYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogSU5ldHdvcmtUYXJnZXRHcm91cCxcbiAgKTogTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB0aGlzLmF0dGFjaCh0YXJnZXRHcm91cCk7XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaChfdGFyZ2V0R3JvdXA6IElUYXJnZXRHcm91cCk6IExvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0VHlwZTogVGFyZ2V0VHlwZS5JUCxcbiAgICAgIHRhcmdldEpzb246IHtcbiAgICAgICAgdGFyZ2V0SWQ6IHRoaXMuaXBBZGRyZXNzLFxuICAgICAgICBwb3J0OiB0aGlzLnBvcnQsXG4gICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IHRoaXMuYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -41,7 +41,7 @@ class AlbArnTarget {
41
41
  }
42
42
  exports.AlbArnTarget = AlbArnTarget;
43
43
  _a = JSII_RTTI_SYMBOL_1;
44
- AlbArnTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.AlbArnTarget", version: "0.2.2" };
44
+ AlbArnTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.AlbArnTarget", version: "0.2.3" };
45
45
  /**
46
46
  * A single Application Load Balancer as the target for load balancing.
47
47
  * @deprecated Use `AlbListenerTarget` instead or
@@ -61,7 +61,7 @@ class AlbTarget extends AlbArnTarget {
61
61
  }
62
62
  exports.AlbTarget = AlbTarget;
63
63
  _b = JSII_RTTI_SYMBOL_1;
64
- AlbTarget[_b] = { fqn: "terraconstructs.aws.compute.lbtargets.AlbTarget", version: "0.2.2" };
64
+ AlbTarget[_b] = { fqn: "terraconstructs.aws.compute.lbtargets.AlbTarget", version: "0.2.3" };
65
65
  /**
66
66
  * A single Application Load Balancer's listener as the target for load balancing.
67
67
  */
@@ -96,5 +96,5 @@ class AlbListenerTarget extends AlbArnTarget {
96
96
  }
97
97
  exports.AlbListenerTarget = AlbListenerTarget;
98
98
  _c = JSII_RTTI_SYMBOL_1;
99
- AlbListenerTarget[_c] = { fqn: "terraconstructs.aws.compute.lbtargets.AlbListenerTarget", version: "0.2.2" };
99
+ AlbListenerTarget[_c] = { fqn: "terraconstructs.aws.compute.lbtargets.AlbListenerTarget", version: "0.2.3" };
100
100
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxiLXRhcmdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9sYi10YXJnZXRzL2FsYi10YXJnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5SEFBeUg7QUFFekgsK0JBQStCO0FBRS9COztHQUVHO0FBQ0gsTUFBYSxZQUFZO0lBQ3ZCOzs7Ozs7T0FNRztJQUNILFlBQ21CLE1BQWMsRUFDZCxJQUFZO1FBRFosV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVE7SUFDNUIsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0ksMEJBQTBCLENBQy9CLFdBQXdDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxPQUFPLENBQ2YsWUFBa0M7UUFFbEMsT0FBTztZQUNMLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFDbEMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDdkQsQ0FBQztJQUNKLENBQUM7O0FBbkNILG9DQW9DQzs7O0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsU0FBVSxTQUFRLFlBQVk7SUFDekM7OztPQUdHO0lBQ0gsWUFBWSxHQUFxQyxFQUFFLElBQVk7UUFDN0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7QUFQSCw4QkFRQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLFlBQVk7SUFDakQ7Ozs7OztPQU1HO0lBQ0gsWUFBb0IsV0FBd0M7UUFDMUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURoRCxnQkFBVyxHQUFYLFdBQVcsQ0FBNkI7SUFFNUQsQ0FBQztJQUVPLE1BQU0sQ0FDWixXQUFpQztRQUVqQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLDBCQUEwQixDQUMvQixXQUF3QztRQUV4QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7QUFoQ0gsOENBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjItdGFyZ2V0cy9saWIvYWxiLXRhcmdldC50c1xuXG5pbXBvcnQgKiBhcyBjb21wdXRlIGZyb20gXCIuLi9cIjtcblxuLyoqXG4gKiBBIHNpbmdsZSBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyIGFzIHRoZSB0YXJnZXQgZm9yIGxvYWQgYmFsYW5jaW5nLlxuICovXG5leHBvcnQgY2xhc3MgQWxiQXJuVGFyZ2V0IGltcGxlbWVudHMgY29tcHV0ZS5JTmV0d29ya0xvYWRCYWxhbmNlclRhcmdldCB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgYWxiIHRhcmdldC5cbiAgICogTm90ZSB0aGF0IHRoZSBBTEIgbXVzdCBoYXZlIGEgbGlzdGVuZXIgb24gdGhlIHByb3ZpZGVkIHRhcmdldCBwb3J0LlxuICAgKlxuICAgKiBAcGFyYW0gYWxiQXJuIFRoZSBBUk4gb2YgdGhlIGFwcGxpY2F0aW9uIGxvYWQgYmFsYW5jZXIgdG8gbG9hZCBiYWxhbmNlIHRvXG4gICAqIEBwYXJhbSBwb3J0IFRoZSBwb3J0IG9uIHdoaWNoIHRoZSB0YXJnZXQgaXMgbGlzdGVuaW5nXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsYkFybjogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9ydDogbnVtYmVyLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIHRoaXMgYWxiIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb05ldHdvcmtUYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogY29tcHV0ZS5JTmV0d29ya1RhcmdldEdyb3VwLFxuICApOiBjb21wdXRlLkxvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICByZXR1cm4gdGhpcy5fYXR0YWNoKHRhcmdldEdyb3VwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfYXR0YWNoKFxuICAgIF90YXJnZXRHcm91cDogY29tcHV0ZS5JVGFyZ2V0R3JvdXAsXG4gICk6IGNvbXB1dGUuTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXRUeXBlOiBjb21wdXRlLlRhcmdldFR5cGUuQUxCLFxuICAgICAgdGFyZ2V0SnNvbjogeyB0YXJnZXRJZDogdGhpcy5hbGJBcm4sIHBvcnQ6IHRoaXMucG9ydCB9LFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyIGFzIHRoZSB0YXJnZXQgZm9yIGxvYWQgYmFsYW5jaW5nLlxuICogQGRlcHJlY2F0ZWQgVXNlIGBBbGJMaXN0ZW5lclRhcmdldGAgaW5zdGVhZCBvclxuICogYEFsYkFyblRhcmdldGAgZm9yIGFuIGltcG9ydGVkIGxvYWQgYmFsYW5jZXIuIFRoaXMgdGFyZ2V0IGRvZXMgbm90IGF1dG9tYXRpY2FsbHlcbiAqIGFkZCBhIGRlcGVuZGVuY3kgYmV0d2VlbiB0aGUgQUxCIGxpc3RlbmVyIGFuZCByZXN1bHRpbmcgTkxCIHRhcmdldCBncm91cCxcbiAqIHdpdGhvdXQgd2hpY2ggbWF5IGNhdXNlIHN0YWNrIGRlcGxveW1lbnRzIHRvIGZhaWwgaWYgdGhlIE5MQiB0YXJnZXQgZ3JvdXAgaXMgcHJvdmlzaW9uZWRcbiAqIGJlZm9yZSB0aGUgbGlzdGVuZXIgaGFzIGJlZW4gZnVsbHkgY3JlYXRlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEFsYlRhcmdldCBleHRlbmRzIEFsYkFyblRhcmdldCB7XG4gIC8qKlxuICAgKiBAcGFyYW0gYWxiIFRoZSBhcHBsaWNhdGlvbiBsb2FkIGJhbGFuY2VyIHRvIGxvYWQgYmFsYW5jZSB0b1xuICAgKiBAcGFyYW0gcG9ydCBUaGUgcG9ydCBvbiB3aGljaCB0aGUgdGFyZ2V0IGlzIGxpc3RlbmluZ1xuICAgKi9cbiAgY29uc3RydWN0b3IoYWxiOiBjb21wdXRlLklBcHBsaWNhdGlvbkxvYWRCYWxhbmNlciwgcG9ydDogbnVtYmVyKSB7XG4gICAgc3VwZXIoYWxiLmxvYWRCYWxhbmNlckFybiwgcG9ydCk7XG4gIH1cbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyJ3MgbGlzdGVuZXIgYXMgdGhlIHRhcmdldCBmb3IgbG9hZCBiYWxhbmNpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBBbGJMaXN0ZW5lclRhcmdldCBleHRlbmRzIEFsYkFyblRhcmdldCB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgQUxCIHRhcmdldC5cbiAgICogVGhlIGFzc29jaWF0ZWQgdGFyZ2V0IGdyb3VwIHdpbGwgYXV0b21hdGljYWxseSBoYXZlIGEgZGVwZW5kZW5jeSBhZGRlZFxuICAgKiBhZ2FpbnN0IHRoZSBBTEIncyBsaXN0ZW5lci5cbiAgICpcbiAgICogQHBhcmFtIGFsYkxpc3RlbmVyIFRoZSBhcHBsaWNhdGlvbiBsb2FkIGJhbGFuY2VyIGxpc3RlbmVyIHRvIHRhcmdldC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxiTGlzdGVuZXI6IGNvbXB1dGUuQXBwbGljYXRpb25MaXN0ZW5lcikge1xuICAgIHN1cGVyKGFsYkxpc3RlbmVyLmxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJBcm4sIGFsYkxpc3RlbmVyLnBvcnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2goXG4gICAgdGFyZ2V0R3JvdXA6IGNvbXB1dGUuSVRhcmdldEdyb3VwLFxuICApOiBjb21wdXRlLkxvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICB0YXJnZXRHcm91cC5ub2RlLmFkZERlcGVuZGVuY3kodGhpcy5hbGJMaXN0ZW5lcik7XG4gICAgcmV0dXJuIHN1cGVyLl9hdHRhY2godGFyZ2V0R3JvdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIHRoaXMgQUxCIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlci5cbiAgICpcbiAgICogRG9uJ3QgY2FsbCB0aGlzLCBpdCBpcyBjYWxsZWQgYXV0b21hdGljYWxseSB3aGVuIHlvdSBhZGQgdGhlIHRhcmdldCB0byBhXG4gICAqIGxvYWQgYmFsYW5jZXIuXG4gICAqXG4gICAqIFRoaXMgYWRkcyBkZXBlbmRlbmN5IG9uIGFsYkxpc3RlbmVyIGJlY2F1c2UgY3JlYXRpb24gb2YgQUxCIGxpc3RlbmVyIGFuZCBOTEIgY2FuIHZhcnkgZHVyaW5nIHJ1bnRpbWUuXG4gICAqIE1vcmUgRGV0YWlscyBvbiAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTcyMDhcbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb05ldHdvcmtUYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogY29tcHV0ZS5JTmV0d29ya1RhcmdldEdyb3VwLFxuICApOiBjb21wdXRlLkxvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICByZXR1cm4gdGhpcy5hdHRhY2godGFyZ2V0R3JvdXApO1xuICB9XG59XG4iXX0=
@@ -49,7 +49,7 @@ class InstanceIdTarget {
49
49
  }
50
50
  exports.InstanceIdTarget = InstanceIdTarget;
51
51
  _a = JSII_RTTI_SYMBOL_1;
52
- InstanceIdTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.InstanceIdTarget", version: "0.2.2" };
52
+ InstanceIdTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.InstanceIdTarget", version: "0.2.3" };
53
53
  class InstanceTarget extends InstanceIdTarget {
54
54
  /**
55
55
  * Create a new Instance target
@@ -63,5 +63,5 @@ class InstanceTarget extends InstanceIdTarget {
63
63
  }
64
64
  exports.InstanceTarget = InstanceTarget;
65
65
  _b = JSII_RTTI_SYMBOL_1;
66
- InstanceTarget[_b] = { fqn: "terraconstructs.aws.compute.lbtargets.InstanceTarget", version: "0.2.2" };
66
+ InstanceTarget[_b] = { fqn: "terraconstructs.aws.compute.lbtargets.InstanceTarget", version: "0.2.3" };
67
67
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UtdGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2xiLXRhcmdldHMvaW5zdGFuY2UtdGFyZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOEhBQThIO0FBRTlILCtCQUErQjtBQUUvQjs7Ozs7R0FLRztBQUNILE1BQWEsZ0JBQWdCO0lBSzNCOzs7OztPQUtHO0lBQ0gsWUFDbUIsVUFBa0IsRUFDbEIsSUFBYTtRQURiLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBUztJQUM3QixDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSSw4QkFBOEIsQ0FDbkMsV0FBNEM7UUFFNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDBCQUEwQixDQUMvQixXQUF3QztRQUV4QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLE1BQU0sQ0FDWixZQUFrQztRQUVsQyxPQUFPO1lBQ0wsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUTtZQUN2QyxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtTQUMzRCxDQUFDO0lBQ0osQ0FBQzs7QUEvQ0gsNENBZ0RDOzs7QUFFRCxNQUFhLGNBQWUsU0FBUSxnQkFBZ0I7SUFDbEQ7Ozs7O09BS0c7SUFDSCxZQUFZLFFBQTBCLEVBQUUsSUFBYTtRQUNuRCxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDOztBQVRILHdDQVVDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjItdGFyZ2V0cy9saWIvaW5zdGFuY2UtdGFyZ2V0LnRzXG5cbmltcG9ydCAqIGFzIGNvbXB1dGUgZnJvbSBcIi4uL1wiO1xuXG4vKipcbiAqIEFuIEVDMiBpbnN0YW5jZSB0aGF0IGlzIHRoZSB0YXJnZXQgZm9yIGxvYWQgYmFsYW5jaW5nXG4gKlxuICogSWYgeW91IHJlZ2lzdGVyIGEgdGFyZ2V0IG9mIHRoaXMgdHlwZSwgeW91IGFyZSByZXNwb25zaWJsZSBmb3IgbWFraW5nXG4gKiBzdXJlIHRoZSBsb2FkIGJhbGFuY2VyJ3Mgc2VjdXJpdHkgZ3JvdXAgY2FuIGNvbm5lY3QgdG8gdGhlIGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgSW5zdGFuY2VJZFRhcmdldFxuICBpbXBsZW1lbnRzXG4gICAgY29tcHV0ZS5JQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJUYXJnZXQsXG4gICAgY29tcHV0ZS5JTmV0d29ya0xvYWRCYWxhbmNlclRhcmdldFxue1xuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IEluc3RhbmNlIHRhcmdldFxuICAgKlxuICAgKiBAcGFyYW0gaW5zdGFuY2VJZCBJbnN0YW5jZSBJRCBvZiB0aGUgaW5zdGFuY2UgdG8gcmVnaXN0ZXIgdG9cbiAgICogQHBhcmFtIHBvcnQgT3ZlcnJpZGUgdGhlIGRlZmF1bHQgcG9ydCBmb3IgdGhlIHRhcmdldCBncm91cFxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZUlkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0PzogbnVtYmVyLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIHRoaXMgaW5zdGFuY2UgdGFyZ2V0IHdpdGggYSBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIERvbid0IGNhbGwgdGhpcywgaXQgaXMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB5b3UgYWRkIHRoZSB0YXJnZXQgdG8gYVxuICAgKiBsb2FkIGJhbGFuY2VyLlxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRvQXBwbGljYXRpb25UYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogY29tcHV0ZS5JQXBwbGljYXRpb25UYXJnZXRHcm91cCxcbiAgKTogY29tcHV0ZS5Mb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0YWNoKHRhcmdldEdyb3VwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGlzIGluc3RhbmNlIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb05ldHdvcmtUYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogY29tcHV0ZS5JTmV0d29ya1RhcmdldEdyb3VwLFxuICApOiBjb21wdXRlLkxvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICByZXR1cm4gdGhpcy5hdHRhY2godGFyZ2V0R3JvdXApO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2goXG4gICAgX3RhcmdldEdyb3VwOiBjb21wdXRlLklUYXJnZXRHcm91cCxcbiAgKTogY29tcHV0ZS5Mb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldFR5cGU6IGNvbXB1dGUuVGFyZ2V0VHlwZS5JTlNUQU5DRSxcbiAgICAgIHRhcmdldEpzb246IHsgdGFyZ2V0SWQ6IHRoaXMuaW5zdGFuY2VJZCwgcG9ydDogdGhpcy5wb3J0IH0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW5zdGFuY2VUYXJnZXQgZXh0ZW5kcyBJbnN0YW5jZUlkVGFyZ2V0IHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBJbnN0YW5jZSB0YXJnZXRcbiAgICpcbiAgICogQHBhcmFtIGluc3RhbmNlIEluc3RhbmNlIHRvIHJlZ2lzdGVyIHRvXG4gICAqIEBwYXJhbSBwb3J0IE92ZXJyaWRlIHRoZSBkZWZhdWx0IHBvcnQgZm9yIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICovXG4gIGNvbnN0cnVjdG9yKGluc3RhbmNlOiBjb21wdXRlLkluc3RhbmNlLCBwb3J0PzogbnVtYmVyKSB7XG4gICAgc3VwZXIoaW5zdGFuY2UuaW5zdGFuY2VJZCwgcG9ydCk7XG4gIH1cbn1cbiJdfQ==
@@ -75,5 +75,5 @@ class IpTarget {
75
75
  }
76
76
  exports.IpTarget = IpTarget;
77
77
  _a = JSII_RTTI_SYMBOL_1;
78
- IpTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.IpTarget", version: "0.2.2" };
78
+ IpTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.IpTarget", version: "0.2.3" };
79
79
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXAtdGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2xiLXRhcmdldHMvaXAtdGFyZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0hBQXdIO0FBRXhILDZCQUE2QjtBQUU3Qjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxRQUFRO0lBS25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDSCxZQUNtQixTQUFpQixFQUNqQixJQUFhLEVBQ2IsZ0JBQXlCO1FBRnpCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNiLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUztJQUN6QyxDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSSw4QkFBOEIsQ0FDbkMsV0FBMEM7UUFFMUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDBCQUEwQixDQUMvQixXQUFzQztRQUV0QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLE1BQU0sQ0FDWixZQUFnQztRQUVoQyxPQUFPO1lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvQixVQUFVLEVBQUU7Z0JBQ1YsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUN4QztTQUNGLENBQUM7SUFDSixDQUFDOztBQXBFSCw0QkFxRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzUuMS9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi10YXJnZXRzL2xpYi9pcC10YXJnZXQudHNcblxuaW1wb3J0ICogYXMgZWxidjIgZnJvbSBcIi4uL1wiO1xuXG4vKipcbiAqIEFuIElQIGFkZHJlc3MgdGhhdCBpcyBhIHRhcmdldCBmb3IgbG9hZCBiYWxhbmNpbmcuXG4gKlxuICogU3BlY2lmeSBJUCBhZGRyZXNzZXMgZnJvbSB0aGUgc3VibmV0cyBvZiB0aGUgdmlydHVhbCBwcml2YXRlIGNsb3VkIChWUEMpIGZvclxuICogdGhlIHRhcmdldCBncm91cCwgdGhlIFJGQyAxOTE4IHJhbmdlICgxMC4wLjAuMC84LCAxNzIuMTYuMC4wLzEyLCBhbmRcbiAqIDE5Mi4xNjguMC4wLzE2KSwgYW5kIHRoZSBSRkMgNjU5OCByYW5nZSAoMTAwLjY0LjAuMC8xMCkuIFlvdSBjYW4ndCBzcGVjaWZ5XG4gKiBwdWJsaWNseSByb3V0YWJsZSBJUCBhZGRyZXNzZXMuXG4gKlxuICogSWYgeW91IHJlZ2lzdGVyIGEgdGFyZ2V0IG9mIHRoaXMgdHlwZSwgeW91IGFyZSByZXNwb25zaWJsZSBmb3IgbWFraW5nXG4gKiBzdXJlIHRoZSBsb2FkIGJhbGFuY2VyJ3Mgc2VjdXJpdHkgZ3JvdXAgY2FuIHNlbmQgcGFja2V0cyB0byB0aGUgSVAgYWRkcmVzcy5cbiAqL1xuZXhwb3J0IGNsYXNzIElwVGFyZ2V0XG4gIGltcGxlbWVudHNcbiAgICBlbGJ2Mi5JQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJUYXJnZXQsXG4gICAgZWxidjIuSU5ldHdvcmtMb2FkQmFsYW5jZXJUYXJnZXRcbntcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBJUEFkZHJlc3MgdGFyZ2V0XG4gICAqXG4gICAqIFRoZSBhdmFpbGFiaWxpdHlab25lIHBhcmFtZXRlciBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHRhcmdldCByZWNlaXZlc1xuICAgKiB0cmFmZmljIGZyb20gdGhlIGxvYWQgYmFsYW5jZXIgbm9kZXMgaW4gdGhlIHNwZWNpZmllZCBBdmFpbGFiaWxpdHkgWm9uZVxuICAgKiBvciBmcm9tIGFsbCBlbmFibGVkIEF2YWlsYWJpbGl0eSBab25lcyBmb3IgdGhlIGxvYWQgYmFsYW5jZXIuXG4gICAqXG4gICAqIFRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzdXBwb3J0ZWQgaWYgdGhlIHRhcmdldCB0eXBlIG9mIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICogaXMgaW5zdGFuY2UuIElmIHRoZSBJUCBhZGRyZXNzIGlzIGluIGEgc3VibmV0IG9mIHRoZSBWUEMgZm9yIHRoZSB0YXJnZXRcbiAgICogZ3JvdXAsIHRoZSBBdmFpbGFiaWxpdHkgWm9uZSBpcyBhdXRvbWF0aWNhbGx5IGRldGVjdGVkIGFuZCB0aGlzXG4gICAqIHBhcmFtZXRlciBpcyBvcHRpb25hbC4gSWYgdGhlIElQIGFkZHJlc3MgaXMgb3V0c2lkZSB0aGUgVlBDLCB0aGlzXG4gICAqIHBhcmFtZXRlciBpcyByZXF1aXJlZC5cbiAgICpcbiAgICogV2l0aCBhbiBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyLCBpZiB0aGUgSVAgYWRkcmVzcyBpcyBvdXRzaWRlIHRoZSBWUENcbiAgICogZm9yIHRoZSB0YXJnZXQgZ3JvdXAsIHRoZSBvbmx5IHN1cHBvcnRlZCB2YWx1ZSBpcyBhbGwuXG4gICAqXG4gICAqIERlZmF1bHQgaXMgYXV0b21hdGljLlxuICAgKlxuICAgKiBAcGFyYW0gaXBBZGRyZXNzIFRoZSBJUCBBZGRyZXNzIHRvIGxvYWQgYmFsYW5jZSB0b1xuICAgKiBAcGFyYW0gcG9ydCBPdmVycmlkZSB0aGUgZ3JvdXAncyBkZWZhdWx0IHBvcnRcbiAgICogQHBhcmFtIGF2YWlsYWJpbGl0eVpvbmUgQXZhaWxhYmlsaXR5IHpvbmUgdG8gc2VuZCB0cmFmZmljIGZyb21cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXBBZGRyZXNzOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0PzogbnVtYmVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZT86IHN0cmluZyxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGlzIGluc3RhbmNlIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb0FwcGxpY2F0aW9uVGFyZ2V0R3JvdXAoXG4gICAgdGFyZ2V0R3JvdXA6IGVsYnYyLklBcHBsaWNhdGlvblRhcmdldEdyb3VwLFxuICApOiBlbGJ2Mi5Mb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0YWNoKHRhcmdldEdyb3VwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGlzIGluc3RhbmNlIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb05ldHdvcmtUYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogZWxidjIuSU5ldHdvcmtUYXJnZXRHcm91cCxcbiAgKTogZWxidjIuTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB0aGlzLmF0dGFjaCh0YXJnZXRHcm91cCk7XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaChcbiAgICBfdGFyZ2V0R3JvdXA6IGVsYnYyLklUYXJnZXRHcm91cCxcbiAgKTogZWxidjIuTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXRUeXBlOiBlbGJ2Mi5UYXJnZXRUeXBlLklQLFxuICAgICAgdGFyZ2V0SnNvbjoge1xuICAgICAgICB0YXJnZXRJZDogdGhpcy5pcEFkZHJlc3MsXG4gICAgICAgIHBvcnQ6IHRoaXMucG9ydCxcbiAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogdGhpcy5hdmFpbGFiaWxpdHlab25lLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -46,5 +46,5 @@ class LambdaTarget {
46
46
  }
47
47
  exports.LambdaTarget = LambdaTarget;
48
48
  _a = JSII_RTTI_SYMBOL_1;
49
- LambdaTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.LambdaTarget", version: "0.2.2" };
49
+ LambdaTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.LambdaTarget", version: "0.2.3" };
50
50
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLXRhcmdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9sYi10YXJnZXRzL2xhbWJkYS10YXJnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0SEFBNEg7QUFFNUgsK0JBQStCO0FBQy9CLGlDQUFpQztBQUVqQyxNQUFhLFlBQVk7SUFDdkI7Ozs7T0FJRztJQUNILFlBQTZCLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO0lBQUcsQ0FBQztJQUV0RDs7Ozs7T0FLRztJQUNJLDhCQUE4QixDQUNuQyxXQUE0QztRQUU1QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FDL0IsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsb0NBQW9DLENBQUMsQ0FDL0QsQ0FBQztRQUNGLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDBCQUEwQixDQUMvQixXQUF3QztRQUV4QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FDL0IsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsb0NBQW9DLENBQUMsQ0FDL0QsQ0FBQztRQUNGLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxNQUFNLENBQ1osWUFBa0M7UUFFbEMsT0FBTztZQUNMLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU07WUFDckMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFO1NBQzlDLENBQUM7SUFDSixDQUFDOztBQS9DSCxvQ0FnREMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzUuMS9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi10YXJnZXRzL2xpYi9sYW1iZGEtdGFyZ2V0LnRzXG5cbmltcG9ydCAqIGFzIGNvbXB1dGUgZnJvbSBcIi4uL1wiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCIuLi8uLi9pYW1cIjtcblxuZXhwb3J0IGNsYXNzIExhbWJkYVRhcmdldCBpbXBsZW1lbnRzIGNvbXB1dGUuSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVGFyZ2V0IHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBMYW1iZGEgdGFyZ2V0XG4gICAqXG4gICAqIEBwYXJhbSBmdW5jdGlvbkFybiBUaGUgTGFtYmRhIEZ1bmN0aW9uIHRvIGxvYWQgYmFsYW5jZSB0b1xuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmbjogY29tcHV0ZS5JRnVuY3Rpb24pIHt9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIHRoaXMgaW5zdGFuY2UgdGFyZ2V0IHdpdGggYSBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIERvbid0IGNhbGwgdGhpcywgaXQgaXMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB5b3UgYWRkIHRoZSB0YXJnZXQgdG8gYVxuICAgKiBsb2FkIGJhbGFuY2VyLlxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRvQXBwbGljYXRpb25UYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogY29tcHV0ZS5JQXBwbGljYXRpb25UYXJnZXRHcm91cCxcbiAgKTogY29tcHV0ZS5Mb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgY29uc3QgZ3JhbnQgPSB0aGlzLmZuLmdyYW50SW52b2tlKFxuICAgICAgbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiZWxhc3RpY2xvYWRiYWxhbmNpbmcuYW1hem9uYXdzLmNvbVwiKSxcbiAgICApO1xuICAgIGdyYW50LmFwcGx5QmVmb3JlKHRhcmdldEdyb3VwKTtcbiAgICByZXR1cm4gdGhpcy5hdHRhY2godGFyZ2V0R3JvdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIHRoaXMgaW5zdGFuY2UgdGFyZ2V0IHdpdGggYSBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIERvbid0IGNhbGwgdGhpcywgaXQgaXMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB5b3UgYWRkIHRoZSB0YXJnZXQgdG8gYVxuICAgKiBsb2FkIGJhbGFuY2VyLlxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRvTmV0d29ya1RhcmdldEdyb3VwKFxuICAgIHRhcmdldEdyb3VwOiBjb21wdXRlLklOZXR3b3JrVGFyZ2V0R3JvdXAsXG4gICk6IGNvbXB1dGUuTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIGNvbnN0IGdyYW50ID0gdGhpcy5mbi5ncmFudEludm9rZShcbiAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImVsYXN0aWNsb2FkYmFsYW5jaW5nLmFtYXpvbmF3cy5jb21cIiksXG4gICAgKTtcbiAgICBncmFudC5hcHBseUJlZm9yZSh0YXJnZXRHcm91cCk7XG4gICAgcmV0dXJuIHRoaXMuYXR0YWNoKHRhcmdldEdyb3VwKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoKFxuICAgIF90YXJnZXRHcm91cDogY29tcHV0ZS5JVGFyZ2V0R3JvdXAsXG4gICk6IGNvbXB1dGUuTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXRUeXBlOiBjb21wdXRlLlRhcmdldFR5cGUuTEFNQkRBLFxuICAgICAgdGFyZ2V0SnNvbjogeyB0YXJnZXRJZDogdGhpcy5mbi5mdW5jdGlvbkFybiB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -180,7 +180,7 @@ class LoadBalancer extends aws_construct_1.AwsConstructBase {
180
180
  }
181
181
  exports.LoadBalancer = LoadBalancer;
182
182
  _a = JSII_RTTI_SYMBOL_1;
183
- LoadBalancer[_a] = { fqn: "terraconstructs.aws.compute.LoadBalancer", version: "0.2.2" };
183
+ LoadBalancer[_a] = { fqn: "terraconstructs.aws.compute.LoadBalancer", version: "0.2.3" };
184
184
  /**
185
185
  * An EC2 instance that is the target for load balancing
186
186
  */
@@ -200,7 +200,7 @@ class ElbInstanceTarget {
200
200
  }
201
201
  exports.ElbInstanceTarget = ElbInstanceTarget;
202
202
  _b = JSII_RTTI_SYMBOL_1;
203
- ElbInstanceTarget[_b] = { fqn: "terraconstructs.aws.compute.ElbInstanceTarget", version: "0.2.2" };
203
+ ElbInstanceTarget[_b] = { fqn: "terraconstructs.aws.compute.ElbInstanceTarget", version: "0.2.3" };
204
204
  /**
205
205
  * Reference to a listener's port just created.
206
206
  *
@@ -224,7 +224,7 @@ class ListenerPort {
224
224
  }
225
225
  exports.ListenerPort = ListenerPort;
226
226
  _c = JSII_RTTI_SYMBOL_1;
227
- ListenerPort[_c] = { fqn: "terraconstructs.aws.compute.ListenerPort", version: "0.2.2" };
227
+ ListenerPort[_c] = { fqn: "terraconstructs.aws.compute.ListenerPort", version: "0.2.3" };
228
228
  function wellKnownProtocol(port) {
229
229
  const proto = tryWellKnownProtocol(port);
230
230
  if (!proto) {
@@ -21,7 +21,7 @@ class AmazonLinux2022Kernel {
21
21
  }
22
22
  exports.AmazonLinux2022Kernel = AmazonLinux2022Kernel;
23
23
  _a = JSII_RTTI_SYMBOL_1;
24
- AmazonLinux2022Kernel[_a] = { fqn: "terraconstructs.aws.compute.AmazonLinux2022Kernel", version: "0.2.2" };
24
+ AmazonLinux2022Kernel[_a] = { fqn: "terraconstructs.aws.compute.AmazonLinux2022Kernel", version: "0.2.3" };
25
25
  /**
26
26
  * The latest kernel version currently available in a published AMI.
27
27
  *
@@ -80,5 +80,5 @@ class AmazonLinux2022ImageSsmParameter extends common_1.AmazonLinuxImageSsmParam
80
80
  }
81
81
  exports.AmazonLinux2022ImageSsmParameter = AmazonLinux2022ImageSsmParameter;
82
82
  _b = JSII_RTTI_SYMBOL_1;
83
- AmazonLinux2022ImageSsmParameter[_b] = { fqn: "terraconstructs.aws.compute.AmazonLinux2022ImageSsmParameter", version: "0.2.2" };
83
+ AmazonLinux2022ImageSsmParameter[_b] = { fqn: "terraconstructs.aws.compute.AmazonLinux2022ImageSsmParameter", version: "0.2.3" };
84
84
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLWxpbnV4LTIwMjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvbWFjaGluZS1pbWFnZS9hbWF6b24tbGludXgtMjAyMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1IQUFtSDtBQUVuSCxxQ0FNa0I7QUFFbEI7O0dBRUc7QUFDSCxNQUFhLHFCQUFxQjtJQXVCaEMsWUFBNkIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0lBRWhEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sVUFBVSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7QUE5Qkgsc0RBK0JDOzs7QUE5QkM7Ozs7Ozs7R0FPRztBQUNvQixnQ0FBVSxHQUFHLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdEU7Ozs7R0FJRztBQUNvQiw2QkFBTyxHQUFHLElBQUkscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFdEU7O0dBRUc7QUFDb0IsaUNBQVcsR0FBRyxJQUFJLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBeUJ6RTs7R0FFRztBQUNILE1BQWEsZ0NBQWlDLFNBQVEseUNBQWdDO0lBQ3BGOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQzVCLEtBQTRDO1FBRTVDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSwyQkFBa0IsQ0FBQyxRQUFRLENBQUM7UUFFeEUsTUFBTSxLQUFLLEdBQThCO1lBQ3ZDLDhCQUFxQixDQUFDLGlCQUFpQjtZQUN2QyxLQUFLO1lBQ0wsT0FBTyxLQUFLLDJCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzdELEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxPQUFPLElBQUksMkJBQWtCLENBQUMsTUFBTTtTQUMzQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXJCLE9BQU8sdUNBQXVDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsWUFBWSxLQUE0QztRQUN0RCxLQUFLLENBQUM7WUFDSixhQUFhLEVBQUUsZ0NBQWdDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1lBQ3ZFLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFyQ0gsNEVBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjMi9saWIvbWFjaGluZS1pbWFnZS9hbWF6b24tbGludXgtMjAyMi50c1xuXG5pbXBvcnQge1xuICBBbWF6b25MaW51eENwdVR5cGUsXG4gIEFtYXpvbkxpbnV4RWRpdGlvbixcbiAgQW1hem9uTGludXhHZW5lcmF0aW9uLFxuICBBbWF6b25MaW51eEltYWdlU3NtUGFyYW1ldGVyQ29tbW9uT3B0aW9ucyxcbiAgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckJhc2UsXG59IGZyb20gXCIuL2NvbW1vblwiO1xuXG4vKipcbiAqIEFtYXpvbiBMaW51eCAyMDIyIGtlcm5lbCB2ZXJzaW9uc1xuICovXG5leHBvcnQgY2xhc3MgQW1hem9uTGludXgyMDIyS2VybmVsIHtcbiAgLyoqXG4gICAqIFRoZSBsYXRlc3Qga2VybmVsIHZlcnNpb24gY3VycmVudGx5IGF2YWlsYWJsZSBpbiBhIHB1Ymxpc2hlZCBBTUkuXG4gICAqXG4gICAqIFdoZW4gYSBuZXcga2VybmVsIHZlcnNpb24gaXMgYXZhaWxhYmxlIGZvciBhbiBhbDIwMjIgQU1JIHRoaXMgd2lsbCBiZVxuICAgKiB1cGRhdGVkIHRvIGNvbnRhaW4gdGhlIGxhdGVzdCBrZXJuZWwgdmVyc2lvbiBhbmQgd2lsbCBjYXVzZSB5b3VyIGluc3RhbmNlc1xuICAgKiB0byBiZSByZXBsYWNlZC4gRG8gbm90IHN0b3JlIHN0YXRlZnVsIGluZm9ybWF0aW9uIG9uIHRoZSBpbnN0YW5jZSBpZiB5b3UgYXJlXG4gICAqIHVzaW5nIHRoaXMgdmVyc2lvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ0RLX0xBVEVTVCA9IG5ldyBBbWF6b25MaW51eDIwMjJLZXJuZWwoXCI1LjE1XCIpO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBrZXJuZWwgdmVyc2lvbiBmb3IgQW1hem9uIExpbnV4IDIwMjIgaXMgNS4xNSBhbmRcbiAgICogdGhlIFNTTSBwYXJhbWV0ZXIgZG9lcyBub3QgaW5jbHVkZSBpdCBpbiB0aGUgbmFtZVxuICAgKiAoaS5lLiAvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYW16bjIwMjItYW1pLWtlcm5lbC1kZWZhdWx0LXg4Nl82NClcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVCA9IG5ldyBBbWF6b25MaW51eDIwMjJLZXJuZWwoXCJkZWZhdWx0XCIpO1xuXG4gIC8qKlxuICAgKiBLZXJuZWwgdmVyc2lvbiA1LjE1XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEtFUk5FTF81XzE1ID0gbmV3IEFtYXpvbkxpbnV4MjAyMktlcm5lbChcIjUuMTVcIik7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcpIHt9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBrZXJuZWxcbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBga2VybmVsLSR7dGhpcy52ZXJzaW9ufWA7XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHNwZWNpZmljIHRvIGFsMjAyMiBpbWFnZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbWF6b25MaW51eDIwMjJJbWFnZVNzbVBhcmFtZXRlclByb3BzXG4gIGV4dGVuZHMgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogV2hhdCBrZXJuZWwgdmVyc2lvbiBvZiBBbWF6b24gTGludXggdG8gdXNlXG4gICAqXG4gICAqIEBkZWZhdWx0IEFtYXpvbkxpbnV4MjAyMktlcm5lbC5ERUZBVUxUXG4gICAqL1xuICByZWFkb25seSBrZXJuZWw/OiBBbWF6b25MaW51eDIwMjJLZXJuZWw7XG59XG5cbi8qKlxuICogQSBTU00gUGFyYW1ldGVyIHRoYXQgY29udGFpbnMgdGhlIEFNSSBJRCBmb3IgQW1hem9uIExpbnV4IDIwMjNcbiAqL1xuZXhwb3J0IGNsYXNzIEFtYXpvbkxpbnV4MjAyMkltYWdlU3NtUGFyYW1ldGVyIGV4dGVuZHMgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckJhc2Uge1xuICAvKipcbiAgICogR2VuZXJhdGVzIGEgU1NNIFBhcmFtZXRlciBuYW1lIGZvciBhIHNwZWNpZmljIGFtYXpvbiBsaW51eCAyMDIyIEFNSVxuICAgKlxuICAgKiBFeGFtcGxlIHZhbHVlczpcbiAgICpcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2FsMjAyMi1hbWkta2VybmVsLTUuMTUteDg2XzY0XCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbDIwMjItYW1pLWtlcm5lbC1kZWZhdWx0LXg4Nl82NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIyLWFtaS1taW5pbWFsLWtlcm5lbC01LjE1LWFybTY0XCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbDIwMjItYW1pLW1pbmltYWwta2VybmVsLTUuMTUteDg2XzY0XCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbDIwMjItYW1pLWtlcm5lbC01LjE1LWFybTY0XCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbDIwMjItYW1pLW1pbmltYWwta2VybmVsLWRlZmF1bHQtYXJtNjRcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2FsMjAyMi1hbWktbWluaW1hbC1rZXJuZWwtZGVmYXVsdC14ODZfNjRcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2FsMjAyMi1hbWkta2VybmVsLWRlZmF1bHQtYXJtNjRcIixcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3NtUGFyYW1ldGVyTmFtZShcbiAgICBwcm9wczogQW1hem9uTGludXgyMDIySW1hZ2VTc21QYXJhbWV0ZXJQcm9wcyxcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBlZGl0aW9uID0gKHByb3BzICYmIHByb3BzLmVkaXRpb24pIHx8IEFtYXpvbkxpbnV4RWRpdGlvbi5TVEFOREFSRDtcblxuICAgIGNvbnN0IHBhcnRzOiBBcnJheTxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gW1xuICAgICAgQW1hem9uTGludXhHZW5lcmF0aW9uLkFNQVpPTl9MSU5VWF8yMDIyLFxuICAgICAgXCJhbWlcIixcbiAgICAgIGVkaXRpb24gIT09IEFtYXpvbkxpbnV4RWRpdGlvbi5TVEFOREFSRCA/IGVkaXRpb24gOiB1bmRlZmluZWQsXG4gICAgICBwcm9wcy5rZXJuZWw/LnRvU3RyaW5nKCksXG4gICAgICBwcm9wcy5jcHVUeXBlID8/IEFtYXpvbkxpbnV4Q3B1VHlwZS5YODZfNjQsXG4gICAgXS5maWx0ZXIoKHgpID0+ICEheCk7XG5cbiAgICByZXR1cm4gXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvXCIgKyBwYXJ0cy5qb2luKFwiLVwiKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBBbWF6b25MaW51eDIwMjJJbWFnZVNzbVBhcmFtZXRlclByb3BzKSB7XG4gICAgc3VwZXIoe1xuICAgICAgcGFyYW1ldGVyTmFtZTogQW1hem9uTGludXgyMDIySW1hZ2VTc21QYXJhbWV0ZXIuc3NtUGFyYW1ldGVyTmFtZShwcm9wcyksXG4gICAgICBjYWNoZWRJbkNvbnRleHQ6IHByb3BzLmNhY2hlZEluQ29udGV4dCxcbiAgICAgIHVzZXJEYXRhOiBwcm9wcy51c2VyRGF0YSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -21,7 +21,7 @@ class AmazonLinux2023Kernel {
21
21
  }
22
22
  exports.AmazonLinux2023Kernel = AmazonLinux2023Kernel;
23
23
  _a = JSII_RTTI_SYMBOL_1;
24
- AmazonLinux2023Kernel[_a] = { fqn: "terraconstructs.aws.compute.AmazonLinux2023Kernel", version: "0.2.2" };
24
+ AmazonLinux2023Kernel[_a] = { fqn: "terraconstructs.aws.compute.AmazonLinux2023Kernel", version: "0.2.3" };
25
25
  /**
26
26
  * The latest kernel version currently available in a published AMI.
27
27
  *
@@ -80,5 +80,5 @@ class AmazonLinux2023ImageSsmParameter extends common_1.AmazonLinuxImageSsmParam
80
80
  }
81
81
  exports.AmazonLinux2023ImageSsmParameter = AmazonLinux2023ImageSsmParameter;
82
82
  _b = JSII_RTTI_SYMBOL_1;
83
- AmazonLinux2023ImageSsmParameter[_b] = { fqn: "terraconstructs.aws.compute.AmazonLinux2023ImageSsmParameter", version: "0.2.2" };
83
+ AmazonLinux2023ImageSsmParameter[_b] = { fqn: "terraconstructs.aws.compute.AmazonLinux2023ImageSsmParameter", version: "0.2.3" };
84
84
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLWxpbnV4LTIwMjMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvbWFjaGluZS1pbWFnZS9hbWF6b24tbGludXgtMjAyMy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1IQUFtSDtBQUVuSCxxQ0FNa0I7QUFFbEI7O0dBRUc7QUFDSCxNQUFhLHFCQUFxQjtJQXNCaEMsWUFBNkIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0lBRWhEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sVUFBVSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7QUE3Qkgsc0RBOEJDOzs7QUE3QkM7Ozs7Ozs7R0FPRztBQUNvQixnQ0FBVSxHQUFHLElBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFckU7Ozs7R0FJRztBQUNvQiw2QkFBTyxHQUFHLElBQUkscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFdEU7O0dBRUc7QUFDb0IsZ0NBQVUsR0FBRyxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBd0J2RTs7R0FFRztBQUNILE1BQWEsZ0NBQWlDLFNBQVEseUNBQWdDO0lBQ3BGOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQzVCLEtBQTRDO1FBRTVDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSwyQkFBa0IsQ0FBQyxRQUFRLENBQUM7UUFFeEUsTUFBTSxLQUFLLEdBQThCO1lBQ3ZDLDhCQUFxQixDQUFDLGlCQUFpQjtZQUN2QyxLQUFLO1lBQ0wsT0FBTyxLQUFLLDJCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzdELENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUU7WUFDM0QsS0FBSyxDQUFDLE9BQU8sSUFBSSwyQkFBa0IsQ0FBQyxNQUFNO1NBQzNDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFckIsT0FBTyx1Q0FBdUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxZQUFZLFFBQStDLEVBQUU7UUFDM0QsS0FBSyxDQUFDO1lBQ0osYUFBYSxFQUFFLGdDQUFnQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUN2RSxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBckNILDRFQXNDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lYzIvbGliL21hY2hpbmUtaW1hZ2UvYW1hem9uLWxpbnV4LTIwMjMudHNcblxuaW1wb3J0IHtcbiAgQW1hem9uTGludXhDcHVUeXBlLFxuICBBbWF6b25MaW51eEVkaXRpb24sXG4gIEFtYXpvbkxpbnV4R2VuZXJhdGlvbixcbiAgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckNvbW1vbk9wdGlvbnMsXG4gIEFtYXpvbkxpbnV4SW1hZ2VTc21QYXJhbWV0ZXJCYXNlLFxufSBmcm9tIFwiLi9jb21tb25cIjtcblxuLyoqXG4gKiBBbWF6b24gTGludXggMjAyMyBrZXJuZWwgdmVyc2lvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEFtYXpvbkxpbnV4MjAyM0tlcm5lbCB7XG4gIC8qKlxuICAgKiBUaGUgbGF0ZXN0IGtlcm5lbCB2ZXJzaW9uIGN1cnJlbnRseSBhdmFpbGFibGUgaW4gYSBwdWJsaXNoZWQgQU1JLlxuICAgKlxuICAgKiBXaGVuIGEgbmV3IGtlcm5lbCB2ZXJzaW9uIGlzIGF2YWlsYWJsZSBmb3IgYW4gYWwyMDIzIEFNSSB0aGlzIHdpbGwgYmVcbiAgICogdXBkYXRlZCB0byBjb250YWluIHRoZSBsYXRlc3Qga2VybmVsIHZlcnNpb24gYW5kIHdpbGwgY2F1c2UgeW91ciBpbnN0YW5jZXNcbiAgICogdG8gYmUgcmVwbGFjZWQuIERvIG5vdCBzdG9yZSBzdGF0ZWZ1bCBpbmZvcm1hdGlvbiBvbiB0aGUgaW5zdGFuY2UgaWYgeW91IGFyZVxuICAgKiB1c2luZyB0aGlzIHZlcnNpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENES19MQVRFU1QgPSBuZXcgQW1hem9uTGludXgyMDIzS2VybmVsKFwiNi4xXCIpO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBrZXJuZWwgdmVyc2lvbiBmb3IgQW1hem9uIExpbnV4IDIwMjMgaXMgNi4xIGFuZFxuICAgKiB0aGUgU1NNIHBhcmFtZXRlciBkb2VzIG5vdCBpbmNsdWRlIGl0IGluIHRoZSBuYW1lXG4gICAqIChpLmUuIC9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbXpuMjAyMy1hbWkta2VybmVsLWRlZmF1bHQteDg2XzY0KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUID0gbmV3IEFtYXpvbkxpbnV4MjAyM0tlcm5lbChcImRlZmF1bHRcIik7XG5cbiAgLyoqXG4gICAqIEtlcm5lbCB2ZXJzaW9uIDYuMVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBLRVJORUxfNl8xID0gbmV3IEFtYXpvbkxpbnV4MjAyM0tlcm5lbChcIjYuMVwiKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcpIHt9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBrZXJuZWxcbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBga2VybmVsLSR7dGhpcy52ZXJzaW9ufWA7XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHNwZWNpZmljIHRvIGFsMjAyMyBpbWFnZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbWF6b25MaW51eDIwMjNJbWFnZVNzbVBhcmFtZXRlclByb3BzXG4gIGV4dGVuZHMgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogV2hhdCBrZXJuZWwgdmVyc2lvbiBvZiBBbWF6b24gTGludXggdG8gdXNlXG4gICAqXG4gICAqIEBkZWZhdWx0IEFtYXpvbkxpbnV4MjAyM0tlcm5lbC5ERUZBVUxUXG4gICAqL1xuICByZWFkb25seSBrZXJuZWw/OiBBbWF6b25MaW51eDIwMjNLZXJuZWw7XG59XG5cbi8qKlxuICogQSBTU00gUGFyYW1ldGVyIHRoYXQgY29udGFpbnMgdGhlIEFNSSBJRCBmb3IgQW1hem9uIExpbnV4IDIwMjNcbiAqL1xuZXhwb3J0IGNsYXNzIEFtYXpvbkxpbnV4MjAyM0ltYWdlU3NtUGFyYW1ldGVyIGV4dGVuZHMgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckJhc2Uge1xuICAvKipcbiAgICogR2VuZXJhdGVzIGEgU1NNIFBhcmFtZXRlciBuYW1lIGZvciBhIHNwZWNpZmljIGFtYXpvbiBsaW51eCAyMDIzIEFNSVxuICAgKlxuICAgKiBFeGFtcGxlIHZhbHVlczpcbiAgICpcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2FsMjAyMy1hbWkta2VybmVsLTYuMS1hcm02NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIzLWFtaS1rZXJuZWwtNi4xLXg4Nl82NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIzLWFtaS1taW5pbWFsLWtlcm5lbC02LjEtYXJtNjRcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2FsMjAyMy1hbWktbWluaW1hbC1rZXJuZWwtNi4xLXg4Nl82NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIzLWFtaS1taW5pbWFsLWtlcm5lbC1kZWZhdWx0LWFybTY0XCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbDIwMjMtYW1pLWtlcm5lbC1kZWZhdWx0LXg4Nl82NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIzLWFtaS1taW5pbWFsLWtlcm5lbC1kZWZhdWx0LXg4Nl82NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIzLWFtaS1rZXJuZWwtZGVmYXVsdC1hcm02NFwiLFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzc21QYXJhbWV0ZXJOYW1lKFxuICAgIHByb3BzOiBBbWF6b25MaW51eDIwMjNJbWFnZVNzbVBhcmFtZXRlclByb3BzLFxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IGVkaXRpb24gPSAocHJvcHMgJiYgcHJvcHMuZWRpdGlvbikgfHwgQW1hem9uTGludXhFZGl0aW9uLlNUQU5EQVJEO1xuXG4gICAgY29uc3QgcGFydHM6IEFycmF5PHN0cmluZyB8IHVuZGVmaW5lZD4gPSBbXG4gICAgICBBbWF6b25MaW51eEdlbmVyYXRpb24uQU1BWk9OX0xJTlVYXzIwMjMsXG4gICAgICBcImFtaVwiLFxuICAgICAgZWRpdGlvbiAhPT0gQW1hem9uTGludXhFZGl0aW9uLlNUQU5EQVJEID8gZWRpdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgIChwcm9wcy5rZXJuZWwgPz8gQW1hem9uTGludXgyMDIzS2VybmVsLkRFRkFVTFQpPy50b1N0cmluZygpLFxuICAgICAgcHJvcHMuY3B1VHlwZSA/PyBBbWF6b25MaW51eENwdVR5cGUuWDg2XzY0LFxuICAgIF0uZmlsdGVyKCh4KSA9PiAhIXgpO1xuXG4gICAgcmV0dXJuIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L1wiICsgcGFydHMuam9pbihcIi1cIik7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcm9wczogQW1hem9uTGludXgyMDIzSW1hZ2VTc21QYXJhbWV0ZXJQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoe1xuICAgICAgcGFyYW1ldGVyTmFtZTogQW1hem9uTGludXgyMDIzSW1hZ2VTc21QYXJhbWV0ZXIuc3NtUGFyYW1ldGVyTmFtZShwcm9wcyksXG4gICAgICBjYWNoZWRJbkNvbnRleHQ6IHByb3BzLmNhY2hlZEluQ29udGV4dCxcbiAgICAgIHVzZXJEYXRhOiBwcm9wcy51c2VyRGF0YSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -21,7 +21,7 @@ class AmazonLinux2Kernel {
21
21
  }
22
22
  exports.AmazonLinux2Kernel = AmazonLinux2Kernel;
23
23
  _a = JSII_RTTI_SYMBOL_1;
24
- AmazonLinux2Kernel[_a] = { fqn: "terraconstructs.aws.compute.AmazonLinux2Kernel", version: "0.2.2" };
24
+ AmazonLinux2Kernel[_a] = { fqn: "terraconstructs.aws.compute.AmazonLinux2Kernel", version: "0.2.3" };
25
25
  /**
26
26
  * The latest kernel version currently available in a published AMI.
27
27
  *
@@ -83,5 +83,5 @@ class AmazonLinux2ImageSsmParameter extends common_1.AmazonLinuxImageSsmParamete
83
83
  }
84
84
  exports.AmazonLinux2ImageSsmParameter = AmazonLinux2ImageSsmParameter;
85
85
  _b = JSII_RTTI_SYMBOL_1;
86
- AmazonLinux2ImageSsmParameter[_b] = { fqn: "terraconstructs.aws.compute.AmazonLinux2ImageSsmParameter", version: "0.2.2" };
86
+ AmazonLinux2ImageSsmParameter[_b] = { fqn: "terraconstructs.aws.compute.AmazonLinux2ImageSsmParameter", version: "0.2.3" };
87
87
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLWxpbnV4Mi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9tYWNoaW5lLWltYWdlL2FtYXpvbi1saW51eDIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtSEFBbUg7QUFFbkgscUNBUWtCO0FBRWxCOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUF3QjdCLFlBQTZCLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztJQUVoRDs7T0FFRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNFLENBQUM7O0FBL0JILGdEQWdDQzs7O0FBL0JDOzs7Ozs7O0dBT0c7QUFDb0IsNkJBQVUsR0FBRyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRW5FOzs7OztHQUtHO0FBQ29CLDBCQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUVuRTs7R0FFRztBQUNvQiw4QkFBVyxHQUFHLElBQUksa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7QUF1Q3RFOztHQUVHO0FBQ0gsTUFBYSw2QkFBOEIsU0FBUSx5Q0FBZ0M7SUFDakY7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDNUIsS0FBeUM7UUFFekMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLDJCQUFrQixDQUFDLFFBQVEsQ0FBQztRQUV4RSxNQUFNLEtBQUssR0FBOEI7WUFDdkMsOEJBQXFCLENBQUMsY0FBYztZQUNwQyxLQUFLO1lBQ0wsT0FBTyxLQUFLLDJCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzdELEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLElBQUksd0JBQWUsQ0FBQyxHQUFHO1lBQzNDLEtBQUssQ0FBQyxPQUFPLElBQUksMkJBQWtCLENBQUMsTUFBTTtZQUMxQyxLQUFLLENBQUMsT0FBTyxJQUFJLDJCQUFrQixDQUFDLGVBQWU7U0FDcEQsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyQixPQUFPLHVDQUF1QyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFlBQVksS0FBeUM7UUFDbkQsS0FBSyxDQUFDO1lBQ0osYUFBYSxFQUFFLDZCQUE2QixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUNwRSxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdkNILHNFQXdDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lYzIvbGliL21hY2hpbmUtaW1hZ2UvYW1hem9uLWxpbnV4LTIwMjIudHNcblxuaW1wb3J0IHtcbiAgQW1hem9uTGludXhDcHVUeXBlLFxuICBBbWF6b25MaW51eEVkaXRpb24sXG4gIEFtYXpvbkxpbnV4R2VuZXJhdGlvbixcbiAgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckJhc2UsXG4gIEFtYXpvbkxpbnV4SW1hZ2VTc21QYXJhbWV0ZXJDb21tb25PcHRpb25zLFxuICBBbWF6b25MaW51eFN0b3JhZ2UsXG4gIEFtYXpvbkxpbnV4VmlydCxcbn0gZnJvbSBcIi4vY29tbW9uXCI7XG5cbi8qKlxuICogQW1hem9uIExpbnV4IDIga2VybmVsIHZlcnNpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBBbWF6b25MaW51eDJLZXJuZWwge1xuICAvKipcbiAgICogVGhlIGxhdGVzdCBrZXJuZWwgdmVyc2lvbiBjdXJyZW50bHkgYXZhaWxhYmxlIGluIGEgcHVibGlzaGVkIEFNSS5cbiAgICpcbiAgICogV2hlbiBhIG5ldyBrZXJuZWwgdmVyc2lvbiBpcyBhdmFpbGFibGUgZm9yIGFuIGFtem4yIEFNSSB0aGlzIHdpbGwgYmVcbiAgICogdXBkYXRlZCB0byBjb250YWluIHRoZSBsYXRlc3Qga2VybmVsIHZlcnNpb24gYW5kIHdpbGwgY2F1c2UgeW91ciBpbnN0YW5jZXNcbiAgICogdG8gYmUgcmVwbGFjZWQuIERvIG5vdCBzdG9yZSBzdGF0ZWZ1bCBpbmZvcm1hdGlvbiBvbiB0aGUgaW5zdGFuY2UgaWYgeW91IGFyZVxuICAgKiB1c2luZyB0aGlzIHZlcnNpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENES19MQVRFU1QgPSBuZXcgQW1hem9uTGludXgyS2VybmVsKFwiNS4xMFwiKTtcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQga2VybmVsIHZlcnNpb24gZm9yIEFtYXpvbiBMaW51eCAyIGlzIDQuMTQgYW5kXG4gICAqIExpbnV4IDQuMTQuMzExLTIzMy41MjkuYW16bjIueDg2XzY0XG4gICAqIHRoZSBTU00gcGFyYW1ldGVyIGRvZXMgbm90IGluY2x1ZGUgaXQgaW4gdGhlIG5hbWVcbiAgICogKGkuZS4gL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2Ftem4yLWFtaS1odm0teDg2XzY0LWdwMilcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVCA9IG5ldyBBbWF6b25MaW51eDJLZXJuZWwoXCJkZWZhdWx0XCIpO1xuXG4gIC8qKlxuICAgKiBLZXJuZWwgdmVyc2lvbiA1LjEwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEtFUk5FTF81XzEwID0gbmV3IEFtYXpvbkxpbnV4Mktlcm5lbChcIjUuMTBcIik7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcpIHt9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBrZXJuZWxcbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZlcnNpb24gPT09IFwiZGVmYXVsdFwiID8gdW5kZWZpbmVkIDogYGtlcm5lbC0ke3RoaXMudmVyc2lvbn1gO1xuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBzcGVjaWZpYyB0byBhbXpuMiBpbWFnZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbWF6b25MaW51eDJJbWFnZVNzbVBhcmFtZXRlclByb3BzXG4gIGV4dGVuZHMgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogV2hhdCBzdG9yYWdlIGJhY2tlZCBpbWFnZSB0byB1c2VcbiAgICpcbiAgICogQGRlZmF1bHQgR2VuZXJhbFB1cnBvc2VcbiAgICovXG4gIHJlYWRvbmx5IHN0b3JhZ2U/OiBBbWF6b25MaW51eFN0b3JhZ2U7XG5cbiAgLyoqXG4gICAqIFdoYXQga2VybmVsIHZlcnNpb24gb2YgQW1hem9uIExpbnV4IHRvIHVzZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtXG4gICAqL1xuICByZWFkb25seSBrZXJuZWw/OiBBbWF6b25MaW51eDJLZXJuZWw7XG5cbiAgLyoqXG4gICAqIFZpcnR1YWxpemF0aW9uIHR5cGVcbiAgICpcbiAgICogQGRlZmF1bHQgSFZNXG4gICAqL1xuICByZWFkb25seSB2aXJ0dWFsaXphdGlvbj86IEFtYXpvbkxpbnV4VmlydDtcbn1cblxuLyoqXG4gKiBBIFNTTSBQYXJhbWV0ZXIgdGhhdCBjb250YWlucyB0aGUgQU1JIElEIGZvciBBbWF6b24gTGludXggMlxuICovXG5leHBvcnQgY2xhc3MgQW1hem9uTGludXgySW1hZ2VTc21QYXJhbWV0ZXIgZXh0ZW5kcyBBbWF6b25MaW51eEltYWdlU3NtUGFyYW1ldGVyQmFzZSB7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBTU00gUGFyYW1ldGVyIG5hbWUgZm9yIGEgc3BlY2lmaWMgYW1hem9uIGxpbnV4IDIgQU1JXG4gICAqXG4gICAqIEV4YW1wbGUgdmFsdWVzOlxuICAgKlxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYW16bjItYW1pLWh2bS14ODZfNjQtZWJzXCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbXpuMi1hbWktaHZtLXg4Nl82NC1ncDJcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2Ftem4yLWFtaS1rZXJuZWwtNS4xMC1odm0teDg2XzY0LWVic1wiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYW16bjItYW1pLWh2bS1hcm02NC1ncDJcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2Ftem4yLWFtaS1taW5pbWFsLWh2bS1hcm02NC1lYnNcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2Ftem4yLWFtaS1rZXJuZWwtNS4xMC1odm0tYXJtNjQtZ3AyXCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbXpuMi1hbWkta2VybmVsLTUuMTAtaHZtLXg4Nl82NC1ncDJcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2Ftem4yLWFtaS1taW5pbWFsLWh2bS14ODZfNjQtZWJzXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3NtUGFyYW1ldGVyTmFtZShcbiAgICBwcm9wczogQW1hem9uTGludXgySW1hZ2VTc21QYXJhbWV0ZXJQcm9wcyxcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBlZGl0aW9uID0gKHByb3BzICYmIHByb3BzLmVkaXRpb24pIHx8IEFtYXpvbkxpbnV4RWRpdGlvbi5TVEFOREFSRDtcblxuICAgIGNvbnN0IHBhcnRzOiBBcnJheTxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gW1xuICAgICAgQW1hem9uTGludXhHZW5lcmF0aW9uLkFNQVpPTl9MSU5VWF8yLFxuICAgICAgXCJhbWlcIixcbiAgICAgIGVkaXRpb24gIT09IEFtYXpvbkxpbnV4RWRpdGlvbi5TVEFOREFSRCA/IGVkaXRpb24gOiB1bmRlZmluZWQsXG4gICAgICBwcm9wcy5rZXJuZWw/LnRvU3RyaW5nKCksXG4gICAgICBwcm9wcy52aXJ0dWFsaXphdGlvbiA/PyBBbWF6b25MaW51eFZpcnQuSFZNLFxuICAgICAgcHJvcHMuY3B1VHlwZSA/PyBBbWF6b25MaW51eENwdVR5cGUuWDg2XzY0LFxuICAgICAgcHJvcHMuc3RvcmFnZSA/PyBBbWF6b25MaW51eFN0b3JhZ2UuR0VORVJBTF9QVVJQT1NFLFxuICAgIF0uZmlsdGVyKCh4KSA9PiAhIXgpO1xuXG4gICAgcmV0dXJuIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L1wiICsgcGFydHMuam9pbihcIi1cIik7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcm9wczogQW1hem9uTGludXgySW1hZ2VTc21QYXJhbWV0ZXJQcm9wcykge1xuICAgIHN1cGVyKHtcbiAgICAgIHBhcmFtZXRlck5hbWU6IEFtYXpvbkxpbnV4MkltYWdlU3NtUGFyYW1ldGVyLnNzbVBhcmFtZXRlck5hbWUocHJvcHMpLFxuICAgICAgY2FjaGVkSW5Db250ZXh0OiBwcm9wcy5jYWNoZWRJbkNvbnRleHQsXG4gICAgICB1c2VyRGF0YTogcHJvcHMudXNlckRhdGEsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -22,7 +22,7 @@ class AmazonLinuxImageSsmParameterBase {
22
22
  }
23
23
  exports.AmazonLinuxImageSsmParameterBase = AmazonLinuxImageSsmParameterBase;
24
24
  _a = JSII_RTTI_SYMBOL_1;
25
- AmazonLinuxImageSsmParameterBase[_a] = { fqn: "terraconstructs.aws.compute.AmazonLinuxImageSsmParameterBase", version: "0.2.2" };
25
+ AmazonLinuxImageSsmParameterBase[_a] = { fqn: "terraconstructs.aws.compute.AmazonLinuxImageSsmParameterBase", version: "0.2.3" };
26
26
  /**
27
27
  * What generation of Amazon Linux to use
28
28
  */
@@ -186,7 +186,7 @@ class MachineImage {
186
186
  }
187
187
  exports.MachineImage = MachineImage;
188
188
  _a = JSII_RTTI_SYMBOL_1;
189
- MachineImage[_a] = { fqn: "terraconstructs.aws.compute.MachineImage", version: "0.2.2" };
189
+ MachineImage[_a] = { fqn: "terraconstructs.aws.compute.MachineImage", version: "0.2.3" };
190
190
  /**
191
191
  * Select the image based on a given SSM parameter at deployment time of the CloudFormation Stack.
192
192
  *
@@ -220,7 +220,7 @@ class GenericSSMParameterImage {
220
220
  }
221
221
  exports.GenericSSMParameterImage = GenericSSMParameterImage;
222
222
  _b = JSII_RTTI_SYMBOL_1;
223
- GenericSSMParameterImage[_b] = { fqn: "terraconstructs.aws.compute.GenericSSMParameterImage", version: "0.2.2" };
223
+ GenericSSMParameterImage[_b] = { fqn: "terraconstructs.aws.compute.GenericSSMParameterImage", version: "0.2.3" };
224
224
  /**
225
225
  * Select the image based on a given SSM parameter at instance launch time.
226
226
  *
@@ -256,7 +256,7 @@ class ResolveSsmParameterAtLaunchImage {
256
256
  }
257
257
  exports.ResolveSsmParameterAtLaunchImage = ResolveSsmParameterAtLaunchImage;
258
258
  _c = JSII_RTTI_SYMBOL_1;
259
- ResolveSsmParameterAtLaunchImage[_c] = { fqn: "terraconstructs.aws.compute.ResolveSsmParameterAtLaunchImage", version: "0.2.2" };
259
+ ResolveSsmParameterAtLaunchImage[_c] = { fqn: "terraconstructs.aws.compute.ResolveSsmParameterAtLaunchImage", version: "0.2.3" };
260
260
  /**
261
261
  * Select the image based on a given SSM parameter at deployment time of the CloudFormation Stack.
262
262
  *
@@ -308,7 +308,7 @@ class WindowsImage extends GenericSSMParameterImage {
308
308
  }
309
309
  exports.WindowsImage = WindowsImage;
310
310
  _d = JSII_RTTI_SYMBOL_1;
311
- WindowsImage[_d] = { fqn: "terraconstructs.aws.compute.WindowsImage", version: "0.2.2" };
311
+ WindowsImage[_d] = { fqn: "terraconstructs.aws.compute.WindowsImage", version: "0.2.3" };
312
312
  WindowsImage.DEPRECATED_VERSION_NAME_MAP = {
313
313
  [windows_versions_1.WindowsVersion.WINDOWS_SERVER_2016_GERMAL_FULL_BASE]: windows_versions_1.WindowsVersion.WINDOWS_SERVER_2016_GERMAN_FULL_BASE,
314
314
  [windows_versions_1.WindowsVersion.WINDOWS_SERVER_2012_R2_SP1_PORTUGESE_BRAZIL_64BIT_CORE]: windows_versions_1.WindowsVersion.WINDOWS_SERVER_2012_R2_SP1_PORTUGUESE_BRAZIL_64BIT_CORE,
@@ -398,7 +398,7 @@ class AmazonLinuxImage extends GenericSSMParameterImage {
398
398
  }
399
399
  exports.AmazonLinuxImage = AmazonLinuxImage;
400
400
  _e = JSII_RTTI_SYMBOL_1;
401
- AmazonLinuxImage[_e] = { fqn: "terraconstructs.aws.compute.AmazonLinuxImage", version: "0.2.2" };
401
+ AmazonLinuxImage[_e] = { fqn: "terraconstructs.aws.compute.AmazonLinuxImage", version: "0.2.3" };
402
402
  /**
403
403
  * Amazon Linux Kernel
404
404
  */
@@ -454,7 +454,7 @@ class GenericLinuxImage {
454
454
  }
455
455
  exports.GenericLinuxImage = GenericLinuxImage;
456
456
  _f = JSII_RTTI_SYMBOL_1;
457
- GenericLinuxImage[_f] = { fqn: "terraconstructs.aws.compute.GenericLinuxImage", version: "0.2.2" };
457
+ GenericLinuxImage[_f] = { fqn: "terraconstructs.aws.compute.GenericLinuxImage", version: "0.2.3" };
458
458
  /**
459
459
  * Construct a Windows machine image from an AMI map
460
460
  *
@@ -495,7 +495,7 @@ class GenericWindowsImage {
495
495
  }
496
496
  exports.GenericWindowsImage = GenericWindowsImage;
497
497
  _g = JSII_RTTI_SYMBOL_1;
498
- GenericWindowsImage[_g] = { fqn: "terraconstructs.aws.compute.GenericWindowsImage", version: "0.2.2" };
498
+ GenericWindowsImage[_g] = { fqn: "terraconstructs.aws.compute.GenericWindowsImage", version: "0.2.3" };
499
499
  /**
500
500
  * A machine image whose AMI ID will be searched using DescribeImages.
501
501
  *
@@ -562,5 +562,5 @@ class LookupMachineImage {
562
562
  }
563
563
  exports.LookupMachineImage = LookupMachineImage;
564
564
  _h = JSII_RTTI_SYMBOL_1;
565
- LookupMachineImage[_h] = { fqn: "terraconstructs.aws.compute.LookupMachineImage", version: "0.2.2" };
565
+ LookupMachineImage[_h] = { fqn: "terraconstructs.aws.compute.LookupMachineImage", version: "0.2.3" };
566
566
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFjaGluZS1pbWFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9tYWNoaW5lLWltYWdlL21hY2hpbmUtaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrSUFBK0k7QUFFL0ksc0RBQWlEO0FBU2pELDJEQUk2QjtBQUM3QiwyREFJNkI7QUFDN0IsbURBSXlCO0FBQ3pCLHFDQVNrQjtBQUNsQixtQ0FBc0M7QUFDdEMsK0NBQTJDO0FBQzNDLHFDQUFxQztBQUNyQyw0Q0FBd0M7QUFDeEMsMERBQXFEO0FBRXJEOztHQUVHO0FBQ0gsTUFBc0IsWUFBWTtJQUNoQzs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FDekIsT0FBdUIsRUFDdkIsS0FBeUI7UUFFekIsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsa0JBQWtCLENBQzlCLEtBQTBDO1FBRTFDLE9BQU8sSUFBSSw2Q0FBNkIsQ0FBQztZQUN2QyxlQUFlLEVBQUUsS0FBSztZQUN0QixHQUFHLEtBQUs7WUFDUixNQUFNLEVBQUUsa0NBQWtCLENBQUMsVUFBVTtTQUN0QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLHFCQUFxQixDQUNqQyxLQUE2QztRQUU3QyxPQUFPLElBQUksb0RBQWdDLENBQUM7WUFDMUMsZUFBZSxFQUFFLEtBQUs7WUFDdEIsR0FBRyxLQUFLO1lBQ1IsTUFBTSxFQUFFLHlDQUFxQixDQUFDLFVBQVU7U0FDekMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMscUJBQXFCLENBQ2pDLEtBQTZDO1FBRTdDLE9BQU8sSUFBSSxvREFBZ0MsQ0FBQztZQUMxQyxlQUFlLEVBQUUsS0FBSztZQUN0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OztBQXRESCxnREF1REMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi80MWNkNTcyOTBlMDNlOTI1NmNjNzc0NjZmZDM5ZTdmM2U3YTI5NWI0L3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lYzIvbGliL21hY2hpbmUtaW1hZ2UvbWFjaGluZS1pbWFnZS50c1xuXG5pbXBvcnQgeyBkYXRhQXdzQW1pIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbi8vIGltcG9ydCB7XG4vLyAgIC8vIFRPRE86IFVzZSBHcmlkIGFzIGNvbnRleHRQcm92aWRlclxuLy8gICAvLyBDb250ZXh0UHJvdmlkZXIsXG4vLyAgIC8vIENmbk1hcHBpbmcsXG4vLyAgIC8vIEF3cyxcbi8vICAgVG9rZW4sXG4vLyB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFtYXpvbkxpbnV4MjAyMkltYWdlU3NtUGFyYW1ldGVyLFxuICBBbWF6b25MaW51eDIwMjJJbWFnZVNzbVBhcmFtZXRlclByb3BzLFxuICBBbWF6b25MaW51eDIwMjJLZXJuZWwsXG59IGZyb20gXCIuL2FtYXpvbi1saW51eC0yMDIyXCI7XG5pbXBvcnQge1xuICBBbWF6b25MaW51eDIwMjNJbWFnZVNzbVBhcmFtZXRlcixcbiAgQW1hem9uTGludXgyMDIzSW1hZ2VTc21QYXJhbWV0ZXJQcm9wcyxcbiAgQW1hem9uTGludXgyMDIzS2VybmVsLFxufSBmcm9tIFwiLi9hbWF6b24tbGludXgtMjAyM1wiO1xuaW1wb3J0IHtcbiAgQW1hem9uTGludXgySW1hZ2VTc21QYXJhbWV0ZXIsXG4gIEFtYXpvbkxpbnV4MkltYWdlU3NtUGFyYW1ldGVyUHJvcHMsXG4gIEFtYXpvbkxpbnV4Mktlcm5lbCxcbn0gZnJvbSBcIi4vYW1hem9uLWxpbnV4MlwiO1xuaW1wb3J0IHtcbiAgQW1hem9uTGludXhDcHVUeXBlLFxuICBBbWF6b25MaW51eEVkaXRpb24sXG4gIEFtYXpvbkxpbnV4R2VuZXJhdGlvbixcbiAgQW1hem9uTGludXhTdG9yYWdlLFxuICBBbWF6b25MaW51eFZpcnQsXG4gIElNYWNoaW5lSW1hZ2UsXG4gIE1hY2hpbmVJbWFnZUNvbmZpZyxcbiAgT3BlcmF0aW5nU3lzdGVtVHlwZSxcbn0gZnJvbSBcIi4vY29tbW9uXCI7XG5pbXBvcnQgeyBsb29rdXBJbWFnZSB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi8uLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCAqIGFzIHNzbSBmcm9tIFwiLi4vLi4vc3RvcmFnZVwiO1xuaW1wb3J0IHsgVXNlckRhdGEgfSBmcm9tIFwiLi4vdXNlci1kYXRhXCI7XG5pbXBvcnQgeyBXaW5kb3dzVmVyc2lvbiB9IGZyb20gXCIuLi93aW5kb3dzLXZlcnNpb25zXCI7XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbnMgZm9yIHN0YW5kYXJkIEFtYXpvbiBNYWNoaW5lIEltYWdlIG9iamVjdHMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNYWNoaW5lSW1hZ2Uge1xuICAvKipcbiAgICogQSBXaW5kb3dzIGltYWdlIHRoYXQgaXMgYXV0b21hdGljYWxseSBrZXB0IHVwLXRvLWRhdGVcbiAgICpcbiAgICogVGhpcyBNYWNoaW5lIEltYWdlIGF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb24gZXZlcnlcbiAgICogZGVwbG95bWVudC4gQmUgYXdhcmUgdGhpcyB3aWxsIGNhdXNlIHlvdXIgaW5zdGFuY2VzIHRvIGJlIHJlcGxhY2VkIHdoZW4gYVxuICAgKiBuZXcgdmVyc2lvbiBvZiB0aGUgaW1hZ2UgYmVjb21lcyBhdmFpbGFibGUuIERvIG5vdCBzdG9yZSBzdGF0ZWZ1bCBpbmZvcm1hdGlvblxuICAgKiBvbiB0aGUgaW5zdGFuY2UgaWYgeW91IGFyZSB1c2luZyB0aGlzIGltYWdlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsYXRlc3RXaW5kb3dzKFxuICAgIHZlcnNpb246IFdpbmRvd3NWZXJzaW9uLFxuICAgIHByb3BzPzogV2luZG93c0ltYWdlUHJvcHMsXG4gICk6IElNYWNoaW5lSW1hZ2Uge1xuICAgIHJldHVybiBuZXcgV2luZG93c0ltYWdlKHZlcnNpb24sIHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBBbWF6b24gTGludXggMiBpbWFnZSB0aGF0IGlzIGF1dG9tYXRpY2FsbHkga2VwdCB1cC10by1kYXRlXG4gICAqXG4gICAqIFRoaXMgTWFjaGluZSBJbWFnZSBhdXRvbWF0aWNhbGx5IHVwZGF0ZXMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9uIGV2ZXJ5XG4gICAqIGRlcGxveW1lbnQuIEJlIGF3YXJlIHRoaXMgd2lsbCBjYXVzZSB5b3VyIGluc3RhbmNlcyB0byBiZSByZXBsYWNlZCB3aGVuIGFcbiAgICogbmV3IHZlcnNpb24gb2YgdGhlIGltYWdlIGJlY29tZXMgYXZhaWxhYmxlLiBEbyBub3Qgc3RvcmUgc3RhdGVmdWwgaW5mb3JtYXRpb25cbiAgICogb24gdGhlIGluc3RhbmNlIGlmIHlvdSBhcmUgdXNpbmcgdGhpcyBpbWFnZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbGF0ZXN0QW1hem9uTGludXgyKFxuICAgIHByb3BzPzogQW1hem9uTGludXgySW1hZ2VTc21QYXJhbWV0ZXJQcm9wcyxcbiAgKTogSU1hY2hpbmVJbWFnZSB7XG4gICAgcmV0dXJuIG5ldyBBbWF6b25MaW51eDJJbWFnZVNzbVBhcmFtZXRlcih7XG4gICAgICBjYWNoZWRJbkNvbnRleHQ6IGZhbHNlLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBrZXJuZWw6IEFtYXpvbkxpbnV4Mktlcm5lbC5DREtfTEFURVNULFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIEFtYXpvbiBMaW51eCAyMDIyIGltYWdlIHRoYXQgaXMgYXV0b21hdGljYWxseSBrZXB0IHVwLXRvLWRhdGVcbiAgICpcbiAgICogVGhpcyBNYWNoaW5lIEltYWdlIGF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb24gZXZlcnlcbiAgICogZGVwbG95bWVudC4gQmUgYXdhcmUgdGhpcyB3aWxsIGNhdXNlIHlvdXIgaW5zdGFuY2VzIHRvIGJlIHJlcGxhY2VkIHdoZW4gYVxuICAgKiBuZXcgdmVyc2lvbiBvZiB0aGUgaW1hZ2UgYmVjb21lcyBhdmFpbGFibGUuIERvIG5vdCBzdG9yZSBzdGF0ZWZ1bCBpbmZvcm1hdGlvblxuICAgKiBvbiB0aGUgaW5zdGFuY2UgaWYgeW91IGFyZSB1c2luZyB0aGlzIGltYWdlLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCAtIHVzZSBsYXRlc3RBbWF6b25MaW51eDIwMjMoKSBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxhdGVzdEFtYXpvbkxpbnV4MjAyMihcbiAgICBwcm9wcz86IEFtYXpvbkxpbnV4MjAyMkltYWdlU3NtUGFyYW1ldGVyUHJvcHMsXG4gICk6IElNYWNoaW5lSW1hZ2Uge1xuICAgIHJldHVybiBuZXcgQW1hem9uTGludXgyMDIySW1hZ2VTc21QYXJhbWV0ZXIoe1xuICAgICAgY2FjaGVkSW5Db250ZXh0OiBmYWxzZSxcbiAgICAgIC4uLnByb3BzLFxuICAgICAga2VybmVsOiBBbWF6b25MaW51eDIwMjJLZXJuZWwuQ0RLX0xBVEVTVCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBBbWF6b24gTGludXggMjAyMyBpbWFnZSB0aGF0IGlzIGF1dG9tYXRpY2FsbHkga2VwdCB1cC10by1kYXRlXG4gICAqXG4gICAqIFRoaXMgTWFjaGluZSBJbWFnZSBhdXRvbWF0aWNhbGx5IHVwZGF0ZXMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9uIGV2ZXJ5XG4gICAqIGRlcGxveW1lbnQuIEJlIGF3YXJlIHRoaXMgd2lsbCBjYXVzZSB5b3VyIGluc3RhbmNlcyB0byBiZSByZXBsYWNlZCB3aGVuIGFcbiAgICogbmV3IHZlcnNpb24gb2YgdGhlIGltYWdlIGJlY29tZXMgYXZhaWxhYmxlLiBEbyBub3Qgc3RvcmUgc3RhdGVmdWwgaW5mb3JtYXRpb25cbiAgICogb24gdGhlIGluc3RhbmNlIGlmIHlvdSBhcmUgdXNpbmcgdGhpcyBpbWFnZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbGF0ZXN0QW1hem9uTGludXgyMDIzKFxuICAgIHByb3BzPzogQW1hem9uTGludXgyMDIzSW1hZ2VTc21QYXJhbWV0ZXJQcm9wcyxcbiAgKTogSU1hY2hpbmVJbWFnZSB7XG4gICAgcmV0dXJuIG5ldyBBbWF6b25MaW51eDIwMjNJbWFnZVNzbVBhcmFtZXRlcih7XG4gICAgICBjYWNoZWRJbkNvbnRleHQ6IGZhbHNlLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBrZXJuZWw6IEFtYXpvbkxpbnV4MjAyM0tlcm5lbC5DREtfTEFURVNULFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIEFtYXpvbiBMaW51eCBpbWFnZSB0aGF0IGlzIGF1dG9tYXRpY2FsbHkga2VwdCB1cC10by1kYXRlXG4gICAqXG4gICAqIFRoaXMgTWFjaGluZSBJbWFnZSBhdXRvbWF0aWNhbGx5IHVwZGF0ZXMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9uIGV2ZXJ5XG4gICAqIGRlcGxveW1lbnQuIEJlIGF3YXJlIHRoaXMgd2lsbCBjYXVzZSB5b3VyIGluc3RhbmNlcyB0byBiZSByZXBsYWNlZCB3aGVuIGFcbiAgICogbmV3IHZlcnNpb24gb2YgdGhlIGltYWdlIGJlY29tZXMgYXZhaWxhYmxlLiBEbyBub3Qgc3RvcmUgc3RhdGVmdWwgaW5mb3JtYXRpb25cbiAgICogb24gdGhlIGluc3RhbmNlIGlmIHlvdSBhcmUgdXNpbmcgdGhpcyBpbWFnZS5cbiAgICpcbiAgICogTi5CLjogXCJsYXRlc3RcIiBpbiB0aGUgbmFtZSBvZiB0aGlzIGZ1bmN0aW9uIGluZGljYXRlcyB0aGF0IGl0IGFsd2F5cyB1c2VzIHRoZSBtb3N0IHJlY2VudFxuICAgKiBpbWFnZSBvZiBhIHBhcnRpY3VsYXIgZ2VuZXJhdGlvbiBvZiBBbWF6b24gTGludXgsIG5vdCB0aGF0IGl0IHVzZXMgdGhlIFwibGF0ZXN0IGdlbmVyYXRpb25cIi5cbiAgICogRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0aGlzIGZ1bmN0aW9uIHVzZXMgQW1hem9uIExpbnV4IDEgaWYgbm8gZ2VuZXJhdGlvblxuICAgKiBpcyBzcGVjaWZpZWQuXG4gICAqXG4gICAqIFNwZWNpZnkgdGhlIGRlc2lyZWQgZ2VuZXJhdGlvbiB1c2luZyB0aGUgYGdlbmVyYXRpb25gIHByb3BlcnR5OlxuICAgKlxuICAgKiBgYGB0c1xuICAgKiBjb21wdXRlLk1hY2hpbmVJbWFnZS5sYXRlc3RBbWF6b25MaW51eCh7XG4gICAqICAgLy8gVXNlIEFtYXpvbiBMaW51eCAyXG4gICAqICAgZ2VuZXJhdGlvbjogZWMyLkFtYXpvbkxpbnV4R2VuZXJhdGlvbi5BTUFaT05fTElOVVhfMixcbiAgICogfSlcbiAgICogYGBgXG4gICAqIEBkZXByZWNhdGVkIHVzZSBNYWNoaW5lSW1hZ2UubGF0ZXN0QW1hem9uTGludXgyIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbGF0ZXN0QW1hem9uTGludXgoXG4gICAgcHJvcHM/OiBBbWF6b25MaW51eEltYWdlUHJvcHMsXG4gICk6IElNYWNoaW5lSW1hZ2Uge1xuICAgIHJldHVybiBuZXcgQW1hem9uTGludXhJbWFnZShwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQSBMaW51eCBpbWFnZSB3aGVyZSB5b3Ugc3BlY2lmeSB0aGUgQU1JIElEIGZvciBldmVyeSByZWdpb25cbiAgICpcbiAgICogQHBhcmFtIGFtaU1hcCBGb3IgZXZlcnkgcmVnaW9uIHdoZXJlIHlvdSBhcmUgZGVwbG95aW5nIHRoZSBzdGFjayxcbiAgICogc3BlY2lmeSB0aGUgQU1JIElEIGZvciB0aGF0IHJlZ2lvbi5cbiAgICogQHBhcmFtIHByb3BzIEN1c3RvbWl6ZSB0aGUgaW1hZ2UgYnkgc3VwcGx5aW5nIGFkZGl0aW9uYWwgcHJvcHNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJpY0xpbnV4KFxuICAgIGFtaU1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICBwcm9wcz86IEdlbmVyaWNMaW51eEltYWdlUHJvcHMsXG4gICk6IElNYWNoaW5lSW1hZ2Uge1xuICAgIHJldHVybiBuZXcgR2VuZXJpY0xpbnV4SW1hZ2UoYW1pTWFwLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQSBXaW5kb3dzIGltYWdlIHdoZXJlIHlvdSBzcGVjaWZ5IHRoZSBBTUkgSUQgZm9yIGV2ZXJ5IHJlZ2lvblxuICAgKlxuICAgKiBAcGFyYW0gYW1pTWFwIEZvciBldmVyeSByZWdpb24gd2hlcmUgeW91IGFyZSBkZXBsb3lpbmcgdGhlIHN0YWNrLFxuICAgKiBzcGVjaWZ5IHRoZSBBTUkgSUQgZm9yIHRoYXQgcmVnaW9uLlxuICAgKiBAcGFyYW0gcHJvcHMgQ3VzdG9taXplIHRoZSBpbWFnZSBieSBzdXBwbHlpbmcgYWRkaXRpb25hbCBwcm9wc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZW5lcmljV2luZG93cyhcbiAgICBhbWlNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgcHJvcHM/OiBHZW5lcmljV2luZG93c0ltYWdlUHJvcHMsXG4gICk6IElNYWNoaW5lSW1hZ2Uge1xuICAgIHJldHVybiBuZXcgR2VuZXJpY1dpbmRvd3NJbWFnZShhbWlNYXAsIHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBpbWFnZSBzcGVjaWZpZWQgaW4gU1NNIHBhcmFtZXRlciBzdG9yZSB0aGF0IGlzIGF1dG9tYXRpY2FsbHkga2VwdCB1cC10by1kYXRlXG4gICAqXG4gICAqIFRoaXMgTWFjaGluZSBJbWFnZSBhdXRvbWF0aWNhbGx5IHVwZGF0ZXMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9uIGV2ZXJ5XG4gICAqIGRlcGxveW1lbnQuIEJlIGF3YXJlIHRoaXMgd2lsbCBjYXVzZSB5b3VyIGluc3RhbmNlcyB0byBiZSByZXBsYWNlZCB3aGVuIGFcbiAgICogbmV3IHZlcnNpb24gb2YgdGhlIGltYWdlIGJlY29tZXMgYXZhaWxhYmxlLiBEbyBub3Qgc3RvcmUgc3RhdGVmdWwgaW5mb3JtYXRpb25cbiAgICogb24gdGhlIGluc3RhbmNlIGlmIHlvdSBhcmUgdXNpbmcgdGhpcyBpbWFnZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtZXRlck5hbWUgVGhlIG5hbWUgb2YgU1NNIHBhcmFtZXRlciBjb250YWluaW5nIHRoZSBBTWkgaWRcbiAgICogQHBhcmFtIG9zIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHR5cGUgb2YgdGhlIEFNSVxuICAgKiBAcGFyYW0gdXNlckRhdGEgb3B0aW9uYWwgdXNlciBkYXRhIGZvciB0aGUgZ2l2ZW4gaW1hZ2VcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBNYWNoaW5lSW1hZ2UuZnJvbVNzbVBhcmFtZXRlcigpYCBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TU01QYXJhbWV0ZXIoXG4gICAgcGFyYW1ldGVyTmFtZTogc3RyaW5nLFxuICAgIG9zOiBPcGVyYXRpbmdTeXN0ZW1UeXBlLFxuICAgIHVzZXJEYXRhPzogVXNlckRhdGEsXG4gICk6IElNYWNoaW5lSW1hZ2Uge1xuICAgIHJldHVybiBuZXcgR2VuZXJpY1NTTVBhcmFtZXRlckltYWdlKHBhcmFtZXRlck5hbWUsIG9zLCB1c2VyRGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQW4gaW1hZ2Ugc3BlY2lmaWVkIGluIFNTTSBwYXJhbWV0ZXIgc3RvcmVcbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhlIFNTTSBwYXJhbWV0ZXIgaXMgcmVmcmVzaGVkIGF0IGV2ZXJ5IGRlcGxveW1lbnQsXG4gICAqIGNhdXNpbmcgeW91ciBpbnN0YW5jZXMgdG8gYmUgcmVwbGFjZWQgd2hlbmV2ZXIgYSBuZXcgdmVyc2lvbiBvZiB0aGUgQU1JXG4gICAqIGlzIHJlbGVhc2VkLlxuICAgKlxuICAgKiBQYXNzIGB7IGNhY2hlZEluQ29udGV4dDogdHJ1ZSB9YCB0byBrZWVwIHRoZSBBTUkgSUQgc3RhYmxlLiBJZiB5b3UgZG8sIHlvdVxuICAgKiB3aWxsIGhhdmUgdG8gcmVtZW1iZXIgdG8gcGVyaW9kaWNhbGx5IGludmFsaWRhdGUgdGhlIGNvbnRleHQgdG8gcmVmcmVzaFxuICAgKiB0byB0aGUgbmV3ZXN0IEFNSSBJRC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVNzbVBhcmFtZXRlcihcbiAgICBwYXJhbWV0ZXJOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IFNzbVBhcmFtZXRlckltYWdlT3B0aW9ucyxcbiAgKTogSU1hY2hpbmVJbWFnZSB7XG4gICAgcmV0dXJuIG5ldyBHZW5lcmljU3NtUGFyYW1ldGVySW1hZ2UocGFyYW1ldGVyTmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQW4gaW1hZ2Ugc3BlY2lmaWVkIGluIFNTTSBwYXJhbWV0ZXIgc3RvcmUgdGhhdCB3aWxsIGJlIHJlc29sdmVkIGF0IGluc3RhbmNlIGxhdW5jaCB0aW1lLlxuICAgKlxuICAgKiBUaGUgQU1JIElEIHdpbGwgYmUgcmVzb2x2ZWQgYXQgaW5zdGFuY2UgbGF1bmNoIHRpbWUuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJOYW1lIFRoZSBuYW1lIG9mIFNTTSBwYXJhbWV0ZXIgY29udGFpbmluZyB0aGUgQU1JIElEXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBwYXJhbWV0ZXIgaW1hZ2Ugb3B0aW9uc1xuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdXRvc2NhbGluZy9lYzIvdXNlcmd1aWRlL3VzaW5nLXN5c3RlbXMtbWFuYWdlci1wYXJhbWV0ZXJzLmh0bWxcbiAgICpcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVzb2x2ZVNzbVBhcmFtZXRlckF0TGF1bmNoKFxuICAgIHBhcmFtZXRlck5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogU3NtUGFyYW1ldGVySW1hZ2VPcHRpb25zLFxuICApOiBJTWFjaGluZUltYWdlIHtcbiAgICByZXR1cm4gbmV3IFJlc29sdmVTc21QYXJhbWV0ZXJBdExhdW5jaEltYWdlKHBhcmFtZXRlck5hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvb2sgdXAgYSBzaGFyZWQgTWFjaGluZSBJbWFnZSB1c2luZyBEZXNjcmliZUltYWdlc1xuICAgKlxuICAgKiBUaGUgbW9zdCByZWNlbnQsIGF2YWlsYWJsZSwgbGF1bmNoYWJsZSBpbWFnZSBtYXRjaGluZyB0aGUgZ2l2ZW4gZmlsdGVyXG4gICAqIGNyaXRlcmlhIHdpbGwgYmUgdXNlZC4gTG9va2luZyB1cCBBTUlzIG1heSB0YWtlIGEgbG9uZyB0aW1lOyBzcGVjaWZ5XG4gICAqIGFzIG1hbnkgZmlsdGVyIGNyaXRlcmlhIGFzIHBvc3NpYmxlIHRvIG5hcnJvdyBkb3duIHRoZSBzZWFyY2guXG4gICAqXG4gICAqIFRoZSBBTUkgc2VsZWN0ZWQgd2lsbCBiZSBjYWNoZWQgaW4gYGNkay5jb250ZXh0Lmpzb25gIGFuZCB0aGUgc2FtZSB2YWx1ZVxuICAgKiB3aWxsIGJlIHVzZWQgb24gZnV0dXJlIHJ1bnMuIFRvIHJlZnJlc2ggdGhlIEFNSSBsb29rdXAsIHlvdSB3aWxsIGhhdmUgdG9cbiAgICogZXZpY3QgdGhlIHZhbHVlIGZyb20gdGhlIGNhY2hlIHVzaW5nIHRoZSBgY2RrIGNvbnRleHRgIGNvbW1hbmQuIFNlZVxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2RrL2xhdGVzdC9ndWlkZS9jb250ZXh0Lmh0bWwgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gY2FuIG5vdCBiZSB1c2VkIGluIGVudmlyb25tZW50LWFnbm9zdGljIHN0YWNrcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbG9va3VwKHByb3BzOiBMb29rdXBNYWNoaW5lSW1hZ2VQcm9wcyk6IElNYWNoaW5lSW1hZ2Uge1xuICAgIHJldHVybiBuZXcgTG9va3VwTWFjaGluZUltYWdlKHByb3BzKTtcbiAgfVxufVxuXG4vKipcbiAqIFNlbGVjdCB0aGUgaW1hZ2UgYmFzZWQgb24gYSBnaXZlbiBTU00gcGFyYW1ldGVyIGF0IGRlcGxveW1lbnQgdGltZSBvZiB0aGUgQ2xvdWRGb3JtYXRpb24gU3RhY2suXG4gKlxuICogVGhpcyBNYWNoaW5lIEltYWdlIGF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb24gZXZlcnlcbiAqIGRlcGxveW1lbnQuIEJlIGF3YXJlIHRoaXMgd2lsbCBjYXVzZSB5b3VyIGluc3RhbmNlcyB0byBiZSByZXBsYWNlZCB3aGVuIGFcbiAqIG5ldyB2ZXJzaW9uIG9mIHRoZSBpbWFnZSBiZWNvbWVzIGF2YWlsYWJsZS4gRG8gbm90IHN0b3JlIHN0YXRlZnVsIGluZm9ybWF0aW9uXG4gKiBvbiB0aGUgaW5zdGFuY2UgaWYgeW91IGFyZSB1c2luZyB0aGlzIGltYWdlLlxuICpcbiAqIFRoZSBBTUkgSUQgaXMgc2VsZWN0ZWQgdXNpbmcgdGhlIHZhbHVlcyBwdWJsaXNoZWQgdG8gdGhlIFNTTSBwYXJhbWV0ZXIgc3RvcmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBHZW5lcmljU1NNUGFyYW1ldGVySW1hZ2UgaW1wbGVtZW50cyBJTWFjaGluZUltYWdlIHtcbiAgLy8gRklYTUU6IHRoaXMgY2xhc3Mgb3VnaHQgdG8gYmUgYEBkZXByZWNhdGVkYCBhbmQgcmVtb3ZlZCBmcm9tIHYyLCBidXQgdGhhdFxuICAvLyBpcyBjYXVzaW5nIGJ1aWxkIGZhaWx1cmUgcmlnaHQgbm93LiBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvanNpaS9pc3N1ZXMvMzAyNVxuICAvLyBALWRlcHJlY2F0ZWQgVXNlIGBNYWNoaW5lSW1hZ2UuZnJvbVNzbVBhcmFtZXRlcigpYCBpbnN0ZWFkXG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIFNTTSBwYXJhbWV0ZXIgd2UncmUgbG9va2luZyB1cFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhcmFtZXRlck5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwYXJhbWV0ZXJOYW1lOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvczogT3BlcmF0aW5nU3lzdGVtVHlwZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJEYXRhPzogVXNlckRhdGEsXG4gICkge1xuICAgIHRoaXMucGFyYW1ldGVyTmFtZSA9IHBhcmFtZXRlck5hbWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBpbWFnZSB0byB1c2UgaW4gdGhlIGdpdmVuIGNvbnRleHRcbiAgICovXG4gIHB1YmxpYyBnZXRJbWFnZShzY29wZTogQ29uc3RydWN0KTogTWFjaGluZUltYWdlQ29uZmlnIHtcbiAgICBjb25zdCBhbWkgPSBzc20uU3RyaW5nUGFyYW1ldGVyLnZhbHVlRm9yVHlwZWRTdHJpbmdQYXJhbWV0ZXJWMihcbiAgICAgIHNjb3BlLFxuICAgICAgdGhpcy5wYXJhbWV0ZXJOYW1lLFxuICAgICAgc3NtLlBhcmFtZXRlclZhbHVlVHlwZS5BV1NfRUMyX0lNQUdFX0lELFxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGltYWdlSWQ6IGFtaSxcbiAgICAgIG9zVHlwZTogdGhpcy5vcyxcbiAgICAgIHVzZXJEYXRhOlxuICAgICAgICB0aGlzLnVzZXJEYXRhID8/XG4gICAgICAgICh0aGlzLm9zID09PSBPcGVyYXRpbmdTeXN0ZW1UeXBlLldJTkRPV1NcbiAgICAgICAgICA/IFVzZXJEYXRhLmZvcldpbmRvd3MoKVxuICAgICAgICAgIDogVXNlckRhdGEuZm9yTGludXgoKSksXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFNlbGVjdCB0aGUgaW1hZ2UgYmFzZWQgb24gYSBnaXZlbiBTU00gcGFyYW1ldGVyIGF0IGluc3RhbmNlIGxhdW5jaCB0aW1lLlxuICpcbiAqIFRoaXMgTWFjaGluZSBJbWFnZSBjb21lcyB3aXRoIGFuIGltYWdlSWQgYXMgYHJlc29sdmU6c3NtOnBhcmFtZXRlci1uYW1lYCBvciBgcmVzb2x2ZTpzc206cGFyYW1ldGVyLW5hbWU6dmVyc2lvbmAgZm9ybWF0XG4gKiBhcyBkZXNjcmliZWQgaW4gdGhlIGRvY3VtZW50OlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F1dG9zY2FsaW5nL2VjMi91c2VyZ3VpZGUvdXNpbmctc3lzdGVtcy1tYW5hZ2VyLXBhcmFtZXRlcnMuaHRtbFxuICpcbiAqIFRoZSBBTUkgSUQgd291bGQgYmUgc2VsZWN0ZWQgYXQgaW5zdGFuY2UgbGF1bmNoIHRpbWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNvbHZlU3NtUGFyYW1ldGVyQXRMYXVuY2hJbWFnZSBpbXBsZW1lbnRzIElNYWNoaW5lSW1hZ2Uge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgU1NNIHBhcmFtZXRlciB3ZSdyZSBsb29raW5nIHVwXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGFyYW1ldGVyTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHBhcmFtZXRlck5hbWU6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBTc21QYXJhbWV0ZXJJbWFnZU9wdGlvbnMgPSB7fSxcbiAgKSB7XG4gICAgdGhpcy5wYXJhbWV0ZXJOYW1lID0gcGFyYW1ldGVyTmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGltYWdlIHRvIHVzZSBpbiB0aGUgZ2l2ZW4gY29udGV4dFxuICAgKi9cbiAgcHVibGljIGdldEltYWdlKF86IENvbnN0cnVjdCk6IE1hY2hpbmVJbWFnZUNvbmZpZyB7XG4gICAgY29uc3QgdmVyc2lvblN0cmluZyA9IHRoaXMucHJvcHMucGFyYW1ldGVyVmVyc2lvblxuICAgICAgPyBgOiR7dGhpcy5wcm9wcy5wYXJhbWV0ZXJWZXJzaW9ufWBcbiAgICAgIDogXCJcIjtcbiAgICBjb25zdCBvc1R5cGUgPSB0aGlzLnByb3BzLm9zID8/IE9wZXJhdGluZ1N5c3RlbVR5cGUuTElOVVg7XG4gICAgcmV0dXJuIHtcbiAgICAgIGltYWdlSWQ6IGByZXNvbHZlOnNzbToke3RoaXMucGFyYW1ldGVyTmFtZX0ke3ZlcnNpb25TdHJpbmd9YCxcbiAgICAgIG9zVHlwZSxcbiAgICAgIHVzZXJEYXRhOlxuICAgICAgICB0aGlzLnByb3BzLnVzZXJEYXRhID8/XG4gICAgICAgIChvc1R5cGUgPT09IE9wZXJhdGluZ1N5c3RlbVR5cGUuV0lORE9XU1xuICAgICAgICAgID8gVXNlckRhdGEuZm9yV2luZG93cygpXG4gICAgICAgICAgOiBVc2VyRGF0YS5mb3JMaW51eCgpKSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgR2VuZXJpY1NzbVBhcmFtZXRlckltYWdlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3NtUGFyYW1ldGVySW1hZ2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIE9wZXJhdGluZyBzeXN0ZW1cbiAgICpcbiAgICogQGRlZmF1bHQgT3BlcmF0aW5nU3lzdGVtVHlwZS5MSU5VWFxuICAgKi9cbiAgcmVhZG9ubHkgb3M/OiBPcGVyYXRpbmdTeXN0ZW1UeXBlO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gVXNlckRhdGFcbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2VyRGF0YSBhcHByb3ByaWF0ZSBmb3IgdGhlIE9TXG4gICAqL1xuICByZWFkb25seSB1c2VyRGF0YT86IFVzZXJEYXRhO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBBTUkgSUQgaXMgY2FjaGVkIHRvIGJlIHN0YWJsZSBiZXR3ZWVuIGRlcGxveW1lbnRzXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBuZXdlc3QgaW1hZ2UgaXMgdXNlZCBvbiBlYWNoIGRlcGxveW1lbnQuIFRoaXMgd2lsbCBjYXVzZVxuICAgKiBpbnN0YW5jZXMgdG8gYmUgcmVwbGFjZWQgd2hlbmV2ZXIgYSBuZXcgdmVyc2lvbiBpcyByZWxlYXNlZCwgYW5kIG1heSBjYXVzZVxuICAgKiBkb3dudGltZSBpZiB0aGVyZSBhcmVuJ3QgZW5vdWdoIHJ1bm5pbmcgaW5zdGFuY2VzIGluIHRoZSBBdXRvU2NhbGluZ0dyb3VwXG4gICAqIHRvIHJlc2NoZWR1bGUgdGhlIHRhc2tzIG9uLlxuICAgKlxuICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIEFNSSBJRCB3aWxsIGJlIGNhY2hlZCBpbiBgY2RrLmNvbnRleHQuanNvbmAgYW5kIHRoZVxuICAgKiBzYW1lIHZhbHVlIHdpbGwgYmUgdXNlZCBvbiBmdXR1cmUgcnVucy4gWW91ciBpbnN0YW5jZXMgd2lsbCBub3QgYmUgcmVwbGFjZWRcbiAgICogYnV0IHlvdXIgQU1JIHZlcnNpb24gd2lsbCBncm93IG9sZCBvdmVyIHRpbWUuIFRvIHJlZnJlc2ggdGhlIEFNSSBsb29rdXAsXG4gICAqIHlvdSB3aWxsIGhhdmUgdG8gZXZpY3QgdGhlIHZhbHVlIGZyb20gdGhlIGNhY2hlIHVzaW5nIHRoZSBgY2RrIGNvbnRleHRgXG4gICAqIGNvbW1hbmQuIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2RrL2xhdGVzdC9ndWlkZS9jb250ZXh0Lmh0bWwgZm9yXG4gICAqIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIENhbiBub3QgYmUgc2V0IHRvIGB0cnVlYCBpbiBlbnZpcm9ubWVudC1hZ25vc3RpYyBzdGFja3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjYWNoZWRJbkNvbnRleHQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgU1NNIHBhcmFtZXRlci5cbiAgICpcbiAgICogQGRlZmF1bHQgbm8gdmVyc2lvbiBzcGVjaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBwYXJhbWV0ZXJWZXJzaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNlbGVjdCB0aGUgaW1hZ2UgYmFzZWQgb24gYSBnaXZlbiBTU00gcGFyYW1ldGVyIGF0IGRlcGxveW1lbnQgdGltZSBvZiB0aGUgQ2xvdWRGb3JtYXRpb24gU3RhY2suXG4gKlxuICogVGhpcyBNYWNoaW5lIEltYWdlIGF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb24gZXZlcnlcbiAqIGRlcGxveW1lbnQuIEJlIGF3YXJlIHRoaXMgd2lsbCBjYXVzZSB5b3VyIGluc3RhbmNlcyB0byBiZSByZXBsYWNlZCB3aGVuIGFcbiAqIG5ldyB2ZXJzaW9uIG9mIHRoZSBpbWFnZSBiZWNvbWVzIGF2YWlsYWJsZS4gRG8gbm90IHN0b3JlIHN0YXRlZnVsIGluZm9ybWF0aW9uXG4gKiBvbiB0aGUgaW5zdGFuY2UgaWYgeW91IGFyZSB1c2luZyB0aGlzIGltYWdlLlxuICpcbiAqIFRoZSBBTUkgSUQgaXMgc2VsZWN0ZWQgdXNpbmcgdGhlIHZhbHVlcyBwdWJsaXNoZWQgdG8gdGhlIFNTTSBwYXJhbWV0ZXIgc3RvcmUuXG4gKi9cbmNsYXNzIEdlbmVyaWNTc21QYXJhbWV0ZXJJbWFnZSBpbXBsZW1lbnRzIElNYWNoaW5lSW1hZ2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhcmFtZXRlck5hbWU6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBTc21QYXJhbWV0ZXJJbWFnZU9wdGlvbnMgPSB7fSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGltYWdlIHRvIHVzZSBpbiB0aGUgZ2l2ZW4gY29udGV4dFxuICAgKi9cbiAgcHVibGljIGdldEltYWdlKHNjb3BlOiBDb25zdHJ1Y3QpOiBNYWNoaW5lSW1hZ2VDb25maWcge1xuICAgIGNvbnN0IGltYWdlSWQgPSBsb29rdXBJbWFnZShcbiAgICAgIHNjb3BlLFxuICAgICAgdGhpcy5wcm9wcy5jYWNoZWRJbkNvbnRleHQsXG4gICAgICB0aGlzLnBhcmFtZXRlck5hbWUsXG4gICAgKTtcblxuICAgIGNvbnN0IG9zVHlwZSA9IHRoaXMucHJvcHMub3MgPz8gT3BlcmF0aW5nU3lzdGVtVHlwZS5MSU5VWDtcbiAgICByZXR1cm4ge1xuICAgICAgaW1hZ2VJZCxcbiAgICAgIG9zVHlwZSxcbiAgICAgIHVzZXJEYXRhOlxuICAgICAgICB0aGlzLnByb3BzLnVzZXJEYXRhID8/XG4gICAgICAgIChvc1R5cGUgPT09IE9wZXJhdGluZ1N5c3RlbVR5cGUuV0lORE9XU1xuICAgICAgICAgID8gVXNlckRhdGEuZm9yV2luZG93cygpXG4gICAgICAgICAgOiBVc2VyRGF0YS5mb3JMaW51eCgpKSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBXaW5kb3dzSW1hZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXaW5kb3dzSW1hZ2VQcm9wcyB7XG4gIC8qKlxuICAgKiBJbml0aWFsIHVzZXIgZGF0YVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEVtcHR5IFVzZXJEYXRhIGZvciBXaW5kb3dzIG1hY2hpbmVzXG4gICAqL1xuICByZWFkb25seSB1c2VyRGF0YT86IFVzZXJEYXRhO1xufVxuXG4vKipcbiAqIFNlbGVjdCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhlIGluZGljYXRlZCBXaW5kb3dzIHZlcnNpb25cbiAqXG4gKiBUaGlzIE1hY2hpbmUgSW1hZ2UgYXV0b21hdGljYWxseSB1cGRhdGVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiBvbiBldmVyeVxuICogZGVwbG95bWVudC4gQmUgYXdhcmUgdGhpcyB3aWxsIGNhdXNlIHlvdXIgaW5zdGFuY2VzIHRvIGJlIHJlcGxhY2VkIHdoZW4gYVxuICogbmV3IHZlcnNpb24gb2YgdGhlIGltYWdlIGJlY29tZXMgYXZhaWxhYmxlLiBEbyBub3Qgc3RvcmUgc3RhdGVmdWwgaW5mb3JtYXRpb25cbiAqIG9uIHRoZSBpbnN0YW5jZSBpZiB5b3UgYXJlIHVzaW5nIHRoaXMgaW1hZ2UuXG4gKlxuICogVGhlIEFNSSBJRCBpcyBzZWxlY3RlZCB1c2luZyB0aGUgdmFsdWVzIHB1Ymxpc2hlZCB0byB0aGUgU1NNIHBhcmFtZXRlciBzdG9yZS5cbiAqXG4gKiBodHRwczovL2F3cy5hbWF6b24uY29tL2Jsb2dzL210L3F1ZXJ5LWZvci10aGUtbGF0ZXN0LXdpbmRvd3MtYW1pLXVzaW5nLXN5c3RlbXMtbWFuYWdlci1wYXJhbWV0ZXItc3RvcmUvXG4gKi9cbmV4cG9ydCBjbGFzcyBXaW5kb3dzSW1hZ2UgZXh0ZW5kcyBHZW5lcmljU1NNUGFyYW1ldGVySW1hZ2Uge1xuICBwcml2YXRlIHN0YXRpYyBERVBSRUNBVEVEX1ZFUlNJT05fTkFNRV9NQVA6IFBhcnRpYWw8XG4gICAgUmVjb3JkPFdpbmRvd3NWZXJzaW9uLCBXaW5kb3dzVmVyc2lvbj5cbiAgPiA9IHtcbiAgICBbV2luZG93c1ZlcnNpb24uV0lORE9XU19TRVJWRVJfMjAxNl9HRVJNQUxfRlVMTF9CQVNFXTpcbiAgICAgIFdpbmRvd3NWZXJzaW9uLldJTkRPV1NfU0VSVkVSXzIwMTZfR0VSTUFOX0ZVTExfQkFTRSxcbiAgICBbV2luZG93c1ZlcnNpb24uV0lORE9XU19TRVJWRVJfMjAxMl9SMl9TUDFfUE9SVFVHRVNFX0JSQVpJTF82NEJJVF9DT1JFXTpcbiAgICAgIFdpbmRvd3NWZXJzaW9uLldJTkRPV1NfU0VSVkVSXzIwMTJfUjJfU1AxX1BPUlRVR1VFU0VfQlJBWklMXzY0QklUX0NPUkUsXG4gICAgW1dpbmRvd3NWZXJzaW9uLldJTkRPV1NfU0VSVkVSXzIwMTZfUE9SVFVHRVNFX1BPUlRVR0FMX0ZVTExfQkFTRV06XG4gICAgICBXaW5kb3dzVmVyc2lvbi5XSU5ET1dTX1NFUlZFUl8yMDE2X1BPUlRVR1VFU0VfUE9SVFVHQUxfRlVMTF9CQVNFLFxuICAgIFtXaW5kb3dzVmVyc2lvbi5XSU5ET1dTX1NFUlZFUl8yMDEyX1IyX1JUTV9QT1JUVUdFU0VfQlJBWklMXzY0QklUX0JBU0VdOlxuICAgICAgV2luZG93c1ZlcnNpb24uV0lORE9XU19TRVJWRVJfMjAxMl9SMl9SVE1fUE9SVFVHVUVTRV9CUkFaSUxfNjRCSVRfQkFTRSxcbiAgICBbV2luZG93c1ZlcnNpb24uV0lORE9XU19TRVJWRVJfMjAxMl9SMl9SVE1fUE9SVFVHRVNFX1BPUlRVR0FMXzY0QklUX0JBU0VdOlxuICAgICAgV2luZG93c1ZlcnNpb24uV0lORE9XU19TRVJWRVJfMjAxMl9SMl9SVE1fUE9SVFVHVUVTRV9QT1JUVUdBTF82NEJJVF9CQVNFLFxuICAgIFtXaW5kb3dzVmVyc2lvbi5XSU5ET1dTX1NFUlZFUl8yMDE2X1BPUlRVR0VTRV9CUkFaSUxfRlVMTF9CQVNFXTpcbiAgICAgIFdpbmRvd3NWZXJzaW9uLldJTkRPV1NfU0VSVkVSXzIwMTZfUE9SVFVHVUVTRV9CUkFaSUxfRlVMTF9CQVNFLFxuICAgIFtXaW5kb3dzVmVyc2lvbi5XSU5ET1dTX1NFUlZFUl8yMDEyX1NQMl9QT1JUVUdFU0VfQlJBWklMXzY0QklUX0JBU0VdOlxuICAgICAgV2luZG93c1ZlcnNpb24uV0lORE9XU19TRVJWRVJfMjAxMl9TUDJfUE9SVFVHVUVTRV9CUkFaSUxfNjRCSVRfQkFTRSxcbiAgICBbV2luZG93c1ZlcnNpb24uV0lORE9XU19TRVJWRVJfMjAxMl9SVE1fUE9SVFVHRVNFX0JSQVpJTF82NEJJVF9CQVNFXTpcbiAgICAgIFdpbmRvd3NWZXJzaW9uLldJTkRPV1NfU0VSVkVSXzIwMTJfUlRNX1BPUlRVR1VFU0VfQlJBWklMXzY0QklUX0JBU0UsXG4gICAgW1dpbmRvd3NWZXJzaW9uLldJTkRPV1NfU0VSVkVSXzIwMDhfUjJfU1AxX1BPUlRVR0VTRV9CUkFaSUxfNjRCSVRfQkFTRV06XG4gICAgICBXaW5kb3dzVmVyc2lvbi5XSU5ET1dTX1NFUlZFUl8yMDA4X1IyX1NQMV9QT1JUVUdVRVNFX0JSQVpJTF82NEJJVF9CQVNFLFxuICAgIFtXaW5kb3dzVmVyc2lvbi5XSU5ET1dTX1NFUlZFUl8yMDA4X1NQMl9QT1JUVUdFU0VfQlJBWklMXzMyQklUX0JBU0VdOlxuICAgICAgV2luZG93c1ZlcnNpb24uV0lORE9XU19TRVJWRVJfMjAwOF9TUDJfUE9SVFVHVUVTRV9CUkFaSUxfMzJCSVRfQkFTRSxcbiAgICBbV2luZG93c1ZlcnNpb24uV0lORE9XU19TRVJWRVJfMjAxMl9SVE1fUE9SVFVHRVNFX1BPUlRVR0FMXzY0QklUX0JBU0VdOlxuICAgICAgV2luZG93c1ZlcnNpb24uV0lORE9XU19TRVJWRVJfMjAxMl9SVE1fUE9SVFVHVUVTRV9QT1JUVUdBTF82NEJJVF9CQVNFLFxuICAgIFtXaW5kb3dzVmVyc2lvbi5XSU5ET1dTX1NFUlZFUl8yMDE5X1BPUlRVR0VTRV9CUkFaSUxfRlVMTF9CQVNFXTpcbiAgICAgIFdpbmRvd3NWZXJzaW9uLldJTkRPV1NfU0VSVkVSXzIwMTlfUE9SVFVHVUVTRV9CUkFaSUxfRlVMTF9CQVNFLFxuICAgIFtXaW5kb3dzVmVyc2lvbi5XSU5ET1dTX1NFUlZFUl8yMDE5X1BPUlRVR0VTRV9QT1JUVUdBTF9GVUxMX0JBU0VdOlxuICAgICAgV2luZG93c1ZlcnNpb24uV0lORE9XU19TRVJWRVJfMjAxOV9QT1JUVUdVRVNFX1BPUlRVR0FMX0ZVTExfQkFTRSxcbiAgfTtcbiAgY29uc3RydWN0b3IodmVyc2lvbjogV2luZG93c1ZlcnNpb24sIHByb3BzOiBXaW5kb3dzSW1hZ2VQcm9wcyA9IHt9KSB7XG4gICAgY29uc3Qgbm9uRGVwcmVjYXRlZFZlcnNpb25OYW1lID1cbiAgICAgIFdpbmRvd3NJbWFnZS5ERVBSRUNBVEVEX1ZFUlNJT05fTkFNRV9NQVBbdmVyc2lvbl0gPz8gdmVyc2lvbjtcbiAgICBzdXBlcihcbiAgICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS13aW5kb3dzLWxhdGVzdC9cIiArIG5vbkRlcHJlY2F0ZWRWZXJzaW9uTmFtZSxcbiAgICAgIE9wZXJhdGluZ1N5c3RlbVR5cGUuV0lORE9XUyxcbiAgICAgIHByb3BzLnVzZXJEYXRhLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBBbWF6b24gTGludXggaW1hZ2UgcHJvcGVydGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtYXpvbkxpbnV4SW1hZ2VQcm9wcyB7XG4gIC8qKlxuICAgKiBXaGF0IGdlbmVyYXRpb24gb2YgQW1hem9uIExpbnV4IHRvIHVzZVxuICAgKlxuICAgKiBAZGVmYXVsdCBBbWF6b25MaW51eFxuICAgKi9cbiAgcmVhZG9ubHkgZ2VuZXJhdGlvbj86IEFtYXpvbkxpbnV4R2VuZXJhdGlvbjtcblxuICAvKipcbiAgICogV2hhdCBlZGl0aW9uIG9mIEFtYXpvbiBMaW51eCB0byB1c2VcbiAgICpcbiAgICogQGRlZmF1bHQgU3RhbmRhcmRcbiAgICovXG4gIHJlYWRvbmx5IGVkaXRpb24/OiBBbWF6b25MaW51eEVkaXRpb247XG5cbiAgLyoqXG4gICAqIFdoYXQga2VybmVsIHZlcnNpb24gb2YgQW1hem9uIExpbnV4IHRvIHVzZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtXG4gICAqL1xuICByZWFkb25seSBrZXJuZWw/OiBBbWF6b25MaW51eEtlcm5lbDtcblxuICAvKipcbiAgICogV2hhdCBzdG9yYWdlIGJhY2tlZCBpbWFnZSB0byB1c2VcbiAgICpcbiAgICogQGRlZmF1bHQgR2VuZXJhbFB1cnBvc2VcbiAgICovXG4gIHJlYWRvbmx5IHN0b3JhZ2U/OiBBbWF6b25MaW51eFN0b3JhZ2U7XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgdXNlciBkYXRhXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRW1wdHkgVXNlckRhdGEgZm9yIExpbnV4IG1hY2hpbmVzXG4gICAqL1xuICByZWFkb25seSB1c2VyRGF0YT86IFVzZXJEYXRhO1xuXG4gIC8qKlxuICAgKiBDUFUgVHlwZVxuICAgKlxuICAgKiBAZGVmYXVsdCBYODZfNjRcbiAgICovXG4gIHJlYWRvbmx5IGNwdVR5cGU/OiBBbWF6b25MaW51eENwdVR5cGU7XG5cbiAgLyoqXG4gICAqIFZpcnR1YWxpemF0aW9uIHR5cGVcbiAgICpcbiAgICogQGRlZmF1bHQgSFZNXG4gICAqL1xuICByZWFkb25seSB2aXJ0dWFsaXphdGlvbj86IEFtYXpvbkxpbnV4VmlydDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgQU1JIElEIGlzIGNhY2hlZCB0byBiZSBzdGFibGUgYmV0d2VlbiBkZXBsb3ltZW50c1xuICAgKlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbmV3ZXN0IGltYWdlIGlzIHVzZWQgb24gZWFjaCBkZXBsb3ltZW50LiBUaGlzIHdpbGwgY2F1c2VcbiAgICogaW5zdGFuY2VzIHRvIGJlIHJlcGxhY2VkIHdoZW5ldmVyIGEgbmV3IHZlcnNpb24gaXMgcmVsZWFzZWQsIGFuZCBtYXkgY2F1c2VcbiAgICogZG93bnRpbWUgaWYgdGhlcmUgYXJlbid0IGVub3VnaCBydW5uaW5nIGluc3RhbmNlcyBpbiB0aGUgQXV0b1NjYWxpbmdHcm91cFxuICAgKiB0byByZXNjaGVkdWxlIHRoZSB0YXNrcyBvbi5cbiAgICpcbiAgICogSWYgc2V0IHRvIHRydWUsIHRoZSBBTUkgSUQgd2lsbCBiZSBjYWNoZWQgaW4gYGNkay5jb250ZXh0Lmpzb25gIGFuZCB0aGVcbiAgICogc2FtZSB2YWx1ZSB3aWxsIGJlIHVzZWQgb24gZnV0dXJlIHJ1bnMuIFlvdXIgaW5zdGFuY2VzIHdpbGwgbm90IGJlIHJlcGxhY2VkXG4gICAqIGJ1dCB5b3VyIEFNSSB2ZXJzaW9uIHdpbGwgZ3JvdyBvbGQgb3ZlciB0aW1lLiBUbyByZWZyZXNoIHRoZSBBTUkgbG9va3VwLFxuICAgKiB5b3Ugd2lsbCBoYXZlIHRvIGV2aWN0IHRoZSB2YWx1ZSBmcm9tIHRoZSBjYWNoZSB1c2luZyB0aGUgYGNkayBjb250ZXh0YFxuICAgKiBjb21tYW5kLiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9sYXRlc3QvZ3VpZGUvY29udGV4dC5odG1sIGZvclxuICAgKiBtb3JlIGluZm9ybWF0aW9uLlxuICAgKlxuICAgKiBDYW4gbm90IGJlIHNldCB0byBgdHJ1ZWAgaW4gZW52aXJvbm1lbnQtYWdub3N0aWMgc3RhY2tzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FjaGVkSW5Db250ZXh0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTZWxlY3RzIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBBbWF6b24gTGludXhcbiAqXG4gKiBUaGlzIE1hY2hpbmUgSW1hZ2UgYXV0b21hdGljYWxseSB1cGRhdGVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiBvbiBldmVyeVxuICogZGVwbG95bWVudC4gQmUgYXdhcmUgdGhpcyB3aWxsIGNhdXNlIHlvdXIgaW5zdGFuY2VzIHRvIGJlIHJlcGxhY2VkIHdoZW4gYVxuICogbmV3IHZlcnNpb24gb2YgdGhlIGltYWdlIGJlY29tZXMgYXZhaWxhYmxlLiBEbyBub3Qgc3RvcmUgc3RhdGVmdWwgaW5mb3JtYXRpb25cbiAqIG9uIHRoZSBpbnN0YW5jZSBpZiB5b3UgYXJlIHVzaW5nIHRoaXMgaW1hZ2UuXG4gKlxuICogVGhlIEFNSSBJRCBpcyBzZWxlY3RlZCB1c2luZyB0aGUgdmFsdWVzIHB1Ymxpc2hlZCB0byB0aGUgU1NNIHBhcmFtZXRlciBzdG9yZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFtYXpvbkxpbnV4SW1hZ2UgZXh0ZW5kcyBHZW5lcmljU1NNUGFyYW1ldGVySW1hZ2Uge1xuICAvKipcbiAgICogUmV0dXJuIHRoZSBTU00gcGFyYW1ldGVyIG5hbWUgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIEFtYXpvbiBMaW51eCBpbWFnZSB3aXRoIHRoZSBnaXZlbiBhdHRyaWJ1dGVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNzbVBhcmFtZXRlck5hbWUocHJvcHM6IEFtYXpvbkxpbnV4SW1hZ2VQcm9wcyA9IHt9KSB7XG4gICAgY29uc3QgZ2VuZXJhdGlvbiA9XG4gICAgICAocHJvcHMgJiYgcHJvcHMuZ2VuZXJhdGlvbikgfHwgQW1hem9uTGludXhHZW5lcmF0aW9uLkFNQVpPTl9MSU5VWDtcbiAgICBjb25zdCBlZGl0aW9uID0gKHByb3BzICYmIHByb3BzLmVkaXRpb24pIHx8IEFtYXpvbkxpbnV4RWRpdGlvbi5TVEFOREFSRDtcbiAgICBjb25zdCBjcHUgPSAocHJvcHMgJiYgcHJvcHMuY3B1VHlwZSkgfHwgQW1hem9uTGludXhDcHVUeXBlLlg4Nl82NDtcbiAgICBsZXQga2VybmVsID0gKHByb3BzICYmIHByb3BzLmtlcm5lbCkgfHwgdW5kZWZpbmVkO1xuICAgIGxldCB2aXJ0dWFsaXphdGlvbjogQW1hem9uTGludXhWaXJ0IHwgdW5kZWZpbmVkO1xuICAgIGxldCBzdG9yYWdlOiBBbWF6b25MaW51eFN0b3JhZ2UgfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAoZ2VuZXJhdGlvbiA9PT0gQW1hem9uTGludXhHZW5lcmF0aW9uLkFNQVpPTl9MSU5VWF8yMDIyKSB7XG4gICAgICBrZXJuZWwgPSBBbWF6b25MaW51eEtlcm5lbC5LRVJORUw1X1g7XG4gICAgICBpZiAocHJvcHMgJiYgcHJvcHMuc3RvcmFnZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJTdG9yYWdlIHBhcmFtZXRlciBkb2VzIG5vdCBleGlzdCBpbiBTU00gcGFyYW1ldGVyIG5hbWUgZm9yIEFtYXpvbiBMaW51eCAyMDIyLlwiLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzICYmIHByb3BzLnZpcnR1YWxpemF0aW9uKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcIlZpcnR1YWxpemF0aW9uIHBhcmFtZXRlciBkb2VzIG5vdCBleGlzdCBpbiBTU00gcGFyYW1ldGVyIG5hbWUgZm9yIEFtYXpvbiBMaW51eCAyMDIyLlwiLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZ2VuZXJhdGlvbiA9PT0gQW1hem9uTGludXhHZW5lcmF0aW9uLkFNQVpPTl9MSU5VWF8yMDIzKSB7XG4gICAgICBrZXJuZWwgPSBBbWF6b25MaW51eEtlcm5lbC5LRVJORUw2XzE7XG4gICAgICBpZiAocHJvcHMgJiYgcHJvcHMuc3RvcmFnZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJTdG9yYWdlIHBhcmFtZXRlciBkb2VzIG5vdCBleGlzdCBpbiBTU00gcGFyYW1ldGVyIG5hbWUgZm9yIEFtYXpvbiBMaW51eCAyMDIzLlwiLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzICYmIHByb3BzLnZpcnR1YWxpemF0aW9uKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcIlZpcnR1YWxpemF0aW9uIHBhcmFtZXRlciBkb2VzIG5vdCBleGlzdCBpbiBTU00gcGFyYW1ldGVyIG5hbWUgZm9yIEFtYXpvbiBMaW51eCAyMDIzLlwiLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2aXJ0dWFsaXphdGlvbiA9IChwcm9wcyAmJiBwcm9wcy52aXJ0dWFsaXphdGlvbikgfHwgQW1hem9uTGludXhWaXJ0LkhWTTtcbiAgICAgIHN0b3JhZ2UgPSAocHJvcHMgJiYgcHJvcHMuc3RvcmFnZSkgfHwgQW1hem9uTGludXhTdG9yYWdlLkdFTkVSQUxfUFVSUE9TRTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJ0czogQXJyYXk8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IFtcbiAgICAgIGdlbmVyYXRpb24sXG4gICAgICBcImFtaVwiLFxuICAgICAgZWRpdGlvbiAhPT0gQW1hem9uTGludXhFZGl0aW9uLlNUQU5EQVJEID8gZWRpdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgIGtlcm5lbCxcbiAgICAgIHZpcnR1YWxpemF0aW9uLFxuICAgICAgY3B1LFxuICAgICAgc3RvcmFnZSxcbiAgICBdLmZpbHRlcigoeCkgPT4geCAhPT0gdW5kZWZpbmVkKTsgLy8gR2V0IHJpZCBvZiB1bmRlZmluZWRzXG5cbiAgICByZXR1cm4gXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvXCIgKyBwYXJ0cy5qb2luKFwiLVwiKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVkSW5Db250ZXh0OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IEFtYXpvbkxpbnV4SW1hZ2VQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoXG4gICAgICBBbWF6b25MaW51eEltYWdlLnNzbVBhcmFtZXRlck5hbWUocHJvcHMpLFxuICAgICAgT3BlcmF0aW5nU3lzdGVtVHlwZS5MSU5VWCxcbiAgICAgIHByb3BzLnVzZXJEYXRhLFxuICAgICk7XG5cbiAgICB0aGlzLmNhY2hlZEluQ29udGV4dCA9IHByb3BzLmNhY2hlZEluQ29udGV4dCA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGltYWdlIHRvIHVzZSBpbiB0aGUgZ2l2ZW4gY29udGV4dFxuICAgKi9cbiAgcHVibGljIGdldEltYWdlKHNjb3BlOiBDb25zdHJ1Y3QpOiBNYWNoaW5lSW1hZ2VDb25maWcge1xuICAgIGNvbnN0IGltYWdlSWQgPSBsb29rdXBJbWFnZShcbiAgICAgIHNjb3BlLFxuICAgICAgdGhpcy5jYWNoZWRJbkNvbnRleHQsXG4gICAgICB0aGlzLnBhcmFtZXRlck5hbWUsXG4gICAgKTtcblxuICAgIGNvbnN0IG9zVHlwZSA9IE9wZXJhdGluZ1N5c3RlbVR5cGUuTElOVVg7XG4gICAgcmV0dXJuIHtcbiAgICAgIGltYWdlSWQsXG4gICAgICBvc1R5cGUsXG4gICAgICB1c2VyRGF0YTogdGhpcy5wcm9wcy51c2VyRGF0YSA/PyBVc2VyRGF0YS5mb3JMaW51eCgpLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBbWF6b24gTGludXggS2VybmVsXG4gKi9cbmV4cG9ydCBlbnVtIEFtYXpvbkxpbnV4S2VybmVsIHtcbiAgLyoqXG4gICAqIEtlcm5lbCB2ZXJzaW9uIDUuMTBcbiAgICovXG4gIEtFUk5FTDVfWCA9IFwia2VybmVsLTUuMTBcIixcblxuICAvKipcbiAgICogS2VybmVsIHZlcnNpb24gNi4xXG4gICAqL1xuICBLRVJORUw2XzEgPSBcImtlcm5lbC02LjFcIixcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIEdlbmVyaWNMaW51eEltYWdlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJpY0xpbnV4SW1hZ2VQcm9wcyB7XG4gIC8qKlxuICAgKiBJbml0aWFsIHVzZXIgZGF0YVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEVtcHR5IFVzZXJEYXRhIGZvciBMaW51eCBtYWNoaW5lc1xuICAgKi9cbiAgcmVhZG9ubHkgdXNlckRhdGE/OiBVc2VyRGF0YTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIEdlbmVyaWNXaW5kb3dzSW1hZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW5lcmljV2luZG93c0ltYWdlUHJvcHMge1xuICAvKipcbiAgICogSW5pdGlhbCB1c2VyIGRhdGFcbiAgICpcbiAgICogQGRlZmF1bHQgLSBFbXB0eSBVc2VyRGF0YSBmb3IgV2luZG93cyBtYWNoaW5lc1xuICAgKi9cbiAgcmVhZG9ubHkgdXNlckRhdGE/OiBVc2VyRGF0YTtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgYSBMaW51eCBtYWNoaW5lIGltYWdlIGZyb20gYW4gQU1JIG1hcFxuICpcbiAqIExpbnV4IGltYWdlcyBJRHMgYXJlIG5vdCBwdWJsaXNoZWQgdG8gU1NNIHBhcmFtZXRlciBzdG9yZSB5ZXQsIHNvIHlvdSdsbCBoYXZlIHRvXG4gKiBtYW51YWxseSBzcGVjaWZ5IGFuIEFNSSBtYXAuXG4gKi9cbmV4cG9ydCBjbGFzcyBHZW5lcmljTGludXhJbWFnZSBpbXBsZW1lbnRzIElNYWNoaW5lSW1hZ2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFtaU1hcDogeyBbcmVnaW9uOiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBHZW5lcmljTGludXhJbWFnZVByb3BzID0ge30sXG4gICkge31cblxuICBwdWJsaWMgZ2V0SW1hZ2Uoc2NvcGU6IENvbnN0cnVjdCk6IE1hY2hpbmVJbWFnZUNvbmZpZyB7XG4gICAgY29uc3QgdXNlckRhdGEgPSB0aGlzLnByb3BzLnVzZXJEYXRhID8/IFVzZXJEYXRhLmZvckxpbnV4KCk7XG4gICAgY29uc3Qgb3NUeXBlID0gT3BlcmF0aW5nU3lzdGVtVHlwZS5MSU5VWDtcbiAgICBjb25zdCByZWdpb24gPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChzY29wZSkucmVnaW9uO1xuICAgIC8vIC8vIEdyaWQgc3RhY2tzIGFyZSBzaW5nbGUgcmVnaW9uLCByZWdpb24gaXMgYWx3YXlzIGtub3duXG4gICAgLy8gaWYgKFRva2VuLmlzVW5yZXNvbHZlZChyZWdpb24pKSB7XG4gICAgLy8gICBjb25zdCBtYXBwaW5nOiB7IFtrMTogc3RyaW5nXTogeyBbazI6IHN0cmluZ106IGFueSB9IH0gPSB7fTtcbiAgICAvLyAgIGZvciAoY29uc3QgW3JnbiwgYW1pXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLmFtaU1hcCkpIHtcbiAgICAvLyAgICAgbWFwcGluZ1tyZ25dID0geyBhbWkgfTtcbiAgICAvLyAgIH1cbiAgICAvLyAgIGNvbnN0IGFtaU1hcCA9IG5ldyBUZXJyYWZvcm1Mb2NhbChzY29wZSwgXCJBbWlNYXBcIiwgeyBtYXBwaW5nIH0pO1xuICAgIC8vICAgcmV0dXJuIHtcbiAgICAvLyAgICAgaW1hZ2VJZDogRm4ubG9va3VwTmVzdGVkKGFtaU1hcCwgQXdzLlJFR0lPTiwgXCJhbWlcIiksXG4gICAgLy8gICAgIHVzZXJEYXRhLFxuICAgIC8vICAgICBvc1R5cGUsXG4gICAgLy8gICB9O1xuICAgIC8vIH1cbiAgICBjb25zdCBpbWFnZUlkID1cbiAgICAgIHJlZ2lvbiAhPT0gXCJ0ZXN0LXJlZ2lvblwiID8gdGhpcy5hbWlNYXBbcmVnaW9uXSA6IFwiYW1pLTEyMzQ1XCI7XG4gICAgaWYgKCFpbWFnZUlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBVbmFibGUgdG8gZmluZCBBTUkgaW4gQU1JIG1hcDogbm8gQU1JIHNwZWNpZmllZCBmb3IgcmVnaW9uICcke3JlZ2lvbn0nYCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpbWFnZUlkLFxuICAgICAgdXNlckRhdGEsXG4gICAgICBvc1R5cGUsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnN0cnVjdCBhIFdpbmRvd3MgbWFjaGluZSBpbWFnZSBmcm9tIGFuIEFNSSBtYXBcbiAqXG4gKiBBbGxvd3MgeW91IHRvIGNyZWF0ZSBhIGdlbmVyaWMgV2luZG93cyBFQzIgLCBtYW51YWxseSBzcGVjaWZ5IGFuIEFNSSBtYXAuXG4gKi9cbmV4cG9ydCBjbGFzcyBHZW5lcmljV2luZG93c0ltYWdlIGltcGxlbWVudHMgSU1hY2hpbmVJbWFnZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYW1pTWFwOiB7IFtyZWdpb246IHN0cmluZ106IHN0cmluZyB9LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IEdlbmVyaWNXaW5kb3dzSW1hZ2VQcm9wcyA9IHt9LFxuICApIHt9XG5cbiAgcHVibGljIGdldEltYWdlKHNjb3BlOiBDb25zdHJ1Y3QpOiBNYWNoaW5lSW1hZ2VDb25maWcge1xuICAgIGNvbnN0IHVzZXJEYXRhID0gdGhpcy5wcm9wcy51c2VyRGF0YSA/PyBVc2VyRGF0YS5mb3JXaW5kb3dzKCk7XG4gICAgY29uc3Qgb3NUeXBlID0gT3BlcmF0aW5nU3lzdGVtVHlwZS5XSU5ET1dTO1xuICAgIGNvbnN0IHJlZ2lvbiA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHNjb3BlKS5yZWdpb247XG4gICAgLy8gLy8gR3JpZCBzdGFja3MgYXJlIHNpbmdsZSByZWdpb24sIHJlZ2lvbiBpcyBhbHdheXMga25vd25cbiAgICAvLyBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHJlZ2lvbikpIHtcbiAgICAvLyAgIGNvbnN0IG1hcHBpbmc6IHsgW2sxOiBzdHJpbmddOiB7IFtrMjogc3RyaW5nXTogYW55IH0gfSA9IHt9O1xuICAgIC8vICAgZm9yIChjb25zdCBbcmduLCBhbWldIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuYW1pTWFwKSkge1xuICAgIC8vICAgICBtYXBwaW5nW3Jnbl0gPSB7IGFtaSB9O1xuICAgIC8vICAgfVxuICAgIC8vICAgY29uc3QgYW1pTWFwID0gbmV3IFRlcnJhZm9ybUxvY2FsKHNjb3BlLCBcIkFtaU1hcFwiLCB7IG1hcHBpbmcgfSk7XG4gICAgLy8gICByZXR1cm4ge1xuICAgIC8vICAgICBpbWFnZUlkOiBGbi5sb29rdXBOZXN0ZWQoYW1pTWFwLCBBd3MuUkVHSU9OLCBcImFtaVwiKSxcbiAgICAvLyAgICAgdXNlckRhdGEsXG4gICAgLy8gICAgIG9zVHlwZSxcbiAgICAvLyAgIH07XG4gICAgLy8gfVxuICAgIGNvbnN0IGltYWdlSWQgPVxuICAgICAgcmVnaW9uICE9PSBcInRlc3QtcmVnaW9uXCIgPyB0aGlzLmFtaU1hcFtyZWdpb25dIDogXCJhbWktMTIzNDVcIjtcbiAgICBpZiAoIWltYWdlSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVuYWJsZSB0byBmaW5kIEFNSSBpbiBBTUkgbWFwOiBubyBBTUkgc3BlY2lmaWVkIGZvciByZWdpb24gJyR7cmVnaW9ufSdgLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGltYWdlSWQsXG4gICAgICB1c2VyRGF0YSxcbiAgICAgIG9zVHlwZSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogQSBtYWNoaW5lIGltYWdlIHdob3NlIEFNSSBJRCB3aWxsIGJlIHNlYXJjaGVkIHVzaW5nIERlc2NyaWJlSW1hZ2VzLlxuICpcbiAqIFRoZSBtb3N0IHJlY2VudCwgYXZhaWxhYmxlLCBsYXVuY2hhYmxlIGltYWdlIG1hdGNoaW5nIHRoZSBnaXZlbiBmaWx0ZXJcbiAqIGNyaXRlcmlhIHdpbGwgYmUgdXNlZC4gTG9va2luZyB1cCBBTUlzIG1heSB0YWtlIGEgbG9uZyB0aW1lOyBzcGVjaWZ5XG4gKiBhcyBtYW55IGZpbHRlciBjcml0ZXJpYSBhcyBwb3NzaWJsZSB0byBuYXJyb3cgZG93biB0aGUgc2VhcmNoLlxuICpcbiAqIFRoZSBBTUkgc2VsZWN0ZWQgd2lsbCBiZSBjYWNoZWQgaW4gYGdyaWQuY29udGV4dC5qc29uYCBhbmQgdGhlIHNhbWUgdmFsdWVcbiAqIHdpbGwgYmUgdXNlZCBvbiBmdXR1cmUgcnVucy4gVG8gcmVmcmVzaCB0aGUgQU1JIGxvb2t1cCwgeW91IHdpbGwgaGF2ZSB0b1xuICogZXZpY3QgdGhlIHZhbHVlIGZyb20gdGhlIGNhY2hlIHVzaW5nIHRoZSBgZ3JpZCBjb250ZXh0YCBjb21tYW5kLiBTZWVcbiAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jZGsvbGF0ZXN0L2d1aWRlL2NvbnRleHQuaHRtbCBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIExvb2t1cE1hY2hpbmVJbWFnZSBpbXBsZW1lbnRzIElNYWNoaW5lSW1hZ2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBMb29rdXBNYWNoaW5lSW1hZ2VQcm9wcykge31cblxuICBwdWJsaWMgZ2V0SW1hZ2Uoc2NvcGU6IENvbnN0cnVjdCk6IE1hY2hpbmVJbWFnZUNvbmZpZyB7XG4gICAgLy8gTmVlZCB0byBrbm93ICd3aW5kb3dzJyBvciBub3QgYmVmb3JlIGRvaW5nIHRoZSBxdWVyeSB0byByZXR1cm4gdGhlIHJpZ2h0XG4gICAgLy8gb3NUeXBlIGZvciB0aGUgZHVtbXkgdmFsdWUsIHNvIG1pZ2h0IGFzIHdlbGwgYWRkIGl0IHRvIHRoZSBmaWx0ZXIuXG4gICAgY29uc3QgZmlsdGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nW10gfCB1bmRlZmluZWQ+ID0ge1xuICAgICAgbmFtZTogW3RoaXMucHJvcHMubmFtZV0sXG4gICAgICBzdGF0ZTogW1wiYXZhaWxhYmxlXCJdLFxuICAgICAgXCJpbWFnZS10eXBlXCI6IFtcIm1hY2hpbmVcIl0sXG4gICAgICBwbGF0Zm9ybTogdGhpcy5wcm9wcy53aW5kb3dzID8gW1wid2luZG93c1wiXSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICAgIE9iamVjdC5hc3NpZ24oZmlsdGVycywgdGhpcy5wcm9wcy5maWx0ZXJzKTtcblxuICAgIGxldCB1bmlxdWVJZCA9IFwiQW1pXCI7XG4gICAgbGV0IGNvdW50ZXIgPSAxO1xuICAgIHdoaWxlIChzY29wZS5ub2RlLnRyeUZpbmRDaGlsZCh1bmlxdWVJZCkpIHtcbiAgICAgIHVuaXF1ZUlkID0gYEFtaSR7Y291bnRlcisrfWA7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YVNvdXJjZSA9IG5ldyBkYXRhQXdzQW1pLkRhdGFBd3NBbWkoc2NvcGUsIHVuaXF1ZUlkLCB7XG4gICAgICBvd25lcnM6IHRoaXMucHJvcHMub3duZXJzLFxuICAgICAgZmlsdGVyOiBPYmplY3QuZW50cmllcyhmaWx0ZXJzKVxuICAgICAgICAuZmlsdGVyKChbX2tleSwgdmFsdWVzXSkgPT4gdmFsdWVzICE9PSB1bmRlZmluZWQpXG4gICAgICAgIC5tYXAoKFtuYW1lLCB2YWx1ZXNdKSA9PiAoe1xuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgdmFsdWVzOiB2YWx1ZXMgYXMgc3RyaW5nW10sXG4gICAgICAgIH0pKSxcbiAgICB9KTtcbiAgICBjb25zdCB2YWx1ZSA9IGRhdGFTb3VyY2UuaWQ7XG5cbiAgICAvLyAvLyBUT0RPOiBVc2UgR3JpZCBhcyBjb250ZXh0UHJvdmlkZXJcbiAgICAvLyBjb25zdCB2YWx1ZSA9IENvbnRleHRQcm92aWRlci5nZXRWYWx1ZShzY29wZSwge1xuICAgIC8vICAgcHJvdmlkZXI6IGN4c2NoZW1hLkNvbnRleHRQcm92aWRlci5BTUlfUFJPVklERVIsXG4gICAgLy8gICBwcm9wczoge1xuICAgIC8vICAgICBvd25lcnM6IHRoaXMucHJvcHMub3duZXJzLFxuICAgIC8vICAgICBmaWx0ZXJzLFxuICAgIC8vICAgfSBhcyBjeHNjaGVtYS5BbWlDb250ZXh0UXVlcnksXG4gICAgLy8gICBkdW1teVZhbHVlOiBcImFtaS0xMjM0XCIsXG4gICAgLy8gfSkudmFsdWUgYXMgY3hhcGkuQW1pQ29udGV4dFJlc3BvbnNlO1xuICAgIC8vXG4gICAgLy8gaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgIC8vICAgdGhyb3cgbmV3IEVycm9yKGBSZXNwb25zZSB0byBBTUkgbG9va3VwIGludmFsaWQsIGdvdDogJHt2YWx1ZX1gKTtcbiAgICAvLyB9XG5cbiAgICBjb25zdCBvc1R5cGUgPSB0aGlzLnByb3BzLndpbmRvd3NcbiAgICAgID8gT3BlcmF0aW5nU3lzdGVtVHlwZS5XSU5ET1dTXG4gICAgICA6IE9wZXJhdGluZ1N5c3RlbVR5cGUuTElOVVg7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaW1hZ2VJZDogdmFsdWUsXG4gICAgICBvc1R5cGUsXG4gICAgICB1c2VyRGF0YTogdGhpcy5wcm9wcy51c2VyRGF0YSA/PyBVc2VyRGF0YS5mb3JPcGVyYXRpbmdTeXN0ZW0ob3NUeXBlKSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgbG9va2luZyB1cCBhbiBpbWFnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cE1hY2hpbmVJbWFnZVByb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGltYWdlIChtYXkgY29udGFpbiB3aWxkY2FyZHMpXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE93bmVyIGFjY291bnQgSURzIG9yIGFsaWFzZXNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbGwgb3duZXJzXG4gICAqL1xuICByZWFkb25seSBvd25lcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBmaWx0ZXJzIG9uIHRoZSBBTUlcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlSW1hZ2VzLmh0bWxcbiAgICogQGRlZmF1bHQgLSBObyBhZGRpdGlvbmFsIGZpbHRlcnNcbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH07XG5cbiAgLyoqXG4gICAqIExvb2sgZm9yIFdpbmRvd3MgaW1hZ2VzXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB3aW5kb3dzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ3VzdG9tIHVzZXJkYXRhIGZvciB0aGlzIGltYWdlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRW1wdHkgdXNlciBkYXRhIGFwcHJvcHJpYXRlIGZvciB0aGUgcGxhdGZvcm0gdHlwZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckRhdGE/OiBVc2VyRGF0YTtcbn1cbiJdfQ==
@@ -397,7 +397,7 @@ class Method extends aws_construct_1.AwsConstructBase {
397
397
  }
398
398
  exports.Method = Method;
399
399
  _a = JSII_RTTI_SYMBOL_1;
400
- Method[_a] = { fqn: "terraconstructs.aws.compute.Method", version: "0.2.2" };
400
+ Method[_a] = { fqn: "terraconstructs.aws.compute.Method", version: "0.2.3" };
401
401
  var AuthorizationType;
402
402
  (function (AuthorizationType) {
403
403
  AuthorizationType["NONE"] = "NONE";