terraconstructs 0.2.4 → 0.2.5
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.
- package/.jsii +2984 -2812
- package/CLAUDE.md +6 -6
- package/README.md +1 -1
- package/lib/asset-staging.js +3 -3
- package/lib/aws/arn.js +5 -5
- package/lib/aws/aws-asset-manager.js +9 -9
- package/lib/aws/aws-construct.js +1 -1
- package/lib/aws/aws-stack.d.ts +2 -2
- package/lib/aws/aws-stack.js +9 -9
- package/lib/aws/aws-tags.d.ts +1 -1
- package/lib/aws/aws-tags.js +5 -5
- package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +2 -2
- package/lib/aws/cloudwatch/actions/sns.js +1 -1
- package/lib/aws/cloudwatch/actions/ssm.js +2 -2
- package/lib/aws/cloudwatch/alarm-base.js +1 -1
- package/lib/aws/cloudwatch/alarm-rule.js +1 -1
- package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
- package/lib/aws/cloudwatch/alarm.d.ts +1 -1
- package/lib/aws/cloudwatch/alarm.js +10 -10
- package/lib/aws/cloudwatch/composite-alarm.d.ts +1 -1
- package/lib/aws/cloudwatch/composite-alarm.js +7 -7
- package/lib/aws/cloudwatch/dashboard.d.ts +1 -1
- package/lib/aws/cloudwatch/dashboard.js +7 -7
- package/lib/aws/cloudwatch/data-protection-policy.d.ts +1 -1
- package/lib/aws/cloudwatch/data-protection-policy.js +5 -5
- package/lib/aws/cloudwatch/graph.js +8 -8
- package/lib/aws/cloudwatch/layout.js +3 -3
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
- package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
- package/lib/aws/cloudwatch/log-group.d.ts +1 -1
- package/lib/aws/cloudwatch/log-group.js +7 -7
- package/lib/aws/cloudwatch/log-query.js +1 -1
- package/lib/aws/cloudwatch/log-stream.d.ts +1 -1
- package/lib/aws/cloudwatch/log-stream.js +3 -3
- package/lib/aws/cloudwatch/metric-filter.d.ts +1 -1
- package/lib/aws/cloudwatch/metric-filter.js +3 -3
- package/lib/aws/cloudwatch/metric.js +6 -6
- package/lib/aws/cloudwatch/pattern.js +3 -3
- package/lib/aws/cloudwatch/policy.d.ts +1 -1
- package/lib/aws/cloudwatch/policy.js +3 -3
- package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.d.ts +1 -1
- package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.js +1 -1
- package/lib/aws/cloudwatch/private/env-tokens.js +6 -6
- package/lib/aws/cloudwatch/query-definition.d.ts +1 -1
- package/lib/aws/cloudwatch/query-definition.js +4 -4
- package/lib/aws/cloudwatch/stats.js +1 -1
- package/lib/aws/cloudwatch/subscription-filter.d.ts +1 -1
- package/lib/aws/cloudwatch/subscription-filter.js +6 -6
- package/lib/aws/cloudwatch/text.js +1 -1
- package/lib/aws/cloudwatch/variable.js +3 -3
- package/lib/aws/cloudwatch/widget.js +1 -1
- package/lib/aws/compute/access-log.d.ts +1 -1
- package/lib/aws/compute/access-log.js +5 -5
- package/lib/aws/compute/activity.d.ts +1 -1
- package/lib/aws/compute/activity.js +5 -5
- package/lib/aws/compute/alb/application-listener-action.d.ts +1 -1
- package/lib/aws/compute/alb/application-listener-action.js +5 -5
- package/lib/aws/compute/alb/application-listener-certificate.js +3 -3
- package/lib/aws/compute/alb/application-listener-rule.js +9 -9
- package/lib/aws/compute/alb/application-listener.js +5 -5
- package/lib/aws/compute/alb/application-load-balancer.js +8 -8
- package/lib/aws/compute/alb/application-target-group.js +7 -7
- package/lib/aws/compute/alb/conditions.js +3 -3
- package/lib/aws/compute/alb/trust-store-revocation.js +3 -3
- package/lib/aws/compute/alb/trust-store.js +7 -7
- package/lib/aws/compute/api-definition.js +9 -9
- package/lib/aws/compute/api-key.js +6 -6
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.d.ts +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +6 -6
- package/lib/aws/compute/authorizer.js +1 -1
- package/lib/aws/compute/authorizers/identity-source.js +1 -1
- package/lib/aws/compute/authorizers/lambda.d.ts +1 -1
- package/lib/aws/compute/authorizers/lambda.js +6 -6
- package/lib/aws/compute/base-path-mapping.js +5 -5
- package/lib/aws/compute/base-scalable-attribute.js +1 -1
- package/lib/aws/compute/bastion-host.js +4 -4
- package/lib/aws/compute/chain.js +1 -1
- package/lib/aws/compute/client-vpn-authorization-rule.js +3 -3
- package/lib/aws/compute/client-vpn-endpoint.d.ts +1 -1
- package/lib/aws/compute/client-vpn-endpoint.js +9 -9
- package/lib/aws/compute/client-vpn-route.d.ts +1 -1
- package/lib/aws/compute/client-vpn-route.js +4 -4
- package/lib/aws/compute/code.d.ts +3 -3
- package/lib/aws/compute/code.js +15 -15
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.js +1 -1
- package/lib/aws/compute/cors.js +1 -1
- package/lib/aws/compute/deployment.js +5 -5
- package/lib/aws/compute/domain-name.js +5 -5
- package/lib/aws/compute/event-invoke-config.d.ts +1 -1
- package/lib/aws/compute/event-invoke-config.js +3 -3
- package/lib/aws/compute/event-source-filter.js +2 -2
- package/lib/aws/compute/event-source-mapping.js +7 -7
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
- package/lib/aws/compute/event-sources/s3.js +1 -1
- package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
- package/lib/aws/compute/event-sources/sqs.js +5 -5
- package/lib/aws/compute/fields.d.ts +1 -1
- package/lib/aws/compute/fields.js +12 -12
- package/lib/aws/compute/function-alias.d.ts +1 -1
- package/lib/aws/compute/function-alias.js +3 -3
- package/lib/aws/compute/function-base.d.ts +1 -1
- package/lib/aws/compute/function-base.js +10 -9
- package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
- package/lib/aws/compute/function-destinations/function.js +1 -1
- package/lib/aws/compute/function-destinations/sqs.js +1 -1
- package/lib/aws/compute/function-nodejs/bundling.js +6 -6
- package/lib/aws/compute/function-nodejs/function.js +4 -4
- package/lib/aws/compute/function-url.d.ts +1 -1
- package/lib/aws/compute/function-url.js +3 -3
- package/lib/aws/compute/function-vpc-config.generated.d.ts +5 -5
- package/lib/aws/compute/function-vpc-config.generated.js +1 -1
- package/lib/aws/compute/function.d.ts +2 -2
- package/lib/aws/compute/function.js +9 -9
- package/lib/aws/compute/gateway-response.d.ts +1 -1
- package/lib/aws/compute/gateway-response.js +4 -4
- package/lib/aws/compute/handler.js +1 -1
- package/lib/aws/compute/instance-types.js +1 -1
- package/lib/aws/compute/instance.d.ts +1 -1
- package/lib/aws/compute/instance.js +9 -9
- package/lib/aws/compute/integration.js +4 -4
- package/lib/aws/compute/integrations/aws.js +3 -3
- package/lib/aws/compute/integrations/http.js +1 -1
- package/lib/aws/compute/integrations/lambda.js +5 -5
- package/lib/aws/compute/integrations/mock.js +1 -1
- package/lib/aws/compute/integrations/stepfunctions.js +4 -4
- package/lib/aws/compute/ip-addresses.d.ts +1 -1
- package/lib/aws/compute/ip-addresses.js +10 -10
- package/lib/aws/compute/ipam.d.ts +1 -1
- package/lib/aws/compute/ipam.js +5 -5
- package/lib/aws/compute/key-pair.d.ts +1 -1
- package/lib/aws/compute/key-pair.js +6 -6
- package/lib/aws/compute/lambda-api.js +1 -1
- package/lib/aws/compute/launch-template.d.ts +1 -1
- package/lib/aws/compute/launch-template.js +12 -12
- package/lib/aws/compute/lb-shared/base-listener.js +9 -9
- package/lib/aws/compute/lb-shared/base-load-balancer.d.ts +2 -2
- package/lib/aws/compute/lb-shared/base-load-balancer.js +12 -12
- package/lib/aws/compute/lb-shared/base-target-group.d.ts +1 -1
- package/lib/aws/compute/lb-shared/base-target-group.js +15 -15
- package/lib/aws/compute/lb-shared/lb-listener-config.generated.d.ts +34 -34
- package/lib/aws/compute/lb-shared/lb-listener-config.generated.js +1 -1
- package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.d.ts +11 -6
- package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.js +1 -1
- package/lib/aws/compute/lb-shared/listener-action.d.ts +1 -1
- package/lib/aws/compute/lb-shared/listener-action.js +1 -1
- package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
- package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
- package/lib/aws/compute/lb-shared/util.js +5 -5
- package/lib/aws/compute/lb-targets/alb-target.js +3 -3
- package/lib/aws/compute/lb-targets/instance-target.js +2 -2
- package/lib/aws/compute/lb-targets/ip-target.js +1 -1
- package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
- package/lib/aws/compute/load-balancer.d.ts +1 -1
- package/lib/aws/compute/load-balancer.js +8 -8
- package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
- package/lib/aws/compute/machine-image/common.js +1 -1
- package/lib/aws/compute/machine-image/machine-image.js +10 -10
- package/lib/aws/compute/method.js +6 -6
- package/lib/aws/compute/model.js +5 -5
- package/lib/aws/compute/nat.js +10 -10
- package/lib/aws/compute/network-acl-types.js +2 -2
- package/lib/aws/compute/network-acl.d.ts +1 -1
- package/lib/aws/compute/network-acl.js +5 -5
- package/lib/aws/compute/nlb/network-listener-action.d.ts +1 -1
- package/lib/aws/compute/nlb/network-listener-action.js +2 -2
- package/lib/aws/compute/nlb/network-listener-certificate.js +2 -2
- package/lib/aws/compute/nlb/network-listener.js +5 -5
- package/lib/aws/compute/nlb/network-load-balancer.js +6 -6
- package/lib/aws/compute/nlb/network-target-group.js +4 -4
- package/lib/aws/compute/peer.js +7 -7
- package/lib/aws/compute/placement-group.d.ts +1 -1
- package/lib/aws/compute/placement-group.js +3 -3
- package/lib/aws/compute/port.js +5 -5
- package/lib/aws/compute/prefix-list.d.ts +1 -1
- package/lib/aws/compute/prefix-list.js +5 -5
- package/lib/aws/compute/private/context-stub.js +7 -7
- package/lib/aws/compute/private/ebs-util.d.ts +1 -1
- package/lib/aws/compute/private/ebs-util.js +3 -3
- package/lib/aws/compute/private/json-path.d.ts +1 -1
- package/lib/aws/compute/private/json-path.js +8 -8
- package/lib/aws/compute/requestvalidator.js +3 -3
- package/lib/aws/compute/resource.js +5 -5
- package/lib/aws/compute/restapi.d.ts +1 -1
- package/lib/aws/compute/restapi.js +11 -11
- package/lib/aws/compute/route.d.ts +1 -1
- package/lib/aws/compute/route.js +12 -12
- package/lib/aws/compute/runtime.js +3 -3
- package/lib/aws/compute/scalable-target.d.ts +1 -1
- package/lib/aws/compute/scalable-target.js +3 -3
- package/lib/aws/compute/schedule.js +4 -4
- package/lib/aws/compute/security-group.js +12 -12
- package/lib/aws/compute/stage.d.ts +1 -1
- package/lib/aws/compute/stage.js +6 -6
- package/lib/aws/compute/state-graph.js +1 -1
- package/lib/aws/compute/state-machine-fragment.js +1 -1
- package/lib/aws/compute/state-machine.d.ts +2 -2
- package/lib/aws/compute/state-machine.js +8 -8
- package/lib/aws/compute/states/choice.js +1 -1
- package/lib/aws/compute/states/custom-state.js +5 -5
- package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
- package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
- package/lib/aws/compute/states/distributed-map.js +4 -4
- package/lib/aws/compute/states/fail.js +4 -4
- package/lib/aws/compute/states/map-base.js +4 -4
- package/lib/aws/compute/states/map.js +1 -1
- package/lib/aws/compute/states/parallel.js +1 -1
- package/lib/aws/compute/states/pass.js +2 -2
- package/lib/aws/compute/states/state.js +4 -4
- package/lib/aws/compute/states/succeed.js +1 -1
- package/lib/aws/compute/states/task-base.js +2 -2
- package/lib/aws/compute/states/task.js +1 -1
- package/lib/aws/compute/states/wait.js +2 -2
- package/lib/aws/compute/step-scaling-action.js +5 -5
- package/lib/aws/compute/step-scaling-policy.js +7 -7
- package/lib/aws/compute/stepfunctions-api.js +2 -2
- package/lib/aws/compute/subnet-v2.d.ts +1 -1
- package/lib/aws/compute/subnet-v2.js +5 -5
- package/lib/aws/compute/subnet.js +4 -4
- package/lib/aws/compute/target-tracking-scaling-policy.js +3 -3
- package/lib/aws/compute/task-credentials.js +1 -1
- package/lib/aws/compute/task-input.js +1 -1
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +5 -5
- package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
- package/lib/aws/compute/tasks/http/invoke.js +1 -1
- package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
- package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
- package/lib/aws/compute/types.js +1 -1
- package/lib/aws/compute/usage-plan.js +5 -5
- package/lib/aws/compute/user-data.d.ts +2 -2
- package/lib/aws/compute/user-data.js +10 -10
- package/lib/aws/compute/volume.d.ts +1 -1
- package/lib/aws/compute/volume.js +7 -7
- package/lib/aws/compute/vpc-endpoint-service.js +3 -3
- package/lib/aws/compute/vpc-endpoint.d.ts +1 -1
- package/lib/aws/compute/vpc-endpoint.js +13 -13
- package/lib/aws/compute/vpc-flow-logs.d.ts +1 -1
- package/lib/aws/compute/vpc-flow-logs.js +8 -8
- package/lib/aws/compute/vpc-link.js +5 -5
- package/lib/aws/compute/vpc-v2-base.js +6 -6
- package/lib/aws/compute/vpc-v2.d.ts +2 -2
- package/lib/aws/compute/vpc-v2.js +4 -4
- package/lib/aws/compute/vpc.d.ts +1 -1
- package/lib/aws/compute/vpc.js +21 -21
- package/lib/aws/compute/vpn.js +8 -8
- package/lib/aws/context-provider.js +4 -4
- package/lib/aws/edge/certificate.d.ts +1 -1
- package/lib/aws/edge/certificate.js +6 -6
- package/lib/aws/edge/distribution.d.ts +1 -1
- package/lib/aws/edge/distribution.js +9 -9
- package/lib/aws/edge/dns-alias-record-targets.d.ts +1 -1
- package/lib/aws/edge/dns-alias-record-targets.js +7 -7
- package/lib/aws/edge/dns-record.d.ts +1 -1
- package/lib/aws/edge/dns-record.js +19 -19
- package/lib/aws/edge/dns-zone.d.ts +2 -2
- package/lib/aws/edge/dns-zone.js +5 -5
- package/lib/aws/edge/function.d.ts +1 -1
- package/lib/aws/edge/function.js +4 -4
- package/lib/aws/edge/key-value-store.d.ts +1 -1
- package/lib/aws/edge/key-value-store.js +6 -6
- package/lib/aws/edge/origin.d.ts +1 -1
- package/lib/aws/edge/origin.js +6 -6
- package/lib/aws/edge/response-headers-policy.d.ts +1 -1
- package/lib/aws/edge/response-headers-policy.js +6 -6
- package/lib/aws/encryption/alias.d.ts +1 -1
- package/lib/aws/encryption/alias.js +8 -8
- package/lib/aws/encryption/key.d.ts +1 -1
- package/lib/aws/encryption/key.js +6 -6
- package/lib/aws/encryption/via-service-principal.js +1 -1
- package/lib/aws/iam/grant.js +3 -3
- package/lib/aws/iam/group.js +5 -5
- package/lib/aws/iam/instance-profile.d.ts +1 -1
- package/lib/aws/iam/instance-profile.js +3 -3
- package/lib/aws/iam/managed-policy.d.ts +1 -1
- package/lib/aws/iam/managed-policy.js +3 -3
- package/lib/aws/iam/oidc-provider.d.ts +1 -1
- package/lib/aws/iam/oidc-provider.js +3 -3
- package/lib/aws/iam/policy-document-config.generated.d.ts +9 -9
- package/lib/aws/iam/policy-document-config.generated.js +1 -1
- package/lib/aws/iam/policy-document.d.ts +1 -1
- package/lib/aws/iam/policy-document.js +5 -5
- package/lib/aws/iam/policy-statement-props.generated.d.ts +8 -8
- package/lib/aws/iam/policy-statement-props.generated.js +1 -1
- package/lib/aws/iam/policy-statement.d.ts +1 -1
- package/lib/aws/iam/policy-statement.js +8 -8
- package/lib/aws/iam/policy.js +3 -3
- package/lib/aws/iam/principals.js +25 -25
- package/lib/aws/iam/private/imported-role.js +3 -3
- package/lib/aws/iam/private/postprocess-policy-document.d.ts +1 -1
- package/lib/aws/iam/private/postprocess-policy-document.js +1 -1
- package/lib/aws/iam/private/util.d.ts +1 -1
- package/lib/aws/iam/private/util.js +5 -5
- package/lib/aws/iam/role.d.ts +1 -1
- package/lib/aws/iam/role.js +6 -6
- package/lib/aws/iam/saml-provider.d.ts +1 -1
- package/lib/aws/iam/saml-provider.js +6 -6
- package/lib/aws/iam/unknown-principal.js +4 -4
- package/lib/aws/iam/user.js +3 -3
- package/lib/aws/network/network.d.ts +1 -1
- package/lib/aws/network/network.js +1 -1
- package/lib/aws/network/simple-ipv4-vpc.js +12 -12
- package/lib/aws/network/subnet-group.d.ts +1 -1
- package/lib/aws/network/subnet-group.js +5 -5
- package/lib/aws/network/subnet.d.ts +1 -1
- package/lib/aws/network/subnet.js +6 -6
- package/lib/aws/notify/archive.d.ts +1 -1
- package/lib/aws/notify/archive.js +3 -3
- package/lib/aws/notify/connection.d.ts +1 -1
- package/lib/aws/notify/connection.js +5 -5
- package/lib/aws/notify/event-bus.d.ts +1 -1
- package/lib/aws/notify/event-bus.js +10 -10
- package/lib/aws/notify/event-pattern.d.ts +1 -1
- package/lib/aws/notify/event-pattern.js +5 -5
- package/lib/aws/notify/input.d.ts +1 -1
- package/lib/aws/notify/input.js +12 -12
- package/lib/aws/notify/kinesis-stream.d.ts +1 -1
- package/lib/aws/notify/kinesis-stream.js +7 -7
- package/lib/aws/notify/notification-rule.js +8 -8
- package/lib/aws/notify/policy.js +3 -3
- package/lib/aws/notify/queue-base.js +1 -1
- package/lib/aws/notify/queue-policy.js +3 -3
- package/lib/aws/notify/queue.d.ts +1 -1
- package/lib/aws/notify/queue.js +8 -8
- package/lib/aws/notify/resource-policy.js +3 -3
- package/lib/aws/notify/rule.d.ts +1 -1
- package/lib/aws/notify/rule.js +6 -6
- package/lib/aws/notify/schedule.js +4 -4
- package/lib/aws/notify/sns-grants.generated.js +1 -1
- package/lib/aws/notify/sqs-grants.generated.js +1 -1
- package/lib/aws/notify/subscription-filter.js +1 -1
- package/lib/aws/notify/subscription.js +6 -6
- package/lib/aws/notify/subscriptions/email.js +1 -1
- package/lib/aws/notify/subscriptions/lambda.js +4 -4
- package/lib/aws/notify/subscriptions/sms.js +1 -1
- package/lib/aws/notify/subscriptions/sqs.js +4 -4
- package/lib/aws/notify/subscriptions/url.js +4 -4
- package/lib/aws/notify/target.d.ts +1 -1
- package/lib/aws/notify/target.js +1 -1
- package/lib/aws/notify/targets/event-bus.js +1 -1
- package/lib/aws/notify/targets/function.js +1 -1
- package/lib/aws/notify/targets/log-group.js +2 -2
- package/lib/aws/notify/targets/sqs.js +1 -1
- package/lib/aws/notify/targets/state-machine.js +1 -1
- package/lib/aws/notify/targets/util.js +3 -3
- package/lib/aws/notify/topic-base.js +4 -4
- package/lib/aws/notify/topic.js +7 -7
- package/lib/aws/provider-config.generated.d.ts +42 -36
- package/lib/aws/provider-config.generated.js +1 -1
- package/lib/aws/region-lookup.js +4 -4
- package/lib/aws/storage/assets/image-asset.js +8 -8
- package/lib/aws/storage/assets/s3.js +1 -1
- package/lib/aws/storage/auth-token.js +2 -2
- package/lib/aws/storage/billing.js +1 -1
- package/lib/aws/storage/bucket-notifications.d.ts +1 -1
- package/lib/aws/storage/bucket-notifications.js +8 -8
- package/lib/aws/storage/bucket-policy.d.ts +1 -1
- package/lib/aws/storage/bucket-policy.js +3 -3
- package/lib/aws/storage/bucket-source.d.ts +1 -1
- package/lib/aws/storage/bucket-source.js +7 -7
- package/lib/aws/storage/bucket.d.ts +1 -1
- package/lib/aws/storage/bucket.js +8 -8
- package/lib/aws/storage/capacity.js +1 -1
- package/lib/aws/storage/cors-config.generated.d.ts +5 -5
- package/lib/aws/storage/cors-config.generated.js +1 -1
- package/lib/aws/storage/cors-rule-config.generated.d.ts +5 -5
- package/lib/aws/storage/cors-rule-config.generated.js +1 -1
- package/lib/aws/storage/ecr-repository.js +11 -11
- package/lib/aws/storage/encryption.d.ts +1 -1
- package/lib/aws/storage/encryption.js +5 -5
- package/lib/aws/storage/lifecycle-config.generated.d.ts +9 -9
- package/lib/aws/storage/lifecycle-config.generated.js +1 -1
- package/lib/aws/storage/notification-targets/function.js +2 -2
- package/lib/aws/storage/notification-targets/queue.js +4 -4
- package/lib/aws/storage/origin-access-identity.d.ts +2 -2
- package/lib/aws/storage/origin-access-identity.js +3 -3
- package/lib/aws/storage/parameter-util.js +5 -5
- package/lib/aws/storage/parameter.d.ts +2 -2
- package/lib/aws/storage/parameter.js +16 -16
- package/lib/aws/storage/stream-grants.js +1 -1
- package/lib/aws/storage/table-grants.js +1 -1
- package/lib/aws/storage/table.d.ts +1 -1
- package/lib/aws/storage/table.js +10 -10
- package/lib/aws/storage/website-config.generated.d.ts +8 -8
- package/lib/aws/storage/website-config.generated.js +1 -1
- package/lib/bundling.js +5 -5
- package/lib/construct-base.d.ts +1 -1
- package/lib/construct-base.js +10 -10
- package/lib/duration.js +9 -9
- package/lib/errors.js +1 -1
- package/lib/expiration.js +1 -1
- package/lib/fs/ignore.js +4 -4
- package/lib/fs/index.js +1 -1
- package/lib/private/terraform-dependables-aspect.d.ts +1 -1
- package/lib/private/terraform-dependables-aspect.js +6 -6
- package/lib/private/unique-resource-name.js +3 -3
- package/lib/size.js +6 -6
- package/lib/stack-base.d.ts +2 -2
- package/lib/stack-base.js +16 -16
- package/lib/terra-func.d.ts +1 -1
- package/lib/terra-func.js +18 -18
- package/lib/time-zone.js +1 -1
- package/lib/token.js +5 -5
- package/package.json +17 -17
- package/setup.js +2 -2
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.Ipv6Addresses = exports.IpAddresses = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
// https://github.com/aws/aws-cdk/blob/v2.175.1/packages/aws-cdk-lib/aws-ec2/lib/ip-addresses.ts
|
|
7
|
-
const provider_aws_1 = require("@
|
|
8
|
-
const
|
|
7
|
+
const provider_aws_1 = require("@cdktn/provider-aws");
|
|
8
|
+
const cdktn_1 = require("cdktn");
|
|
9
9
|
const cidr_splits_1 = require("./cidr-splits");
|
|
10
10
|
const network_util_1 = require("./network-util");
|
|
11
11
|
/**
|
|
@@ -41,7 +41,7 @@ class IpAddresses {
|
|
|
41
41
|
}
|
|
42
42
|
exports.IpAddresses = IpAddresses;
|
|
43
43
|
_a = JSII_RTTI_SYMBOL_1;
|
|
44
|
-
IpAddresses[_a] = { fqn: "terraconstructs.aws.compute.IpAddresses", version: "0.2.
|
|
44
|
+
IpAddresses[_a] = { fqn: "terraconstructs.aws.compute.IpAddresses", version: "0.2.5" };
|
|
45
45
|
/**
|
|
46
46
|
* Implements integration with Amazon VPC IP Address Manager (IPAM).
|
|
47
47
|
*
|
|
@@ -92,7 +92,7 @@ class AwsIpam {
|
|
|
92
92
|
}));
|
|
93
93
|
const allocatedSubnets = cidrSplit.map((subnet) => {
|
|
94
94
|
return {
|
|
95
|
-
cidr:
|
|
95
|
+
cidr: cdktn_1.Fn.cidrsubnet(input.vpcCidr, subnet.newbits, subnet.index),
|
|
96
96
|
};
|
|
97
97
|
});
|
|
98
98
|
return {
|
|
@@ -118,7 +118,7 @@ class AwsIpam {
|
|
|
118
118
|
class Cidr {
|
|
119
119
|
constructor(cidrBlock) {
|
|
120
120
|
this.cidrBlock = cidrBlock;
|
|
121
|
-
if (
|
|
121
|
+
if (cdktn_1.Token.isUnresolved(cidrBlock)) {
|
|
122
122
|
throw new Error("'cidr' property must be a concrete CIDR string, got a Token (we need to parse it for automatic subdivision)");
|
|
123
123
|
}
|
|
124
124
|
this.networkBuilder = new network_util_1.NetworkBuilder(this.cidrBlock);
|
|
@@ -180,7 +180,7 @@ class Ipv6Addresses {
|
|
|
180
180
|
}
|
|
181
181
|
exports.Ipv6Addresses = Ipv6Addresses;
|
|
182
182
|
_b = JSII_RTTI_SYMBOL_1;
|
|
183
|
-
Ipv6Addresses[_b] = { fqn: "terraconstructs.aws.compute.Ipv6Addresses", version: "0.2.
|
|
183
|
+
Ipv6Addresses[_b] = { fqn: "terraconstructs.aws.compute.Ipv6Addresses", version: "0.2.5" };
|
|
184
184
|
/**
|
|
185
185
|
* Implements integration with Amazon provided IPv6 CIDRs.
|
|
186
186
|
*
|
|
@@ -213,7 +213,7 @@ class AmazonProvided {
|
|
|
213
213
|
*/
|
|
214
214
|
createIpv6CidrBlocks(input) {
|
|
215
215
|
let parentMask = input.parentMask ?? 56;
|
|
216
|
-
if (!
|
|
216
|
+
if (!cdktn_1.Token.isUnresolved(input.ipv6SelectedCidr)) {
|
|
217
217
|
parentMask = parseInt(input.ipv6SelectedCidr.split("/")[1], 10);
|
|
218
218
|
if (Number.isNaN(parentMask)) {
|
|
219
219
|
throw new Error(`Parent CIDR must include a valid mask, got: '${input.ipv6SelectedCidr}'`);
|
|
@@ -221,7 +221,7 @@ class AmazonProvided {
|
|
|
221
221
|
}
|
|
222
222
|
const sizeMask = parseInt(input.sizeMask ?? "64"); // 128 - 64
|
|
223
223
|
const newbits = sizeMask - parentMask;
|
|
224
|
-
return
|
|
224
|
+
return cdktn_1.Fn.cidrsubnets(input.ipv6SelectedCidr, Array.from({ length: input.subnetCount }, () => newbits));
|
|
225
225
|
}
|
|
226
226
|
/**
|
|
227
227
|
* Allocates Subnets IPv6 CIDRs. Called by VPC when creating subnets with IPv6 enabled.
|
|
@@ -236,7 +236,7 @@ class AmazonProvided {
|
|
|
236
236
|
input.allocatedSubnets.forEach((allocated, i) => {
|
|
237
237
|
const allocatedIpv6 = {
|
|
238
238
|
cidr: allocated.cidr,
|
|
239
|
-
ipv6Cidr:
|
|
239
|
+
ipv6Cidr: cdktn_1.Fn.element(input.ipv6Cidrs, i),
|
|
240
240
|
};
|
|
241
241
|
allocatedSubnets.push(allocatedIpv6);
|
|
242
242
|
});
|
|
@@ -245,4 +245,4 @@ class AmazonProvided {
|
|
|
245
245
|
};
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXAtYWRkcmVzc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2lwLWFkZHJlc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdHQUFnRztBQUVoRyxzREFHNkI7QUFDN0IsaUNBQWtDO0FBRWxDLCtDQUFvRDtBQUNwRCxpREFBZ0Q7QUFHaEQ7Ozs7R0FJRztBQUNILE1BQWEsV0FBVztJQUN0Qjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFpQjtRQUNsQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFtQjtRQUNqRCxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBdUIsQ0FBQzs7QUExQjFCLGtDQTJCQzs7O0FBdU5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLE9BQU87SUFDWCxZQUE2QixLQUFtQjtRQUFuQixVQUFLLEdBQUwsS0FBSyxDQUFjO0lBQUcsQ0FBQztJQUVwRDs7T0FFRztJQUNILGVBQWU7UUFDYixPQUFPO1lBQ0wsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7WUFDL0MsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYztTQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CLENBQUMsS0FBMEI7UUFDNUMsTUFBTSxTQUFTLEdBQUcsSUFBQSxpQ0FBbUIsRUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFDNUIsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xDLElBQ0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEtBQUss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QUFPLEdBQUcsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUV0QyxPQUFPLFVBQUUsQ0FBQyxXQUFXLENBQ25CLEtBQUssQ0FBQyxnQkFBZ0IsRUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQ3pELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILHVCQUF1QixDQUFDLEtBQThCO1FBQ3BELE1BQU0sZ0JBQWdCLEdBQXNCLEVBQUUsQ0FBQztRQUUvQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlDLE1BQU0sYUFBYSxHQUFvQjtnQkFDckMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO2dCQUNwQixRQUFRLEVBQUUsVUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQzthQUN6QyxDQUFDO1lBQ0YsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTztZQUNMLGdCQUFnQixFQUFFLGdCQUFnQjtTQUNuQyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjMi9saWIvaXAtYWRkcmVzc2VzLnRzXG5cbmltcG9ydCB7XG4gIC8vIHZwY0lwdjRDaWRyQmxvY2tBc3NvY2lhdGlvbixcbiAgdnBjSXB2NkNpZHJCbG9ja0Fzc29jaWF0aW9uLFxufSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgRm4sIFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgY2FsY3VsYXRlQ2lkclNwbGl0cyB9IGZyb20gXCIuL2NpZHItc3BsaXRzXCI7XG5pbXBvcnQgeyBOZXR3b3JrQnVpbGRlciB9IGZyb20gXCIuL25ldHdvcmstdXRpbFwiO1xuaW1wb3J0IHsgU3VibmV0Q29uZmlndXJhdGlvbiB9IGZyb20gXCIuL3ZwY1wiO1xuXG4vKipcbiAqIEFuIGFic3RyYWN0IFByb3ZpZGVyIG9mIElwQWRkcmVzc2VzXG4gKlxuICogTm90ZSB0aGlzIGlzIHNwZWNpZmljIHRvIHRoZSBJUHY0IENJRFIuXG4gKi9cbmV4cG9ydCBjbGFzcyBJcEFkZHJlc3NlcyB7XG4gIC8qKlxuICAgKiBVc2VkIHRvIHByb3ZpZGUgbG9jYWwgSXAgQWRkcmVzcyBNYW5hZ2VtZW50IHNlcnZpY2VzIGZvciB5b3VyIFZQQ1xuICAgKlxuICAgKiBWUEMgQ0lEUiBpcyBzdXBwbGllZCBhdCBjcmVhdGlvbiBhbmQgc3VibmV0cyBhcmUgY2FsY3VsYXRlZCBsb2NhbGx5XG4gICAqXG4gICAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NCBDSURSLlxuICAgKlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjaWRyKGNpZHJCbG9jazogc3RyaW5nKTogSUlwQWRkcmVzc2VzIHtcbiAgICByZXR1cm4gbmV3IENpZHIoY2lkckJsb2NrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHByb3ZpZGUgY2VudHJhbGl6ZWQgSXAgQWRkcmVzcyBNYW5hZ2VtZW50IHNlcnZpY2VzIGZvciB5b3VyIFZQQ1xuICAgKlxuICAgKiBVc2VzIFZQQyBDSURSIGFsbG9jYXRpb25zIGZyb20gQVdTIElQQU1cbiAgICpcbiAgICogTm90ZSB0aGlzIGlzIHNwZWNpZmljIHRvIHRoZSBJUHY0IENJRFIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3ZwYy9sYXRlc3QvaXBhbS93aGF0LWl0LWlzLWlwYW0uaHRtbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhd3NJcGFtQWxsb2NhdGlvbihwcm9wczogQXdzSXBhbVByb3BzKTogSUlwQWRkcmVzc2VzIHtcbiAgICByZXR1cm4gbmV3IEF3c0lwYW0ocHJvcHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHt9XG59XG5cbi8qKlxuICogSW1wbGVtZW50YXRpb25zIGZvciBpcCBhZGRyZXNzIG1hbmFnZW1lbnQuXG4gKlxuICogTm90ZSB0aGlzIGlzIHNwZWNpZmljIHRvIHRoZSBJUHY0IENJRFIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUlwQWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIENhbGxlZCBieSB0aGUgVlBDIHRvIHJldHJpZXZlIFZQQyBvcHRpb25zIGZyb20gdGhlIElwYW1cbiAgICpcbiAgICogRG9uJ3QgY2FsbCB0aGlzIGRpcmVjdGx5LCB0aGUgVlBDIHdpbGwgY2FsbCBpdCBhdXRvbWF0aWNhbGx5LlxuICAgKi9cbiAgYWxsb2NhdGVWcGNDaWRyKCk6IFZwY0lwYW1PcHRpb25zO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgdGhlIFZQQyB0byByZXRyaWV2ZSBTdWJuZXQgb3B0aW9ucyBmcm9tIHRoZSBJcGFtXG4gICAqXG4gICAqIERvbid0IGNhbGwgdGhpcyBkaXJlY3RseSwgdGhlIFZQQyB3aWxsIGNhbGwgaXQgYXV0b21hdGljYWxseS5cbiAgICovXG4gIGFsbG9jYXRlU3VibmV0c0NpZHIoaW5wdXQ6IEFsbG9jYXRlQ2lkclJlcXVlc3QpOiBTdWJuZXRJcGFtT3B0aW9ucztcbn1cblxuLyoqXG4gKiBDSURSIEFsbG9jYXRlZCBWcGNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNJcGFtT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBDSURSIEJsb2NrIGZvciBWcGNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBPbmx5IHJlcXVpcmVkIHdoZW4gSXBhbSBoYXMgY29uY3JldGUgYWxsb2NhdGlvbiBhdmFpbGFibGUgZm9yIHN0YXRpYyBWcGNcbiAgICovXG4gIHJlYWRvbmx5IGNpZHJCbG9jaz86IHN0cmluZztcblxuICAvKipcbiAgICogQ0lEUiBNYXNrIGZvciBWcGNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBPbmx5IHJlcXVpcmVkIHdoZW4gdXNpbmcgQVdTIElwYW1cbiAgICovXG4gIHJlYWRvbmx5IGlwdjROZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBpcHY0IElQQU0gUG9vbCBJZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE9ubHkgcmVxdWlyZWQgd2hlbiB1c2luZyBBV1MgSXBhbVxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NElwYW1Qb29sSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU3VibmV0IHJlcXVlc3RlZCBmb3IgYWxsb2NhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RlZFN1Ym5ldCB7XG4gIC8qKlxuICAgKiBUaGUgYXZhaWxhYmlsaXR5IHpvbmUgZm9yIHRoZSBzdWJuZXRcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmeSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgZm9yIGEgc2luZ2xlIHN1Ym5ldCBncm91cCBpbiBhIFZQQ1xuICAgKi9cbiAgcmVhZG9ubHkgY29uZmlndXJhdGlvbjogU3VibmV0Q29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogSWQgZm9yIHRoZSBTdWJuZXQgY29uc3RydWN0XG4gICAqL1xuICByZWFkb25seSBzdWJuZXRDb25zdHJ1Y3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIGluc3RhbmNlIG9mIGEgU3VibmV0IHJlcXVlc3RlZCBmb3IgYWxsb2NhdGlvblxuICovXG5pbnRlcmZhY2UgSVJlcXVlc3RlZFN1Ym5ldEluc3RhbmNlIHtcbiAgLyoqXG4gICAqIEluZGV4IGxvY2F0aW9uIG9mIFN1Ym5ldCByZXF1ZXN0ZWQgZm9yIGFsbG9jYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCByZXF1ZXN0ZWQgZm9yIGFsbG9jYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RlZFN1Ym5ldDogUmVxdWVzdGVkU3VibmV0O1xufVxuXG4vKipcbiAqIFJlcXVlc3QgZm9yIHN1Ym5ldHMgQ0lEUiB0byBiZSBhbGxvY2F0ZWQgZm9yIGEgVnBjXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxsb2NhdGVDaWRyUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBUaGUgSVB2NCBDSURSIGJsb2NrIGZvciB0aGlzIFZwY1xuICAgKi9cbiAgcmVhZG9ubHkgdnBjQ2lkcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgU3VibmV0cyB0byBiZSBhbGxvY2F0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RlZFN1Ym5ldHM6IFJlcXVlc3RlZFN1Ym5ldFtdO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgZm9yIGFsbG9jYXRpb24gb2YgdGhlIFZQQyBJUHY2IENJRFIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxsb2NhdGVWcGNJcHY2Q2lkclJlcXVlc3Qge1xuICAvKipcbiAgICogVGhlIFZQQyBjb25zdHJ1Y3QgdG8gYXR0YWNoIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdDtcblxuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSBWUEMuXG4gICAqL1xuICByZWFkb25seSB2cGNJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgZm9yIElQdjYgQ0lEUiBibG9jayB0byBiZSBzcGxpdCB1cC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVJcHY2Q2lkckJsb2Nrc1JlcXVlc3Qge1xuICAvKipcbiAgICogVGhlIElQdjYgQ0lEUiBibG9jayBzdHJpbmcgcmVwcmVzZW50YXRpb24uXG4gICAqL1xuICByZWFkb25seSBpcHY2U2VsZWN0ZWRDaWRyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc3VibmV0cyB0byBhc3NpZ24gQ0lEUnMgdG8uXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRDb3VudDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSBjb3ZlcmVkIGJpdHMgaW4gdGhlIENJRFIuXG4gICAqIEBkZWZhdWx0IC0gMTI4IC0gNjQgPSAvNjQgQ0lEUi5cbiAgICovXG4gIHJlYWRvbmx5IHNpemVNYXNrPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyZW50IG1hc2sgb2YgdGhlIENJRFIuXG4gICAqXG4gICAqIFZhbGlkIHZhbHVlcyBhcmUgZnJvbSA0NCB0byA2MCBpbiBpbmNyZW1lbnRzIG9mIDQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gNTZcbiAgICovXG4gIHJlYWRvbmx5IHBhcmVudE1hc2s/OiBudW1iZXI7XG59XG5cbi8qKlxuICogUmVxdWVzdCBmb3Igc3VibmV0IElQdjYgQ0lEUnMgdG8gYmUgYWxsb2NhdGVkIGZvciBhIFZQQy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGxvY2F0ZUlwdjZDaWRyUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBMaXN0IG9mIHN1Ym5ldHMgYWxsb2NhdGVkIHdpdGggSVB2NCBDSURSc1xuICAgKi9cbiAgcmVhZG9ubHkgYWxsb2NhdGVkU3VibmV0czogQWxsb2NhdGVkU3VibmV0W107XG5cbiAgLyoqXG4gICAqIFRoZSBJUHY2IENJRFJzIHRvIGJlIGFsbG9jYXRlZCB0byB0aGUgc3VibmV0c1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkNpZHJzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBDSURSIEFsbG9jYXRlZCBTdWJuZXRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0SXBhbU9wdGlvbnMge1xuICAvKipcbiAgICogQ0lEUiBBbGxvY2F0aW9ucyBmb3IgU3VibmV0c1xuICAgKi9cbiAgcmVhZG9ubHkgYWxsb2NhdGVkU3VibmV0czogQWxsb2NhdGVkU3VibmV0W107XG59XG5cbi8qKlxuICogQ0lEUiBBbGxvY2F0ZWQgU3VibmV0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxsb2NhdGVkU3VibmV0IHtcbiAgLyoqXG4gICAqIElQdjQgQ0lEUiBBbGxvY2F0aW9ucyBmb3IgYSBTdWJuZXQuXG4gICAqXG4gICAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NCBDSURSLlxuICAgKi9cbiAgcmVhZG9ubHkgY2lkcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJUHY2IENJRFIgQWxsb2NhdGlvbnMgZm9yIGEgU3VibmV0LlxuICAgKlxuICAgKiBOb3RlIHRoaXMgaXMgc3BlY2lmaWMgdG8gdGhlIElQdjYgQ0lEUi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBJUFY2IENJRFJcbiAgICovXG4gIHJlYWRvbmx5IGlwdjZDaWRyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIEF3c0lwYW1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NJcGFtUHJvcHMge1xuICAvKipcbiAgICogTmV0bWFzayBsZW5ndGggZm9yIFZwY1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NE5ldG1hc2tMZW5ndGg6IG51bWJlcjtcblxuICAvKipcbiAgICogSXBhbSBQb29sIElkIGZvciBpcHY0IGFsbG9jYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGlwdjRJcGFtUG9vbElkOiBzdHJpbmc7IC8vIHRvZG86IHNob3VsZCBiZSBhIHR5cGVcblxuICAvKipcbiAgICogRGVmYXVsdCBsZW5ndGggZm9yIFN1Ym5ldCBpcHY0IE5ldHdvcmsgbWFza1xuICAgKlxuICAgKiBTcGVjaWZ5IHRoaXMgb3B0aW9uIG9ubHkgaWYgeW91IGRvIG5vdCBzcGVjaWZ5IGFsbCBTdWJuZXRzIHVzaW5nIFN1Ym5ldENvbmZpZ3VyYXRpb24gd2l0aCBhIGNpZHJNYXNrXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBpcHY0IFN1Ym5ldCBNYXNrIGZvciBzdWJuZXRzIGluIFZwY1xuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFN1Ym5ldElwdjROZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEltcGxlbWVudHMgaW50ZWdyYXRpb24gd2l0aCBBbWF6b24gVlBDIElQIEFkZHJlc3MgTWFuYWdlciAoSVBBTSkuXG4gKlxuICogU2VlIHRoZSBwYWNrYWdlLWxldmVsIGRvY3VtZW50YXRpb24gb2YgdGhpcyBwYWNrYWdlIGZvciBhbiBvdmVydmlld1xuICogb2YgdGhlIHZhcmlvdXMgZGltZW5zaW9ucyBpbiB3aGljaCB5b3UgY2FuIGNvbmZpZ3VyZSB5b3VyIFZQQy5cbiAqXG4gKiBGb3IgZXhhbXBsZTpcbiAqXG4gKiBgYGB0c1xuICogIG5ldyBjb21wdXRlLlZwYyhzdGFjaywgJ1RoZVZQQycsIHtcbiAqICAgaXBBZGRyZXNzZXM6IElwQWRkcmVzc2VzLmF3c0lwYW1BbGxvY2F0aW9uKHtcbiAqICAgICBpcHY0SXBhbVBvb2xJZDogcG9vbC5yZWYsXG4gKiAgICAgaXB2NE5ldG1hc2tMZW5ndGg6IDE4LFxuICogICAgIGRlZmF1bHRTdWJuZXRJcHY0TmV0bWFza0xlbmd0aDogMjRcbiAqICAgfSlcbiAqIH0pO1xuICogYGBgXG4gKlxuICovXG5jbGFzcyBBd3NJcGFtIGltcGxlbWVudHMgSUlwQWRkcmVzc2VzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wczogQXdzSXBhbVByb3BzKSB7fVxuXG4gIC8qKlxuICAgKiBBbGxvY2F0ZXMgVnBjIENJRFIuIGNhbGxlZCB3aGVuIGNyZWF0aW5nIGEgVnBjIHVzaW5nIEF3c0lwYW0uXG4gICAqL1xuICBhbGxvY2F0ZVZwY0NpZHIoKTogVnBjSXBhbU9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBpcHY0TmV0bWFza0xlbmd0aDogdGhpcy5wcm9wcy5pcHY0TmV0bWFza0xlbmd0aCxcbiAgICAgIGlwdjRJcGFtUG9vbElkOiB0aGlzLnByb3BzLmlwdjRJcGFtUG9vbElkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQWxsb2NhdGVzIFN1Ym5ldHMgQ0lEUnMuIENhbGxlZCBieSBWUEMgd2hlbiBjcmVhdGluZyBzdWJuZXRzLlxuICAgKi9cbiAgYWxsb2NhdGVTdWJuZXRzQ2lkcihpbnB1dDogQWxsb2NhdGVDaWRyUmVxdWVzdCk6IFN1Ym5ldElwYW1PcHRpb25zIHtcbiAgICBjb25zdCBjaWRyU3BsaXQgPSBjYWxjdWxhdGVDaWRyU3BsaXRzKFxuICAgICAgdGhpcy5wcm9wcy5pcHY0TmV0bWFza0xlbmd0aCxcbiAgICAgIGlucHV0LnJlcXVlc3RlZFN1Ym5ldHMubWFwKChtYXNrKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBtYXNrLmNvbmZpZ3VyYXRpb24uY2lkck1hc2sgPT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHRoaXMucHJvcHMuZGVmYXVsdFN1Ym5ldElwdjROZXRtYXNrTGVuZ3RoID09PSB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgXCJJZiB5b3UgaGF2ZSBub3Qgc2V0IGEgY2lkciBmb3IgYWxsIHN1Ym5ldHMgaW4gdGhpcyBjYXNlIHlvdSBtdXN0IHNldCBhIGRlZmF1bHRDaWRyTWFzayBpbiBBd3NJcGFtIE9wdGlvbnNcIixcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2lkck1hc2sgPVxuICAgICAgICAgIG1hc2suY29uZmlndXJhdGlvbi5jaWRyTWFzayA/P1xuICAgICAgICAgIHRoaXMucHJvcHMuZGVmYXVsdFN1Ym5ldElwdjROZXRtYXNrTGVuZ3RoO1xuXG4gICAgICAgIGlmIChjaWRyTWFzayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgXCJTaG91bGQgbm90IGhhdmUgaGFwcGVuZWQsIGJ1dCBzYXRpc2ZpZXMgdGhlIHR5cGUgY2hlY2tlclwiLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2lkck1hc2s7XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgY29uc3QgYWxsb2NhdGVkU3VibmV0czogQWxsb2NhdGVkU3VibmV0W10gPSBjaWRyU3BsaXQubWFwKChzdWJuZXQpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNpZHI6IEZuLmNpZHJzdWJuZXQoaW5wdXQudnBjQ2lkciwgc3VibmV0Lm5ld2JpdHMsIHN1Ym5ldC5pbmRleCksXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFsbG9jYXRlZFN1Ym5ldHM6IGFsbG9jYXRlZFN1Ym5ldHMsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIEltcGxlbWVudHMgc3RhdGljIElwIGFzc2lnbm1lbnQgbG9jYWxseS5cbiAqXG4gKiBTZWUgdGhlIHBhY2thZ2UtbGV2ZWwgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHBhY2thZ2UgZm9yIGFuIG92ZXJ2aWV3XG4gKiBvZiB0aGUgdmFyaW91cyBkaW1lbnNpb25zIGluIHdoaWNoIHlvdSBjYW4gY29uZmlndXJlIHlvdXIgVlBDLlxuICpcbiAqIEZvciBleGFtcGxlOlxuICpcbiAqIGBgYHRzXG4gKiAgbmV3IGNvbXB1dGUuVnBjKHN0YWNrLCAnVGhlVlBDJywge1xuICogICBpcEFkZHJlc3NlczogY29tcHV0ZS5JcEFkZHJlc3Nlcy5jaWRyKCcxMC4wLjEuMC8yMCcpXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqL1xuY2xhc3MgQ2lkciBpbXBsZW1lbnRzIElJcEFkZHJlc3NlcyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmV0d29ya0J1aWxkZXI6IE5ldHdvcmtCdWlsZGVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2lkckJsb2NrOiBzdHJpbmcpIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKGNpZHJCbG9jaykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCInY2lkcicgcHJvcGVydHkgbXVzdCBiZSBhIGNvbmNyZXRlIENJRFIgc3RyaW5nLCBnb3QgYSBUb2tlbiAod2UgbmVlZCB0byBwYXJzZSBpdCBmb3IgYXV0b21hdGljIHN1YmRpdmlzaW9uKVwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLm5ldHdvcmtCdWlsZGVyID0gbmV3IE5ldHdvcmtCdWlsZGVyKHRoaXMuY2lkckJsb2NrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvY2F0ZXMgVnBjIENJRFIuIENhbGxlZCB3aGVuIGNyZWF0aW5nIGEgVnBjIHVzaW5nIElwQWRkcmVzc2VzLmNpZHIuXG4gICAqL1xuICBhbGxvY2F0ZVZwY0NpZHIoKTogVnBjSXBhbU9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBjaWRyQmxvY2s6IHRoaXMubmV0d29ya0J1aWxkZXIubmV0d29ya0NpZHIuY2lkcixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG9jYXRlcyBTdWJuZXRzIENpZHJzLiBDYWxsZWQgYnkgVlBDIHdoZW4gY3JlYXRpbmcgc3VibmV0cy5cbiAgICovXG4gIGFsbG9jYXRlU3VibmV0c0NpZHIoaW5wdXQ6IEFsbG9jYXRlQ2lkclJlcXVlc3QpOiBTdWJuZXRJcGFtT3B0aW9ucyB7XG4gICAgY29uc3QgYWxsb2NhdGVkU3VibmV0czogQWxsb2NhdGVkU3VibmV0W10gPSBbXTtcbiAgICBjb25zdCBzdWJuZXRzV2l0aG91dERlZmluZWRDaWRyOiBJUmVxdWVzdGVkU3VibmV0SW5zdGFuY2VbXSA9IFtdO1xuICAgIC8vZGVmYXVsdDogQXZhaWxhYmxlIElQIHNwYWNlIGlzIGV2ZW5seSBkaXZpZGVkIGFjcm9zcyBzdWJuZXRzIGlmIG5vIGNpZHIgaXMgZ2l2ZW4uXG5cbiAgICBpbnB1dC5yZXF1ZXN0ZWRTdWJuZXRzLmZvckVhY2goKHJlcXVlc3RlZFN1Ym5ldCwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChyZXF1ZXN0ZWRTdWJuZXQuY29uZmlndXJhdGlvbi5jaWRyTWFzayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHN1Ym5ldHNXaXRob3V0RGVmaW5lZENpZHIucHVzaCh7XG4gICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgcmVxdWVzdGVkU3VibmV0LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFsbG9jYXRlZFN1Ym5ldHMucHVzaCh7XG4gICAgICAgICAgY2lkcjogdGhpcy5uZXR3b3JrQnVpbGRlci5hZGRTdWJuZXQoXG4gICAgICAgICAgICByZXF1ZXN0ZWRTdWJuZXQuY29uZmlndXJhdGlvbi5jaWRyTWFzayxcbiAgICAgICAgICApLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGNpZHJNYXNrRm9yUmVtYWluaW5nID0gdGhpcy5uZXR3b3JrQnVpbGRlci5tYXNrRm9yUmVtYWluaW5nU3VibmV0cyhcbiAgICAgIHN1Ym5ldHNXaXRob3V0RGVmaW5lZENpZHIubGVuZ3RoLFxuICAgICk7XG4gICAgc3VibmV0c1dpdGhvdXREZWZpbmVkQ2lkci5mb3JFYWNoKChzdWJuZXQpID0+IHtcbiAgICAgIGFsbG9jYXRlZFN1Ym5ldHMuc3BsaWNlKHN1Ym5ldC5pbmRleCwgMCwge1xuICAgICAgICBjaWRyOiB0aGlzLm5ldHdvcmtCdWlsZGVyLmFkZFN1Ym5ldChjaWRyTWFza0ZvclJlbWFpbmluZyksXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBhbGxvY2F0ZWRTdWJuZXRzOiBhbGxvY2F0ZWRTdWJuZXRzLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBhYnN0cmFjdCBQcm92aWRlciBvZiBJcHY2QWRkcmVzc2VzLlxuICpcbiAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICovXG5leHBvcnQgY2xhc3MgSXB2NkFkZHJlc3NlcyB7XG4gIC8qKlxuICAgKiBVc2VkIGZvciBJUHY2IGFkZHJlc3MgbWFuYWdlbWVudCB3aXRoIEFtYXpvbiBwcm92aWRlZCBDSURScy5cbiAgICpcbiAgICogTm90ZSB0aGlzIGlzIHNwZWNpZmljIHRvIHRoZSBJUHY2IENJRFIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFtYXpvblByb3ZpZGVkKCk6IElJcHY2QWRkcmVzc2VzIHtcbiAgICByZXR1cm4gbmV3IEFtYXpvblByb3ZpZGVkKCk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cbn1cblxuLyoqXG4gKiBJbXBsZW1lbnRhdGlvbnMgZm9yIElQdjYgYWRkcmVzcyBtYW5hZ2VtZW50LlxuICpcbiAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElJcHY2QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIElQdjYgQ0lEUiBpcyBBbWF6b24gcHJvdmlkZWQgb3Igbm90LlxuICAgKlxuICAgKiBOb3RlIHRoaXMgaXMgc3BlY2lmaWMgdG8gdGhlIElQdjYgQ0lEUi5cbiAgICovXG4gIGFtYXpvblByb3ZpZGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgVlBDIHRvIGFsbG9jYXRlIElQdjYgQ0lEUi5cbiAgICpcbiAgICogTm90ZSB0aGlzIGlzIHNwZWNpZmljIHRvIHRoZSBJUHY2IENJRFIuXG4gICAqL1xuICBhbGxvY2F0ZVZwY0lwdjZDaWRyKFxuICAgIGlucHV0OiBBbGxvY2F0ZVZwY0lwdjZDaWRyUmVxdWVzdCxcbiAgKTogdnBjSXB2NkNpZHJCbG9ja0Fzc29jaWF0aW9uLlZwY0lwdjZDaWRyQmxvY2tBc3NvY2lhdGlvbjtcblxuICAvKipcbiAgICogU3BsaXQgSVB2NiBDSURSIGJsb2NrIHVwIGZvciBzdWJuZXRzLlxuICAgKlxuICAgKiBOb3RlIHRoaXMgaXMgc3BlY2lmaWMgdG8gdGhlIElQdjYgQ0lEUi5cbiAgICovXG4gIGNyZWF0ZUlwdjZDaWRyQmxvY2tzKGlucHV0OiBDcmVhdGVJcHY2Q2lkckJsb2Nrc1JlcXVlc3QpOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQWxsb2NhdGVzIFN1Ym5ldHMgSVB2NiBDSURScy4gQ2FsbGVkIGJ5IFZQQyB3aGVuIGNyZWF0aW5nIHN1Ym5ldHMgd2l0aCBJUHY2IGVuYWJsZWQuXG4gICAqXG4gICAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICAgKi9cbiAgYWxsb2NhdGVTdWJuZXRzSXB2NkNpZHIoaW5wdXQ6IEFsbG9jYXRlSXB2NkNpZHJSZXF1ZXN0KTogU3VibmV0SXBhbU9wdGlvbnM7XG59XG5cbi8qKlxuICogSW1wbGVtZW50cyBpbnRlZ3JhdGlvbiB3aXRoIEFtYXpvbiBwcm92aWRlZCBJUHY2IENJRFJzLlxuICpcbiAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICovXG5jbGFzcyBBbWF6b25Qcm92aWRlZCBpbXBsZW1lbnRzIElJcHY2QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIElQdjYgQ0lEUiBpcyBBbWF6b24gcHJvdmlkZWQgb3Igbm90LlxuICAgKlxuICAgKiBlcXVlc3RzIGFuIEFtYXpvbi1wcm92aWRlZCBJUHY2IENJRFIgYmxvY2sgd2l0aCBhIC81NiBwcmVmaXggbGVuZ3RoIGZvciB0aGUgVlBDLlxuICAgKiBZb3UgY2Fubm90IHNwZWNpZnkgdGhlIHJhbmdlIG9mIElQdjYgYWRkcmVzc2VzLCBvciB0aGUgc2l6ZSBvZiB0aGUgQ0lEUiBibG9ja1xuICAgKi9cbiAgYW1hem9uUHJvdmlkZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hbWF6b25Qcm92aWRlZCA9IHRydWU7XG4gIH1cbiAgLyoqXG4gICAqIENhbGxlZCBieSBWUEMgdG8gYWxsb2NhdGUgSVB2NiBDSURSLlxuICAgKlxuICAgKiBDcmVhdGVzIGFuIEFtYXpvbiBwcm92aWRlZCBDSURSIGJsb2NrLlxuICAgKlxuICAgKiBOb3RlIHRoaXMgaXMgc3BlY2lmaWMgdG8gdGhlIElQdjYgQ0lEUi5cbiAgICovXG4gIGFsbG9jYXRlVnBjSXB2NkNpZHIoXG4gICAgaW5wdXQ6IEFsbG9jYXRlVnBjSXB2NkNpZHJSZXF1ZXN0LFxuICApOiB2cGNJcHY2Q2lkckJsb2NrQXNzb2NpYXRpb24uVnBjSXB2NkNpZHJCbG9ja0Fzc29jaWF0aW9uIHtcbiAgICAvL3Rocm93IG5ldyBFcnJvcihgdnBjSWQgbm90IGZvdW5kLCBnb3QgJHsoc2NvcGUgYXMgYW55KS52cGNJZH1gKTtcbiAgICByZXR1cm4gbmV3IHZwY0lwdjZDaWRyQmxvY2tBc3NvY2lhdGlvbi5WcGNJcHY2Q2lkckJsb2NrQXNzb2NpYXRpb24oXG4gICAgICBpbnB1dC5zY29wZSxcbiAgICAgIFwiaXB2NmNpZHJcIixcbiAgICAgIHtcbiAgICAgICAgdnBjSWQ6IGlucHV0LnZwY0lkLFxuICAgICAgICBhc3NpZ25HZW5lcmF0ZWRJcHY2Q2lkckJsb2NrOiB0aGlzLmFtYXpvblByb3ZpZGVkLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwbGl0IElQdjYgQ0lEUiBibG9jayB1cCBmb3Igc3VibmV0cy5cbiAgICpcbiAgICogQ2FsbGVkIGJ5IFZQQyB3aGVuIGNyZWF0aW5nIHN1Ym5ldHMgd2l0aCBJUHY2IGVuYWJsZWQuXG4gICAqXG4gICAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICAgKi9cbiAgY3JlYXRlSXB2NkNpZHJCbG9ja3MoaW5wdXQ6IENyZWF0ZUlwdjZDaWRyQmxvY2tzUmVxdWVzdCk6IHN0cmluZ1tdIHtcbiAgICBsZXQgcGFyZW50TWFzazogbnVtYmVyID0gaW5wdXQucGFyZW50TWFzayA/PyA1NjtcbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChpbnB1dC5pcHY2U2VsZWN0ZWRDaWRyKSkge1xuICAgICAgcGFyZW50TWFzayA9IHBhcnNlSW50KGlucHV0LmlwdjZTZWxlY3RlZENpZHIuc3BsaXQoXCIvXCIpWzFdLCAxMCk7XG4gICAgICBpZiAoTnVtYmVyLmlzTmFOKHBhcmVudE1hc2spKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgUGFyZW50IENJRFIgbXVzdCBpbmNsdWRlIGEgdmFsaWQgbWFzaywgZ290OiAnJHtpbnB1dC5pcHY2U2VsZWN0ZWRDaWRyfSdgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBzaXplTWFzayA9IHBhcnNlSW50KGlucHV0LnNpemVNYXNrID8/IFwiNjRcIik7IC8vIDEyOCAtIDY0XG4gICAgY29uc3QgbmV3Yml0cyA9IHNpemVNYXNrIC0gcGFyZW50TWFzaztcblxuICAgIHJldHVybiBGbi5jaWRyc3VibmV0cyhcbiAgICAgIGlucHV0LmlwdjZTZWxlY3RlZENpZHIsXG4gICAgICBBcnJheS5mcm9tKHsgbGVuZ3RoOiBpbnB1dC5zdWJuZXRDb3VudCB9LCAoKSA9PiBuZXdiaXRzKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG9jYXRlcyBTdWJuZXRzIElQdjYgQ0lEUnMuIENhbGxlZCBieSBWUEMgd2hlbiBjcmVhdGluZyBzdWJuZXRzIHdpdGggSVB2NiBlbmFibGVkLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIHRoZSBsaXN0IG9mIGFsbG9jYXRlZCBzdWJuZXRzLFxuICAgKiBhbmQgY29waWVzIHRoZSBJUHY0IENJRFJzIHdoaWxlIGFsc28gYXNzaWduaW5nIHRoZSBJUHY2IENJRFIuXG4gICAqXG4gICAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICAgKi9cbiAgYWxsb2NhdGVTdWJuZXRzSXB2NkNpZHIoaW5wdXQ6IEFsbG9jYXRlSXB2NkNpZHJSZXF1ZXN0KTogU3VibmV0SXBhbU9wdGlvbnMge1xuICAgIGNvbnN0IGFsbG9jYXRlZFN1Ym5ldHM6IEFsbG9jYXRlZFN1Ym5ldFtdID0gW107XG5cbiAgICBpbnB1dC5hbGxvY2F0ZWRTdWJuZXRzLmZvckVhY2goKGFsbG9jYXRlZCwgaSkgPT4ge1xuICAgICAgY29uc3QgYWxsb2NhdGVkSXB2NjogQWxsb2NhdGVkU3VibmV0ID0ge1xuICAgICAgICBjaWRyOiBhbGxvY2F0ZWQuY2lkcixcbiAgICAgICAgaXB2NkNpZHI6IEZuLmVsZW1lbnQoaW5wdXQuaXB2NkNpZHJzLCBpKSxcbiAgICAgIH07XG4gICAgICBhbGxvY2F0ZWRTdWJuZXRzLnB1c2goYWxsb2NhdGVkSXB2Nik7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWxsb2NhdGVkU3VibmV0czogYWxsb2NhdGVkU3VibmV0cyxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXAtYWRkcmVzc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2lwLWFkZHJlc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdHQUFnRztBQUVoRyxzREFHNkI7QUFDN0IsaUNBQWtDO0FBRWxDLCtDQUFvRDtBQUNwRCxpREFBZ0Q7QUFHaEQ7Ozs7R0FJRztBQUNILE1BQWEsV0FBVztJQUN0Qjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFpQjtRQUNsQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFtQjtRQUNqRCxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBdUIsQ0FBQzs7QUExQjFCLGtDQTJCQzs7O0FBdU5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLE9BQU87SUFDWCxZQUE2QixLQUFtQjtRQUFuQixVQUFLLEdBQUwsS0FBSyxDQUFjO0lBQUcsQ0FBQztJQUVwRDs7T0FFRztJQUNILGVBQWU7UUFDYixPQUFPO1lBQ0wsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7WUFDL0MsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYztTQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CLENBQUMsS0FBMEI7UUFDNUMsTUFBTSxTQUFTLEdBQUcsSUFBQSxpQ0FBbUIsRUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFDNUIsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xDLElBQ0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEtBQUss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QUFPLEdBQUcsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUV0QyxPQUFPLFVBQUUsQ0FBQyxXQUFXLENBQ25CLEtBQUssQ0FBQyxnQkFBZ0IsRUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQ3pELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILHVCQUF1QixDQUFDLEtBQThCO1FBQ3BELE1BQU0sZ0JBQWdCLEdBQXNCLEVBQUUsQ0FBQztRQUUvQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlDLE1BQU0sYUFBYSxHQUFvQjtnQkFDckMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO2dCQUNwQixRQUFRLEVBQUUsVUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQzthQUN6QyxDQUFDO1lBQ0YsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTztZQUNMLGdCQUFnQixFQUFFLGdCQUFnQjtTQUNuQyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjMi9saWIvaXAtYWRkcmVzc2VzLnRzXG5cbmltcG9ydCB7XG4gIC8vIHZwY0lwdjRDaWRyQmxvY2tBc3NvY2lhdGlvbixcbiAgdnBjSXB2NkNpZHJCbG9ja0Fzc29jaWF0aW9uLFxufSBmcm9tIFwiQGNka3RuL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgRm4sIFRva2VuIH0gZnJvbSBcImNka3RuXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgY2FsY3VsYXRlQ2lkclNwbGl0cyB9IGZyb20gXCIuL2NpZHItc3BsaXRzXCI7XG5pbXBvcnQgeyBOZXR3b3JrQnVpbGRlciB9IGZyb20gXCIuL25ldHdvcmstdXRpbFwiO1xuaW1wb3J0IHsgU3VibmV0Q29uZmlndXJhdGlvbiB9IGZyb20gXCIuL3ZwY1wiO1xuXG4vKipcbiAqIEFuIGFic3RyYWN0IFByb3ZpZGVyIG9mIElwQWRkcmVzc2VzXG4gKlxuICogTm90ZSB0aGlzIGlzIHNwZWNpZmljIHRvIHRoZSBJUHY0IENJRFIuXG4gKi9cbmV4cG9ydCBjbGFzcyBJcEFkZHJlc3NlcyB7XG4gIC8qKlxuICAgKiBVc2VkIHRvIHByb3ZpZGUgbG9jYWwgSXAgQWRkcmVzcyBNYW5hZ2VtZW50IHNlcnZpY2VzIGZvciB5b3VyIFZQQ1xuICAgKlxuICAgKiBWUEMgQ0lEUiBpcyBzdXBwbGllZCBhdCBjcmVhdGlvbiBhbmQgc3VibmV0cyBhcmUgY2FsY3VsYXRlZCBsb2NhbGx5XG4gICAqXG4gICAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NCBDSURSLlxuICAgKlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjaWRyKGNpZHJCbG9jazogc3RyaW5nKTogSUlwQWRkcmVzc2VzIHtcbiAgICByZXR1cm4gbmV3IENpZHIoY2lkckJsb2NrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHByb3ZpZGUgY2VudHJhbGl6ZWQgSXAgQWRkcmVzcyBNYW5hZ2VtZW50IHNlcnZpY2VzIGZvciB5b3VyIFZQQ1xuICAgKlxuICAgKiBVc2VzIFZQQyBDSURSIGFsbG9jYXRpb25zIGZyb20gQVdTIElQQU1cbiAgICpcbiAgICogTm90ZSB0aGlzIGlzIHNwZWNpZmljIHRvIHRoZSBJUHY0IENJRFIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3ZwYy9sYXRlc3QvaXBhbS93aGF0LWl0LWlzLWlwYW0uaHRtbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhd3NJcGFtQWxsb2NhdGlvbihwcm9wczogQXdzSXBhbVByb3BzKTogSUlwQWRkcmVzc2VzIHtcbiAgICByZXR1cm4gbmV3IEF3c0lwYW0ocHJvcHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHt9XG59XG5cbi8qKlxuICogSW1wbGVtZW50YXRpb25zIGZvciBpcCBhZGRyZXNzIG1hbmFnZW1lbnQuXG4gKlxuICogTm90ZSB0aGlzIGlzIHNwZWNpZmljIHRvIHRoZSBJUHY0IENJRFIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUlwQWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIENhbGxlZCBieSB0aGUgVlBDIHRvIHJldHJpZXZlIFZQQyBvcHRpb25zIGZyb20gdGhlIElwYW1cbiAgICpcbiAgICogRG9uJ3QgY2FsbCB0aGlzIGRpcmVjdGx5LCB0aGUgVlBDIHdpbGwgY2FsbCBpdCBhdXRvbWF0aWNhbGx5LlxuICAgKi9cbiAgYWxsb2NhdGVWcGNDaWRyKCk6IFZwY0lwYW1PcHRpb25zO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgdGhlIFZQQyB0byByZXRyaWV2ZSBTdWJuZXQgb3B0aW9ucyBmcm9tIHRoZSBJcGFtXG4gICAqXG4gICAqIERvbid0IGNhbGwgdGhpcyBkaXJlY3RseSwgdGhlIFZQQyB3aWxsIGNhbGwgaXQgYXV0b21hdGljYWxseS5cbiAgICovXG4gIGFsbG9jYXRlU3VibmV0c0NpZHIoaW5wdXQ6IEFsbG9jYXRlQ2lkclJlcXVlc3QpOiBTdWJuZXRJcGFtT3B0aW9ucztcbn1cblxuLyoqXG4gKiBDSURSIEFsbG9jYXRlZCBWcGNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNJcGFtT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBDSURSIEJsb2NrIGZvciBWcGNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBPbmx5IHJlcXVpcmVkIHdoZW4gSXBhbSBoYXMgY29uY3JldGUgYWxsb2NhdGlvbiBhdmFpbGFibGUgZm9yIHN0YXRpYyBWcGNcbiAgICovXG4gIHJlYWRvbmx5IGNpZHJCbG9jaz86IHN0cmluZztcblxuICAvKipcbiAgICogQ0lEUiBNYXNrIGZvciBWcGNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBPbmx5IHJlcXVpcmVkIHdoZW4gdXNpbmcgQVdTIElwYW1cbiAgICovXG4gIHJlYWRvbmx5IGlwdjROZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBpcHY0IElQQU0gUG9vbCBJZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE9ubHkgcmVxdWlyZWQgd2hlbiB1c2luZyBBV1MgSXBhbVxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NElwYW1Qb29sSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU3VibmV0IHJlcXVlc3RlZCBmb3IgYWxsb2NhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RlZFN1Ym5ldCB7XG4gIC8qKlxuICAgKiBUaGUgYXZhaWxhYmlsaXR5IHpvbmUgZm9yIHRoZSBzdWJuZXRcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmeSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgZm9yIGEgc2luZ2xlIHN1Ym5ldCBncm91cCBpbiBhIFZQQ1xuICAgKi9cbiAgcmVhZG9ubHkgY29uZmlndXJhdGlvbjogU3VibmV0Q29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogSWQgZm9yIHRoZSBTdWJuZXQgY29uc3RydWN0XG4gICAqL1xuICByZWFkb25seSBzdWJuZXRDb25zdHJ1Y3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIGluc3RhbmNlIG9mIGEgU3VibmV0IHJlcXVlc3RlZCBmb3IgYWxsb2NhdGlvblxuICovXG5pbnRlcmZhY2UgSVJlcXVlc3RlZFN1Ym5ldEluc3RhbmNlIHtcbiAgLyoqXG4gICAqIEluZGV4IGxvY2F0aW9uIG9mIFN1Ym5ldCByZXF1ZXN0ZWQgZm9yIGFsbG9jYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCByZXF1ZXN0ZWQgZm9yIGFsbG9jYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RlZFN1Ym5ldDogUmVxdWVzdGVkU3VibmV0O1xufVxuXG4vKipcbiAqIFJlcXVlc3QgZm9yIHN1Ym5ldHMgQ0lEUiB0byBiZSBhbGxvY2F0ZWQgZm9yIGEgVnBjXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxsb2NhdGVDaWRyUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBUaGUgSVB2NCBDSURSIGJsb2NrIGZvciB0aGlzIFZwY1xuICAgKi9cbiAgcmVhZG9ubHkgdnBjQ2lkcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgU3VibmV0cyB0byBiZSBhbGxvY2F0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RlZFN1Ym5ldHM6IFJlcXVlc3RlZFN1Ym5ldFtdO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgZm9yIGFsbG9jYXRpb24gb2YgdGhlIFZQQyBJUHY2IENJRFIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxsb2NhdGVWcGNJcHY2Q2lkclJlcXVlc3Qge1xuICAvKipcbiAgICogVGhlIFZQQyBjb25zdHJ1Y3QgdG8gYXR0YWNoIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdDtcblxuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSBWUEMuXG4gICAqL1xuICByZWFkb25seSB2cGNJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgZm9yIElQdjYgQ0lEUiBibG9jayB0byBiZSBzcGxpdCB1cC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVJcHY2Q2lkckJsb2Nrc1JlcXVlc3Qge1xuICAvKipcbiAgICogVGhlIElQdjYgQ0lEUiBibG9jayBzdHJpbmcgcmVwcmVzZW50YXRpb24uXG4gICAqL1xuICByZWFkb25seSBpcHY2U2VsZWN0ZWRDaWRyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc3VibmV0cyB0byBhc3NpZ24gQ0lEUnMgdG8uXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRDb3VudDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSBjb3ZlcmVkIGJpdHMgaW4gdGhlIENJRFIuXG4gICAqIEBkZWZhdWx0IC0gMTI4IC0gNjQgPSAvNjQgQ0lEUi5cbiAgICovXG4gIHJlYWRvbmx5IHNpemVNYXNrPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyZW50IG1hc2sgb2YgdGhlIENJRFIuXG4gICAqXG4gICAqIFZhbGlkIHZhbHVlcyBhcmUgZnJvbSA0NCB0byA2MCBpbiBpbmNyZW1lbnRzIG9mIDQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gNTZcbiAgICovXG4gIHJlYWRvbmx5IHBhcmVudE1hc2s/OiBudW1iZXI7XG59XG5cbi8qKlxuICogUmVxdWVzdCBmb3Igc3VibmV0IElQdjYgQ0lEUnMgdG8gYmUgYWxsb2NhdGVkIGZvciBhIFZQQy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGxvY2F0ZUlwdjZDaWRyUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBMaXN0IG9mIHN1Ym5ldHMgYWxsb2NhdGVkIHdpdGggSVB2NCBDSURSc1xuICAgKi9cbiAgcmVhZG9ubHkgYWxsb2NhdGVkU3VibmV0czogQWxsb2NhdGVkU3VibmV0W107XG5cbiAgLyoqXG4gICAqIFRoZSBJUHY2IENJRFJzIHRvIGJlIGFsbG9jYXRlZCB0byB0aGUgc3VibmV0c1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkNpZHJzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBDSURSIEFsbG9jYXRlZCBTdWJuZXRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0SXBhbU9wdGlvbnMge1xuICAvKipcbiAgICogQ0lEUiBBbGxvY2F0aW9ucyBmb3IgU3VibmV0c1xuICAgKi9cbiAgcmVhZG9ubHkgYWxsb2NhdGVkU3VibmV0czogQWxsb2NhdGVkU3VibmV0W107XG59XG5cbi8qKlxuICogQ0lEUiBBbGxvY2F0ZWQgU3VibmV0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxsb2NhdGVkU3VibmV0IHtcbiAgLyoqXG4gICAqIElQdjQgQ0lEUiBBbGxvY2F0aW9ucyBmb3IgYSBTdWJuZXQuXG4gICAqXG4gICAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NCBDSURSLlxuICAgKi9cbiAgcmVhZG9ubHkgY2lkcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJUHY2IENJRFIgQWxsb2NhdGlvbnMgZm9yIGEgU3VibmV0LlxuICAgKlxuICAgKiBOb3RlIHRoaXMgaXMgc3BlY2lmaWMgdG8gdGhlIElQdjYgQ0lEUi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBJUFY2IENJRFJcbiAgICovXG4gIHJlYWRvbmx5IGlwdjZDaWRyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIEF3c0lwYW1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NJcGFtUHJvcHMge1xuICAvKipcbiAgICogTmV0bWFzayBsZW5ndGggZm9yIFZwY1xuICAgKi9cbiAgcmVhZG9ubHkgaXB2NE5ldG1hc2tMZW5ndGg6IG51bWJlcjtcblxuICAvKipcbiAgICogSXBhbSBQb29sIElkIGZvciBpcHY0IGFsbG9jYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGlwdjRJcGFtUG9vbElkOiBzdHJpbmc7IC8vIHRvZG86IHNob3VsZCBiZSBhIHR5cGVcblxuICAvKipcbiAgICogRGVmYXVsdCBsZW5ndGggZm9yIFN1Ym5ldCBpcHY0IE5ldHdvcmsgbWFza1xuICAgKlxuICAgKiBTcGVjaWZ5IHRoaXMgb3B0aW9uIG9ubHkgaWYgeW91IGRvIG5vdCBzcGVjaWZ5IGFsbCBTdWJuZXRzIHVzaW5nIFN1Ym5ldENvbmZpZ3VyYXRpb24gd2l0aCBhIGNpZHJNYXNrXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBpcHY0IFN1Ym5ldCBNYXNrIGZvciBzdWJuZXRzIGluIFZwY1xuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFN1Ym5ldElwdjROZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEltcGxlbWVudHMgaW50ZWdyYXRpb24gd2l0aCBBbWF6b24gVlBDIElQIEFkZHJlc3MgTWFuYWdlciAoSVBBTSkuXG4gKlxuICogU2VlIHRoZSBwYWNrYWdlLWxldmVsIGRvY3VtZW50YXRpb24gb2YgdGhpcyBwYWNrYWdlIGZvciBhbiBvdmVydmlld1xuICogb2YgdGhlIHZhcmlvdXMgZGltZW5zaW9ucyBpbiB3aGljaCB5b3UgY2FuIGNvbmZpZ3VyZSB5b3VyIFZQQy5cbiAqXG4gKiBGb3IgZXhhbXBsZTpcbiAqXG4gKiBgYGB0c1xuICogIG5ldyBjb21wdXRlLlZwYyhzdGFjaywgJ1RoZVZQQycsIHtcbiAqICAgaXBBZGRyZXNzZXM6IElwQWRkcmVzc2VzLmF3c0lwYW1BbGxvY2F0aW9uKHtcbiAqICAgICBpcHY0SXBhbVBvb2xJZDogcG9vbC5yZWYsXG4gKiAgICAgaXB2NE5ldG1hc2tMZW5ndGg6IDE4LFxuICogICAgIGRlZmF1bHRTdWJuZXRJcHY0TmV0bWFza0xlbmd0aDogMjRcbiAqICAgfSlcbiAqIH0pO1xuICogYGBgXG4gKlxuICovXG5jbGFzcyBBd3NJcGFtIGltcGxlbWVudHMgSUlwQWRkcmVzc2VzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wczogQXdzSXBhbVByb3BzKSB7fVxuXG4gIC8qKlxuICAgKiBBbGxvY2F0ZXMgVnBjIENJRFIuIGNhbGxlZCB3aGVuIGNyZWF0aW5nIGEgVnBjIHVzaW5nIEF3c0lwYW0uXG4gICAqL1xuICBhbGxvY2F0ZVZwY0NpZHIoKTogVnBjSXBhbU9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBpcHY0TmV0bWFza0xlbmd0aDogdGhpcy5wcm9wcy5pcHY0TmV0bWFza0xlbmd0aCxcbiAgICAgIGlwdjRJcGFtUG9vbElkOiB0aGlzLnByb3BzLmlwdjRJcGFtUG9vbElkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQWxsb2NhdGVzIFN1Ym5ldHMgQ0lEUnMuIENhbGxlZCBieSBWUEMgd2hlbiBjcmVhdGluZyBzdWJuZXRzLlxuICAgKi9cbiAgYWxsb2NhdGVTdWJuZXRzQ2lkcihpbnB1dDogQWxsb2NhdGVDaWRyUmVxdWVzdCk6IFN1Ym5ldElwYW1PcHRpb25zIHtcbiAgICBjb25zdCBjaWRyU3BsaXQgPSBjYWxjdWxhdGVDaWRyU3BsaXRzKFxuICAgICAgdGhpcy5wcm9wcy5pcHY0TmV0bWFza0xlbmd0aCxcbiAgICAgIGlucHV0LnJlcXVlc3RlZFN1Ym5ldHMubWFwKChtYXNrKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBtYXNrLmNvbmZpZ3VyYXRpb24uY2lkck1hc2sgPT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHRoaXMucHJvcHMuZGVmYXVsdFN1Ym5ldElwdjROZXRtYXNrTGVuZ3RoID09PSB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgXCJJZiB5b3UgaGF2ZSBub3Qgc2V0IGEgY2lkciBmb3IgYWxsIHN1Ym5ldHMgaW4gdGhpcyBjYXNlIHlvdSBtdXN0IHNldCBhIGRlZmF1bHRDaWRyTWFzayBpbiBBd3NJcGFtIE9wdGlvbnNcIixcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2lkck1hc2sgPVxuICAgICAgICAgIG1hc2suY29uZmlndXJhdGlvbi5jaWRyTWFzayA/P1xuICAgICAgICAgIHRoaXMucHJvcHMuZGVmYXVsdFN1Ym5ldElwdjROZXRtYXNrTGVuZ3RoO1xuXG4gICAgICAgIGlmIChjaWRyTWFzayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgXCJTaG91bGQgbm90IGhhdmUgaGFwcGVuZWQsIGJ1dCBzYXRpc2ZpZXMgdGhlIHR5cGUgY2hlY2tlclwiLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2lkck1hc2s7XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgY29uc3QgYWxsb2NhdGVkU3VibmV0czogQWxsb2NhdGVkU3VibmV0W10gPSBjaWRyU3BsaXQubWFwKChzdWJuZXQpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNpZHI6IEZuLmNpZHJzdWJuZXQoaW5wdXQudnBjQ2lkciwgc3VibmV0Lm5ld2JpdHMsIHN1Ym5ldC5pbmRleCksXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFsbG9jYXRlZFN1Ym5ldHM6IGFsbG9jYXRlZFN1Ym5ldHMsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIEltcGxlbWVudHMgc3RhdGljIElwIGFzc2lnbm1lbnQgbG9jYWxseS5cbiAqXG4gKiBTZWUgdGhlIHBhY2thZ2UtbGV2ZWwgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHBhY2thZ2UgZm9yIGFuIG92ZXJ2aWV3XG4gKiBvZiB0aGUgdmFyaW91cyBkaW1lbnNpb25zIGluIHdoaWNoIHlvdSBjYW4gY29uZmlndXJlIHlvdXIgVlBDLlxuICpcbiAqIEZvciBleGFtcGxlOlxuICpcbiAqIGBgYHRzXG4gKiAgbmV3IGNvbXB1dGUuVnBjKHN0YWNrLCAnVGhlVlBDJywge1xuICogICBpcEFkZHJlc3NlczogY29tcHV0ZS5JcEFkZHJlc3Nlcy5jaWRyKCcxMC4wLjEuMC8yMCcpXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqL1xuY2xhc3MgQ2lkciBpbXBsZW1lbnRzIElJcEFkZHJlc3NlcyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmV0d29ya0J1aWxkZXI6IE5ldHdvcmtCdWlsZGVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2lkckJsb2NrOiBzdHJpbmcpIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKGNpZHJCbG9jaykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCInY2lkcicgcHJvcGVydHkgbXVzdCBiZSBhIGNvbmNyZXRlIENJRFIgc3RyaW5nLCBnb3QgYSBUb2tlbiAod2UgbmVlZCB0byBwYXJzZSBpdCBmb3IgYXV0b21hdGljIHN1YmRpdmlzaW9uKVwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLm5ldHdvcmtCdWlsZGVyID0gbmV3IE5ldHdvcmtCdWlsZGVyKHRoaXMuY2lkckJsb2NrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvY2F0ZXMgVnBjIENJRFIuIENhbGxlZCB3aGVuIGNyZWF0aW5nIGEgVnBjIHVzaW5nIElwQWRkcmVzc2VzLmNpZHIuXG4gICAqL1xuICBhbGxvY2F0ZVZwY0NpZHIoKTogVnBjSXBhbU9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBjaWRyQmxvY2s6IHRoaXMubmV0d29ya0J1aWxkZXIubmV0d29ya0NpZHIuY2lkcixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG9jYXRlcyBTdWJuZXRzIENpZHJzLiBDYWxsZWQgYnkgVlBDIHdoZW4gY3JlYXRpbmcgc3VibmV0cy5cbiAgICovXG4gIGFsbG9jYXRlU3VibmV0c0NpZHIoaW5wdXQ6IEFsbG9jYXRlQ2lkclJlcXVlc3QpOiBTdWJuZXRJcGFtT3B0aW9ucyB7XG4gICAgY29uc3QgYWxsb2NhdGVkU3VibmV0czogQWxsb2NhdGVkU3VibmV0W10gPSBbXTtcbiAgICBjb25zdCBzdWJuZXRzV2l0aG91dERlZmluZWRDaWRyOiBJUmVxdWVzdGVkU3VibmV0SW5zdGFuY2VbXSA9IFtdO1xuICAgIC8vZGVmYXVsdDogQXZhaWxhYmxlIElQIHNwYWNlIGlzIGV2ZW5seSBkaXZpZGVkIGFjcm9zcyBzdWJuZXRzIGlmIG5vIGNpZHIgaXMgZ2l2ZW4uXG5cbiAgICBpbnB1dC5yZXF1ZXN0ZWRTdWJuZXRzLmZvckVhY2goKHJlcXVlc3RlZFN1Ym5ldCwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChyZXF1ZXN0ZWRTdWJuZXQuY29uZmlndXJhdGlvbi5jaWRyTWFzayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHN1Ym5ldHNXaXRob3V0RGVmaW5lZENpZHIucHVzaCh7XG4gICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgcmVxdWVzdGVkU3VibmV0LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFsbG9jYXRlZFN1Ym5ldHMucHVzaCh7XG4gICAgICAgICAgY2lkcjogdGhpcy5uZXR3b3JrQnVpbGRlci5hZGRTdWJuZXQoXG4gICAgICAgICAgICByZXF1ZXN0ZWRTdWJuZXQuY29uZmlndXJhdGlvbi5jaWRyTWFzayxcbiAgICAgICAgICApLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGNpZHJNYXNrRm9yUmVtYWluaW5nID0gdGhpcy5uZXR3b3JrQnVpbGRlci5tYXNrRm9yUmVtYWluaW5nU3VibmV0cyhcbiAgICAgIHN1Ym5ldHNXaXRob3V0RGVmaW5lZENpZHIubGVuZ3RoLFxuICAgICk7XG4gICAgc3VibmV0c1dpdGhvdXREZWZpbmVkQ2lkci5mb3JFYWNoKChzdWJuZXQpID0+IHtcbiAgICAgIGFsbG9jYXRlZFN1Ym5ldHMuc3BsaWNlKHN1Ym5ldC5pbmRleCwgMCwge1xuICAgICAgICBjaWRyOiB0aGlzLm5ldHdvcmtCdWlsZGVyLmFkZFN1Ym5ldChjaWRyTWFza0ZvclJlbWFpbmluZyksXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBhbGxvY2F0ZWRTdWJuZXRzOiBhbGxvY2F0ZWRTdWJuZXRzLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBhYnN0cmFjdCBQcm92aWRlciBvZiBJcHY2QWRkcmVzc2VzLlxuICpcbiAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICovXG5leHBvcnQgY2xhc3MgSXB2NkFkZHJlc3NlcyB7XG4gIC8qKlxuICAgKiBVc2VkIGZvciBJUHY2IGFkZHJlc3MgbWFuYWdlbWVudCB3aXRoIEFtYXpvbiBwcm92aWRlZCBDSURScy5cbiAgICpcbiAgICogTm90ZSB0aGlzIGlzIHNwZWNpZmljIHRvIHRoZSBJUHY2IENJRFIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFtYXpvblByb3ZpZGVkKCk6IElJcHY2QWRkcmVzc2VzIHtcbiAgICByZXR1cm4gbmV3IEFtYXpvblByb3ZpZGVkKCk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cbn1cblxuLyoqXG4gKiBJbXBsZW1lbnRhdGlvbnMgZm9yIElQdjYgYWRkcmVzcyBtYW5hZ2VtZW50LlxuICpcbiAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElJcHY2QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIElQdjYgQ0lEUiBpcyBBbWF6b24gcHJvdmlkZWQgb3Igbm90LlxuICAgKlxuICAgKiBOb3RlIHRoaXMgaXMgc3BlY2lmaWMgdG8gdGhlIElQdjYgQ0lEUi5cbiAgICovXG4gIGFtYXpvblByb3ZpZGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgVlBDIHRvIGFsbG9jYXRlIElQdjYgQ0lEUi5cbiAgICpcbiAgICogTm90ZSB0aGlzIGlzIHNwZWNpZmljIHRvIHRoZSBJUHY2IENJRFIuXG4gICAqL1xuICBhbGxvY2F0ZVZwY0lwdjZDaWRyKFxuICAgIGlucHV0OiBBbGxvY2F0ZVZwY0lwdjZDaWRyUmVxdWVzdCxcbiAgKTogdnBjSXB2NkNpZHJCbG9ja0Fzc29jaWF0aW9uLlZwY0lwdjZDaWRyQmxvY2tBc3NvY2lhdGlvbjtcblxuICAvKipcbiAgICogU3BsaXQgSVB2NiBDSURSIGJsb2NrIHVwIGZvciBzdWJuZXRzLlxuICAgKlxuICAgKiBOb3RlIHRoaXMgaXMgc3BlY2lmaWMgdG8gdGhlIElQdjYgQ0lEUi5cbiAgICovXG4gIGNyZWF0ZUlwdjZDaWRyQmxvY2tzKGlucHV0OiBDcmVhdGVJcHY2Q2lkckJsb2Nrc1JlcXVlc3QpOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQWxsb2NhdGVzIFN1Ym5ldHMgSVB2NiBDSURScy4gQ2FsbGVkIGJ5IFZQQyB3aGVuIGNyZWF0aW5nIHN1Ym5ldHMgd2l0aCBJUHY2IGVuYWJsZWQuXG4gICAqXG4gICAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICAgKi9cbiAgYWxsb2NhdGVTdWJuZXRzSXB2NkNpZHIoaW5wdXQ6IEFsbG9jYXRlSXB2NkNpZHJSZXF1ZXN0KTogU3VibmV0SXBhbU9wdGlvbnM7XG59XG5cbi8qKlxuICogSW1wbGVtZW50cyBpbnRlZ3JhdGlvbiB3aXRoIEFtYXpvbiBwcm92aWRlZCBJUHY2IENJRFJzLlxuICpcbiAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICovXG5jbGFzcyBBbWF6b25Qcm92aWRlZCBpbXBsZW1lbnRzIElJcHY2QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIElQdjYgQ0lEUiBpcyBBbWF6b24gcHJvdmlkZWQgb3Igbm90LlxuICAgKlxuICAgKiBlcXVlc3RzIGFuIEFtYXpvbi1wcm92aWRlZCBJUHY2IENJRFIgYmxvY2sgd2l0aCBhIC81NiBwcmVmaXggbGVuZ3RoIGZvciB0aGUgVlBDLlxuICAgKiBZb3UgY2Fubm90IHNwZWNpZnkgdGhlIHJhbmdlIG9mIElQdjYgYWRkcmVzc2VzLCBvciB0aGUgc2l6ZSBvZiB0aGUgQ0lEUiBibG9ja1xuICAgKi9cbiAgYW1hem9uUHJvdmlkZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hbWF6b25Qcm92aWRlZCA9IHRydWU7XG4gIH1cbiAgLyoqXG4gICAqIENhbGxlZCBieSBWUEMgdG8gYWxsb2NhdGUgSVB2NiBDSURSLlxuICAgKlxuICAgKiBDcmVhdGVzIGFuIEFtYXpvbiBwcm92aWRlZCBDSURSIGJsb2NrLlxuICAgKlxuICAgKiBOb3RlIHRoaXMgaXMgc3BlY2lmaWMgdG8gdGhlIElQdjYgQ0lEUi5cbiAgICovXG4gIGFsbG9jYXRlVnBjSXB2NkNpZHIoXG4gICAgaW5wdXQ6IEFsbG9jYXRlVnBjSXB2NkNpZHJSZXF1ZXN0LFxuICApOiB2cGNJcHY2Q2lkckJsb2NrQXNzb2NpYXRpb24uVnBjSXB2NkNpZHJCbG9ja0Fzc29jaWF0aW9uIHtcbiAgICAvL3Rocm93IG5ldyBFcnJvcihgdnBjSWQgbm90IGZvdW5kLCBnb3QgJHsoc2NvcGUgYXMgYW55KS52cGNJZH1gKTtcbiAgICByZXR1cm4gbmV3IHZwY0lwdjZDaWRyQmxvY2tBc3NvY2lhdGlvbi5WcGNJcHY2Q2lkckJsb2NrQXNzb2NpYXRpb24oXG4gICAgICBpbnB1dC5zY29wZSxcbiAgICAgIFwiaXB2NmNpZHJcIixcbiAgICAgIHtcbiAgICAgICAgdnBjSWQ6IGlucHV0LnZwY0lkLFxuICAgICAgICBhc3NpZ25HZW5lcmF0ZWRJcHY2Q2lkckJsb2NrOiB0aGlzLmFtYXpvblByb3ZpZGVkLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwbGl0IElQdjYgQ0lEUiBibG9jayB1cCBmb3Igc3VibmV0cy5cbiAgICpcbiAgICogQ2FsbGVkIGJ5IFZQQyB3aGVuIGNyZWF0aW5nIHN1Ym5ldHMgd2l0aCBJUHY2IGVuYWJsZWQuXG4gICAqXG4gICAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICAgKi9cbiAgY3JlYXRlSXB2NkNpZHJCbG9ja3MoaW5wdXQ6IENyZWF0ZUlwdjZDaWRyQmxvY2tzUmVxdWVzdCk6IHN0cmluZ1tdIHtcbiAgICBsZXQgcGFyZW50TWFzazogbnVtYmVyID0gaW5wdXQucGFyZW50TWFzayA/PyA1NjtcbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChpbnB1dC5pcHY2U2VsZWN0ZWRDaWRyKSkge1xuICAgICAgcGFyZW50TWFzayA9IHBhcnNlSW50KGlucHV0LmlwdjZTZWxlY3RlZENpZHIuc3BsaXQoXCIvXCIpWzFdLCAxMCk7XG4gICAgICBpZiAoTnVtYmVyLmlzTmFOKHBhcmVudE1hc2spKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgUGFyZW50IENJRFIgbXVzdCBpbmNsdWRlIGEgdmFsaWQgbWFzaywgZ290OiAnJHtpbnB1dC5pcHY2U2VsZWN0ZWRDaWRyfSdgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBzaXplTWFzayA9IHBhcnNlSW50KGlucHV0LnNpemVNYXNrID8/IFwiNjRcIik7IC8vIDEyOCAtIDY0XG4gICAgY29uc3QgbmV3Yml0cyA9IHNpemVNYXNrIC0gcGFyZW50TWFzaztcblxuICAgIHJldHVybiBGbi5jaWRyc3VibmV0cyhcbiAgICAgIGlucHV0LmlwdjZTZWxlY3RlZENpZHIsXG4gICAgICBBcnJheS5mcm9tKHsgbGVuZ3RoOiBpbnB1dC5zdWJuZXRDb3VudCB9LCAoKSA9PiBuZXdiaXRzKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG9jYXRlcyBTdWJuZXRzIElQdjYgQ0lEUnMuIENhbGxlZCBieSBWUEMgd2hlbiBjcmVhdGluZyBzdWJuZXRzIHdpdGggSVB2NiBlbmFibGVkLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIHRoZSBsaXN0IG9mIGFsbG9jYXRlZCBzdWJuZXRzLFxuICAgKiBhbmQgY29waWVzIHRoZSBJUHY0IENJRFJzIHdoaWxlIGFsc28gYXNzaWduaW5nIHRoZSBJUHY2IENJRFIuXG4gICAqXG4gICAqIE5vdGUgdGhpcyBpcyBzcGVjaWZpYyB0byB0aGUgSVB2NiBDSURSLlxuICAgKi9cbiAgYWxsb2NhdGVTdWJuZXRzSXB2NkNpZHIoaW5wdXQ6IEFsbG9jYXRlSXB2NkNpZHJSZXF1ZXN0KTogU3VibmV0SXBhbU9wdGlvbnMge1xuICAgIGNvbnN0IGFsbG9jYXRlZFN1Ym5ldHM6IEFsbG9jYXRlZFN1Ym5ldFtdID0gW107XG5cbiAgICBpbnB1dC5hbGxvY2F0ZWRTdWJuZXRzLmZvckVhY2goKGFsbG9jYXRlZCwgaSkgPT4ge1xuICAgICAgY29uc3QgYWxsb2NhdGVkSXB2NjogQWxsb2NhdGVkU3VibmV0ID0ge1xuICAgICAgICBjaWRyOiBhbGxvY2F0ZWQuY2lkcixcbiAgICAgICAgaXB2NkNpZHI6IEZuLmVsZW1lbnQoaW5wdXQuaXB2NkNpZHJzLCBpKSxcbiAgICAgIH07XG4gICAgICBhbGxvY2F0ZWRTdWJuZXRzLnB1c2goYWxsb2NhdGVkSXB2Nik7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWxsb2NhdGVkU3VibmV0czogYWxsb2NhdGVkU3VibmV0cyxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
package/lib/aws/compute/ipam.js
CHANGED
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.Ipam = exports.IpamScopeType = exports.AwsServiceName = exports.IpamPoolPublicIpSource = exports.AddressFamily = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
// https://github.com/aws/aws-cdk/blob/v2.175.1/packages/@aws-cdk/aws-ec2-alpha/lib/ipam.ts
|
|
7
|
-
const provider_aws_1 = require("@
|
|
8
|
-
const
|
|
7
|
+
const provider_aws_1 = require("@cdktn/provider-aws");
|
|
8
|
+
const cdktn_1 = require("cdktn");
|
|
9
9
|
const aws_construct_1 = require("../aws-construct");
|
|
10
10
|
// TODO: Use TagManager and tag-aspect instead
|
|
11
11
|
const aws_tags_1 = require("../aws-tags");
|
|
@@ -99,7 +99,7 @@ class IpamPool extends aws_construct_1.AwsConstructBase {
|
|
|
99
99
|
*/
|
|
100
100
|
this.ipamIpv4Cidrs = [];
|
|
101
101
|
const ipamPoolName = props.ipamPoolName ??
|
|
102
|
-
|
|
102
|
+
cdktn_1.Lazy.stringValue({
|
|
103
103
|
produce: () => this.stack.uniqueResourceName(this, {
|
|
104
104
|
maxLength: 128,
|
|
105
105
|
allowedSpecialCharacters: "_",
|
|
@@ -279,7 +279,7 @@ class Ipam extends aws_construct_1.AwsConstructBase {
|
|
|
279
279
|
}
|
|
280
280
|
exports.Ipam = Ipam;
|
|
281
281
|
_a = JSII_RTTI_SYMBOL_1;
|
|
282
|
-
Ipam[_a] = { fqn: "terraconstructs.aws.compute.alpha.Ipam", version: "0.2.
|
|
282
|
+
Ipam[_a] = { fqn: "terraconstructs.aws.compute.alpha.Ipam", version: "0.2.5" };
|
|
283
283
|
/**
|
|
284
284
|
* Function to create IpamPool under scope
|
|
285
285
|
* @internal
|
|
@@ -303,4 +303,4 @@ function createIpamPool(scope, id, scopeOptions, poolOptions, scopeId) {
|
|
|
303
303
|
awsService: poolOptions.awsService,
|
|
304
304
|
});
|
|
305
305
|
}
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9pcGFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkZBQTJGO0FBRTNGLHNEQUs2QjtBQUM3QixpQ0FBNkI7QUFFN0Isb0RBSTBCO0FBQzFCLDhDQUE4QztBQUM5QywwQ0FBbUM7QUFDbkMsd0NBQXdDO0FBRXhDOzs7OztHQUtHO0FBQ0gsSUFBWSxhQVlYO0FBWkQsV0FBWSxhQUFhO0lBQ3ZCOzs7T0FHRztJQUNILCtCQUFjLENBQUE7SUFFZDs7O09BR0c7SUFDSCwrQkFBYyxDQUFBO0FBQ2hCLENBQUMsRUFaVyxhQUFhLDZCQUFiLGFBQWEsUUFZeEI7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSxzQkFVWDtBQVZELFdBQVksc0JBQXNCO0lBQ2hDOztPQUVHO0lBQ0gseUNBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gsMkNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBVWpDO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCw2QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLGNBQWMsOEJBQWQsY0FBYyxRQUt6QjtBQXdCRDs7R0FFRztBQUNILElBQVksYUFVWDtBQVZELFdBQVksYUFBYTtJQUN2Qjs7T0FFRztJQUNILG9DQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLGFBQWEsNkJBQWIsYUFBYSxRQVV4QjtBQTJERCxNQUFNLFFBQVEsR0FBVyxNQUFNLENBQUM7QUFtTWhDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFFBQVMsU0FBUSxnQ0FBZ0I7SUFDckMsSUFBVyxlQUFlO1FBQ3hCLE9BQU87WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUF1QkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQWpCMUI7O1dBRUc7UUFDYSxjQUFTLEdBQXFDLEVBQUUsQ0FBQztRQUVqRTs7O1dBR0c7UUFDYSxrQkFBYSxHQUFhLEVBQUUsQ0FBQztRQVMzQyxNQUFNLFlBQVksR0FDaEIsS0FBSyxDQUFDLFlBQVk7WUFDbEIsWUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDZixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7b0JBQ2xDLFNBQVMsRUFBRSxHQUFHO29CQUNkLHdCQUF3QixFQUFFLEdBQUc7aUJBQzlCLENBQUM7YUFDTCxDQUFDLENBQUM7UUFFTCxJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyRSxNQUFNLElBQUksS0FBSyxDQUNiLDBEQUEwRCxDQUMzRCxDQUFDO1FBQ0osQ0FBQztRQUVELCtDQUErQztRQUMvQyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLGVBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLDBCQUFVLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDNUQsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixzQkFBc0IsRUFBRSxLQUFLLENBQUMsc0JBQXNCO1NBQ3JELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFFcEMsMkVBQTJFO1FBQzNFLDhGQUE4RjtRQUM5RixLQUFLLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsNEVBQTRFO1lBQzVFLGtJQUFrSTtZQUNsSSxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxhQUFhLENBQ2xCLEVBQVUsRUFDVixPQUF3QztRQUV4QyxzRUFBc0U7UUFDdEUsTUFBTSxJQUFJLEdBQUcsSUFBSSw4QkFBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3hELEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sU0FBVSxTQUFRLGdDQUFnQjtJQUN0QyxJQUFXLGdCQUFnQjtRQUN6QixPQUFPO1lBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUEyQkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSwyQkFBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1lBQ2hFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtTQUNyQixDQUFDLENBQUM7UUFDSCxlQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQzFCLFFBQVEsRUFDUixLQUFLLENBQUMsYUFBYSxJQUFJLGlCQUFpQixDQUN6QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxFQUFVLEVBQUUsT0FBb0I7UUFDdEMsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxhQUFhO0lBQ2pCLElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU87WUFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDMUIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELFlBQ1csS0FBZ0IsRUFDaEIsT0FBZSxFQUNQLEtBQXFCLEVBQzdCLFNBQXlCO1FBSHpCLFVBQUssR0FBTCxLQUFLLENBQVc7UUFDaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNQLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzdCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBRWxDLElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxFQUFVLEVBQUUsT0FBb0I7UUFDdEMsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FDRjtBQVVEOzs7OztHQUtHO0FBQ0gsTUFBYSxJQUFLLFNBQVEsZ0NBQWdCO0lBQ3hDLElBQVcsV0FBVztRQUNwQixPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBd0NELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUI7UUFDekQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQWJuQjs7V0FFRztRQUNhLFdBQU0sR0FBcUIsRUFBRSxDQUFDO1FBVzVDLElBQUksS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLGVBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFRLENBQUM7UUFFaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHNCQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDNUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtnQkFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDakUsQ0FBQyxDQUFDLEVBQUU7U0FDUCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRXBDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDL0Qsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUMzQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQjtTQUM3QyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRTtZQUNqRSxvQkFBb0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQzNDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckIsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCO1NBQzlDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRLENBQ2IsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLE9BQXlCO1FBRXpCLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDekMsR0FBRyxPQUFPO1lBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7U0FDNUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7QUFsR0gsb0JBbUdDOzs7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLGNBQWMsQ0FDckIsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLFlBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLE9BQWU7SUFFZixNQUFNLDBCQUEwQixHQUFHLFlBQVksQ0FBQyxvQkFBb0I7UUFDbEUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDOUIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7YUFDekMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDL0QsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUVWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0JBQXdCLFdBQVcsQ0FBQyxNQUFNLG9DQUFvQyxDQUMvRSxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM3QixZQUFZLEVBQUUsV0FBVyxDQUFDLFlBQVk7UUFDdEMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxhQUFhO1FBQ3hDLG9CQUFvQixFQUFFLFdBQVcsQ0FBQyxvQkFBb0I7UUFDdEQsV0FBVyxFQUFFLE9BQU87UUFDcEIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNO1FBQzFCLGNBQWMsRUFBRSxXQUFXLENBQUMsY0FBYztRQUMxQyxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVU7S0FDbkMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL0Bhd3MtY2RrL2F3cy1lYzItYWxwaGEvbGliL2lwYW0udHNcblxuaW1wb3J0IHtcbiAgdnBjSXBhbSBhcyB0ZklwYW0sXG4gIHZwY0lwYW1Qb29sIGFzIHRmSXBhbVBvb2wsXG4gIHZwY0lwYW1Qb29sQ2lkciBhcyB0ZklwYW1Qb29sQ2lkcixcbiAgdnBjSXBhbVNjb3BlIGFzIHRmSXBhbVNjb3BlLFxufSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgTGF6eSB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIElBd3NDb25zdHJ1Y3QsXG4gIEF3c0NvbnN0cnVjdEJhc2UsXG4gIEF3c0NvbnN0cnVjdFByb3BzLFxufSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuLy8gVE9ETzogVXNlIFRhZ01hbmFnZXIgYW5kIHRhZy1hc3BlY3QgaW5zdGVhZFxuaW1wb3J0IHsgVGFncyB9IGZyb20gXCIuLi9hd3MtdGFnc1wiO1xuLy8gaW1wb3J0IHsgVGFncyB9IGZyb20gXCIuLi90YWctYXNwZWN0XCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgYWRkcmVzcyBmYW1pbHkgZm9yIElQIGFkZHJlc3NlcyBpbiBhbiBJUEFNIHBvb2wuXG4gKiBJUF9WNCAtIFJlcHJlc2VudHMgdGhlIElQdjQgYWRkcmVzcyBmYW1pbHkuXG4gKiBJUF9WNiAtIFJlcHJlc2VudHMgdGhlIElQdjYgYWRkcmVzcyBmYW1pbHkuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLWFkZHJlc3NmYW1pbHlcbiAqL1xuZXhwb3J0IGVudW0gQWRkcmVzc0ZhbWlseSB7XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBJUHY0IGFkZHJlc3MgZmFtaWx5LlxuICAgKiBBbGxvd2VkIHVuZGVyIHB1YmxpYyBhbmQgcHJpdmF0ZSBwb29sLlxuICAgKi9cbiAgSVBfVjQgPSBcImlwdjRcIixcblxuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgSVB2NiBhZGRyZXNzIGZhbWlseS5cbiAgICogT25seSBhbGxvd2VkIHVuZGVyIHB1YmxpYyBwb29sLlxuICAgKi9cbiAgSVBfVjYgPSBcImlwdjZcIixcbn1cblxuLyoqXG4gKiBUaGUgSVAgYWRkcmVzcyBzb3VyY2UgZm9yIHBvb2xzIGluIHRoZSBwdWJsaWMgc2NvcGUuXG4gKiBPbmx5IHVzZWQgZm9yIHByb3Zpc2lvbmluZyBJUCBhZGRyZXNzIENJRFJzIHRvIHBvb2xzIGluIHRoZSBwdWJsaWMgc2NvcGUuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLXB1YmxpY2lwc291cmNlXG4gKi9cbmV4cG9ydCBlbnVtIElwYW1Qb29sUHVibGljSXBTb3VyY2Uge1xuICAvKipcbiAgICogQllPSVAgSXB2NiB0byBiZSByZWdpc3RlcmVkIHVuZGVyIElQQU1cbiAgICovXG4gIEJZT0lQID0gXCJieW9pcFwiLFxuXG4gIC8qKlxuICAgKiBBbWF6b24gUHJvdmlkZWQgSXB2NiByYW5nZVxuICAgKi9cbiAgQU1BWk9OID0gXCJhbWF6b25cIixcbn1cblxuLyoqXG4gKiBMaW1pdHMgd2hpY2ggc2VydmljZSBpbiBBV1MgdGhhdCB0aGUgcG9vbCBjYW4gYmUgdXNlZCBpblxuICovXG5leHBvcnQgZW51bSBBd3NTZXJ2aWNlTmFtZSB7XG4gIC8qKlxuICAgKiAgQWxsb3dzIHVzZXJzIHRvIHVzZSBzcGFjZSBmb3IgRWxhc3RpYyBJUCBhZGRyZXNzZXMgYW5kIFZQQ3NcbiAgICovXG4gIEVDMiA9IFwiZWMyXCIsXG59XG5cbi8qKlxuICogT3B0aW9ucyB0byBjcmVhdGUgYSBuZXcgSXBhbSBpbiB0aGUgYWNjb3VudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElwYW1Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW5nIFJlZ2lvbnMgZm9yIGFuIElQQU0uXG4gICAqIE9wZXJhdGluZyBSZWdpb25zIGFyZSBBV1MgUmVnaW9ucyB3aGVyZSB0aGUgSVBBTSBpcyBhbGxvd2VkIHRvIG1hbmFnZSBJUCBhZGRyZXNzIENJRFJzXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IG9wZXJhdGluZyBSZWdpb25zLCBzZWUgW0NyZWF0ZSBhbiBJUEFNXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vL3ZwYy9sYXRlc3QvaXBhbS9jcmVhdGUtaXBhbS5odG1sKSBpbiB0aGUgKkFtYXpvbiBWUEMgSVBBTSBVc2VyIEd1aWRlKiAuXG4gICAqIEBzZWUgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW0uaHRtbCNjZm4tZWMyLWlwYW0tb3BlcmF0aW5ncmVnaW9uc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIFN0YWNrLnJlZ2lvbiBpZiBkZWZpbmVkIGluIHRoZSBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW5nUmVnaW9uPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgSVBBTSB0aGF0IGNhbiBiZSB1c2VkIGZvciB0YWdnaW5nIHJlc291cmNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gSWYgbm8gbmFtZSBwcm92aWRlZCwgbm8gdGFncyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBJUEFNXG4gICAqL1xuICByZWFkb25seSBpcGFtTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWZlcnMgdG8gdHdvIHBvc3NpYmxlIHNjb3BlIHR5cGVzIHVuZGVyIElQQU1cbiAqL1xuZXhwb3J0IGVudW0gSXBhbVNjb3BlVHlwZSB7XG4gIC8qKlxuICAgKiBEZWZhdWx0IHNjb3BlcyBjcmVhdGVkIGJ5IElQQU1cbiAgICovXG4gIERFRkFVTFQgPSBcImRlZmF1bHRcIixcblxuICAvKipcbiAgICogQ3VzdG9tIHNjb3BlIGNyZWF0ZWQgdXNpbmcgbWV0aG9kXG4gICAqL1xuICBDVVNUT00gPSBcImN1c3RvbVwiLFxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIGFuIElQQU0gcG9vbC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvb2xPcHRpb25zIHtcbiAgLyoqXG4gICAqIGFkZHJlc3NGYW1pbHkgLSBUaGUgYWRkcmVzcyBmYW1pbHkgb2YgdGhlIHBvb2wgKGlwdjQgb3IgaXB2NikuXG4gICAqL1xuICByZWFkb25seSBhZGRyZXNzRmFtaWx5OiBBZGRyZXNzRmFtaWx5O1xuXG4gIC8qKlxuICAgKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgQ0lEUnMgcHJvdmlzaW9uZWQgdG8gdGhlIHBvb2wuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gQ0lEUnMgYXJlIHByb3Zpc2lvbmVkXG4gICAqL1xuICByZWFkb25seSBpcHY0UHJvdmlzaW9uZWRDaWRycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9jYWxlIChBV1MgUmVnaW9uKSBvZiB0aGUgcG9vbC4gU2hvdWxkIGJlIG9uZSBvZiB0aGUgSVBBTSBvcGVyYXRpbmcgcmVnaW9uLlxuICAgKiAgT25seSByZXNvdXJjZXMgaW4gdGhlIHNhbWUgUmVnaW9uIGFzIHRoZSBsb2NhbGUgb2YgdGhlIHBvb2wgY2FuIGdldCBJUCBhZGRyZXNzIGFsbG9jYXRpb25zIGZyb20gdGhlIHBvb2wuXG4gICAqIFlvdSBjYW4gb25seSBhbGxvY2F0ZSBhIENJRFIgZm9yIGEgVlBDLCBmb3IgZXhhbXBsZSwgZnJvbSBhbiBJUEFNIHBvb2wgdGhhdCBzaGFyZXMgYSBsb2NhbGUgd2l0aCB0aGUgVlBD4oCZcyBSZWdpb24uXG4gICAqIE5vdGUgdGhhdCBvbmNlIHlvdSBjaG9vc2UgYSBMb2NhbGUgZm9yIGEgcG9vbCwgeW91IGNhbm5vdCBtb2RpZnkgaXQuIElmIHlvdSBjaG9vc2UgYW4gQVdTIFJlZ2lvbiBmb3IgbG9jYWxlIHRoYXQgaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWQgYXMgYW4gb3BlcmF0aW5nIFJlZ2lvbiBmb3IgdGhlIElQQU0sIHlvdSdsbCBnZXQgYW4gZXJyb3IuXG4gICAqIEBzZWUgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1wb29sLmh0bWwjY2ZuLWVjMi1pcGFtcG9vbC1sb2NhbGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBDdXJyZW50IG9wZXJhdGluZyByZWdpb24gb2YgSVBBTVxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSVAgYWRkcmVzcyBzb3VyY2UgZm9yIHBvb2xzIGluIHRoZSBwdWJsaWMgc2NvcGUuXG4gICAqIE9ubHkgdXNlZCBmb3IgSVB2NiBhZGRyZXNzXG4gICAqIE9ubHkgYWxsb3dlZCB2YWx1ZXMgdG8gdGhpcyBhcmUgJ2J5b2lwJyBvciAnYW1hem9uJ1xuICAgKlxuICAgKiBAZGVmYXVsdCBhbWF6b25cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0lwU291cmNlPzogSXBhbVBvb2xQdWJsaWNJcFNvdXJjZTtcblxuICAvKipcbiAgICogTGltaXRzIHdoaWNoIHNlcnZpY2UgaW4gQVdTIHRoYXQgdGhlIHBvb2wgY2FuIGJlIHVzZWQgaW4uXG4gICAqXG4gICAqIFwiZWMyXCIsIGZvciBleGFtcGxlLCBhbGxvd3MgdXNlcnMgdG8gdXNlIHNwYWNlIGZvciBFbGFzdGljIElQIGFkZHJlc3NlcyBhbmQgVlBDcy5cbiAgICpcbiAgICogQHNlZSBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLWF3c3NlcnZpY2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSByZXF1aXJlZCBpbiBjYXNlIG9mIGFuIElQdjYsIHRocm93cyBhbiBlcnJvciBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBhd3NTZXJ2aWNlPzogQXdzU2VydmljZU5hbWU7XG5cbiAgLyoqXG4gICAqIElQQU0gUG9vbCByZXNvdXJjZSBuYW1lIHRvIGJlIHVzZWQgZm9yIHRhZ2dpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvZ2VuZXJhdGVkIGJ5IENESyBpZiBub3QgcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1Qb29sTmFtZT86IHN0cmluZztcbn1cblxuY29uc3QgTkFNRV9UQUc6IHN0cmluZyA9IFwiTmFtZVwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGFuIElQQU0gcG9vbC5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sXG4gKi9cbmludGVyZmFjZSBJcGFtUG9vbFByb3BzIGV4dGVuZHMgUG9vbE9wdGlvbnMsIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFNjb3BlIGlkIHdoZXJlIHBvb2wgbmVlZHMgdG8gYmUgY3JlYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVNjb3BlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGFncyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgcmVzb3VyY2VzIHRoYXQgdXNlIENJRFJzIGZyb20gdGhpcyBJUEFNIHBvb2wuIFJlc291cmNlcyB0aGF0IGRvIG5vdCBoYXZlXG4gICAqIHRoZXNlIHRhZ3Mgd2lsbCBub3QgYmUgYWxsb3dlZCB0byBhbGxvY2F0ZSBzcGFjZSBmcm9tIHRoZSBwb29sLiBJZiB0aGUgcmVzb3VyY2VzIGhhdmUgdGhlaXIgdGFnc1xuICAgKiBjaGFuZ2VkIGFmdGVyIHRoZXkgaGF2ZSBhbGxvY2F0ZWQgc3BhY2Ugb3IgaWYgdGhlIGFsbG9jYXRpb24gdGFnZ2luZyByZXF1aXJlbWVudHMgYXJlIGNoYW5nZWQgb25cbiAgICogdGhlIHBvb2wsIHRoZSByZXNvdXJjZSBtYXkgYmUgbWFya2VkIGFzIG5vbmNvbXBsaWFudC5cbiAgICovXG4gIHJlYWRvbmx5IGFsbG9jYXRpb25SZXNvdXJjZVRhZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8vIFRPRE86IEFkZCBzdXBwb3J0IGZvciBtb3JlIGFyZ3VtZW50c1xuICAvLyBAc2VlIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy92cGNfaXBhbV9wb29sI2FyZ3VtZW50LXJlZmVyZW5jZVxuICAvLyBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxufVxuXG4vKipcbiAqIE9wdGlvbnMgdG8gcHJvdmlzaW9uIENJRFJzIHRvIGFuIElQQU0gcG9vbC5cbiAqIFVzZWQgdG8gY3JlYXRlIGEgbmV3IElwYW1Qb29sQ2lkclxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1wb29sY2lkci5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBhbVBvb2xDaWRyUHJvdmlzaW9uaW5nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJcHY2IE5ldG1hc2sgbGVuZ3RoIGZvciB0aGUgQ0lEUlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHBvb2wgcHJvdmlzaW9uZWQgd2l0aG91dCBuZXRtYXNrIGxlbmd0aCwgbmVlZCBjaWRyIHJhbmdlIGluIHRoaXMgY2FzZVxuICAgKi9cbiAgcmVhZG9ubHkgbmV0bWFza0xlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogSXB2NiBDSURSIGJsb2NrIGZvciB0aGUgSVBBTSBwb29sXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcG9vbCBwcm92aXNpb25lZCB3aXRob3V0IG5ldG1hc2sgbGVuZ3RoLCBuZWVkIG5ldG1hc2sgbGVuZ3RoIGluIHRoaXMgY2FzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2lkcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPdXRwdXRzIHdoaWNoIG1heSBiZSByZWdpc3RlcmVkIGZvciBvdXRwdXQgdmlhIHRoZSBHcmlkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElwYW1Qb29sT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBQb29sIElEIHRvIGJlIHBhc3NlZCB0byB0aGUgVlBDIGNvbnN0cnVjdFxuICAgKiBAYXR0cmlidXRlIElwYW1Qb29sSWRcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1Qb29sSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWZpbml0aW9uIHVzZWQgdG8gYWRkIG9yIGNyZWF0ZSBhIG5ldyBJUEFNIHBvb2xcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSXBhbVBvb2wgZXh0ZW5kcyBJQXdzQ29uc3RydWN0IHtcbiAgLyoqIHN0cm9uZ2x5IHR5cGVkIG91dHB1dHMgKi9cbiAgcmVhZG9ubHkgaXBhbVBvb2xPdXRwdXRzOiBJcGFtUG9vbE91dHB1dHM7XG5cbiAgLyoqXG4gICAqIFBvb2wgSUQgdG8gYmUgcGFzc2VkIHRvIHRoZSBWUEMgY29uc3RydWN0XG4gICAqIEBhdHRyaWJ1dGUgSXBhbVBvb2xJZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVBvb2xJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQb29sIENJRFIgZm9yIElQdjYgdG8gYmUgcHJvdmlzaW9uZWQgd2l0aCBQdWJsaWMgSVAgc291cmNlIHNldCB0byAnQW1hem9uJ1xuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUNpZHJzOiB0ZklwYW1Qb29sQ2lkci5WcGNJcGFtUG9vbENpZHJbXTtcblxuICAvKipcbiAgICogUG9vbCBDSURSIGZvciBJUHY0IHRvIGJlIHByb3Zpc2lvbmVkIHVzaW5nIElQQU1cbiAgICogUmVxdWlyZWQgdG8gY2hlY2sgZm9yIHN1Ym5ldCBJUCByYW5nZSBpcyB3aXRoaW4gdGhlIFZQQyByYW5nZVxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUlwdjRDaWRycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBhc3NvY2lhdGUgYSBJUHY2IGFkZHJlc3Mgd2l0aCBJUEFNIHBvb2xcbiAgICovXG4gIHByb3Zpc2lvbkNpZHIoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBvcHRpb25zOiBJcGFtUG9vbENpZHJQcm92aXNpb25pbmdPcHRpb25zLFxuICApOiB0ZklwYW1Qb29sQ2lkci5WcGNJcGFtUG9vbENpZHI7XG59XG5cbi8qKlxuICogSVBBTSBzY29wZSBpcyB0aGUgaGlnaGVzdC1sZXZlbCBjb250YWluZXIgd2l0aGluIElQQU0uIEFuIElQQU0gY29udGFpbnMgdHdvIGRlZmF1bHQgc2NvcGVzLlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1zY29wZS5odG1sXG4gKi9cbmludGVyZmFjZSBJcGFtU2NvcGVQcm9wcyBleHRlbmRzIElwYW1TY29wZU9wdGlvbnMge1xuICAvKipcbiAgICogSVBBTSBpZCB0byB3aGljaCBzY29wZSBuZWVkcyB0byBiZSBhZGRlZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wZXJhdGluZyByZWdpb25zIGZvciB0aGUgSXBhbVxuICAgKiBSZXF1aXJlZCBpbiBvcmRlciB0byB2YWxpZGF0ZSB0aGUgbG9jYWxlIGJlaW5nIHNldCBvbiBwb29sXG4gICAqL1xuICByZWFkb25seSBpcGFtT3BlcmF0aW5nUmVnaW9uczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBpcGFtIHNjb3BlIGlkIHRvIGFkZCBhIHBvb2wgaW4gb3JkZXIgdG8gc3VwcG9ydCBkZWZhdWx0IHNjb3Blc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRocm93cyBhbiBlcnJvciBpZiBubyBzY29wZSBpZCBpcyBwcm92aWRlZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVNjb3BlSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQmVpbmcgdXNlZCBpbiBJUEFNIGNsYXNzIHRvIGFkZCBwb29scyB0byBkZWZhdWx0IHNjb3BlIGNyZWF0ZWQgYnkgSVBBTS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcGFtU2NvcGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIElQQU0gc2NvcGUgbmFtZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgdGFnZ2luZ1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHRhZ3Mgd2lsbCBiZSBhZGRlZCB0byB0aGUgc2NvcGVcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1TY29wZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgYW4gSVAgQWRkcmVzcyBNYW5hZ2VyIChJUEFNKS5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtLmh0bWx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElwYW1PcHRpb25zIHtcbiAgLyoqXG4gICAqIENJRFIgTWFzayBmb3IgVnBjXG4gICAqIE9ubHkgcmVxdWlyZWQgd2hlbiB1c2luZyBBV1MgSXBhbVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5ldG1hc2sgbGVuZ3RoIGZvciBJUEFNIGF0dGFjaGVkIHRvIFZQQyBzZWNvbmRhcnkgYWRkcmVzc1xuICAgKi9cbiAgcmVhZG9ubHkgbmV0bWFza0xlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogSXB2NCBvciBhbiBJcHY2IElQQU0gcG9vbFxuICAgKiBPbmx5IHJlcXVpcmVkIHdoZW4gdXNpbmcgQVdTIElwYW1cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwb29sIGF0dGFjaGVkIHRvIFZQQyBzZWNvbmRhcnkgYWRkcmVzc1xuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVBvb2w/OiBJSXBhbVBvb2w7XG5cbiAgLyoqXG4gICAqIFJlcXVpcmVkIHRvIHNldCBTZWNvbmRhcnkgY2lkciBibG9jayByZXNvdXJjZSBuYW1lXG4gICAqIGluIG9yZGVyIHRvIGdlbmVyYXRlIHVuaXF1ZSBsb2dpY2FsIGlkIGZvciB0aGUgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSBjaWRyQmxvY2tOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3V0cHV0cyB3aGljaCBtYXkgYmUgcmVnaXN0ZXJlZCBmb3Igb3V0cHV0IHZpYSB0aGUgR3JpZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcGFtU2NvcGVPdXRwdXRzIHtcbiAgLyoqXG4gICAqIFNjb3BlIElEIHRvIGJlIHBhc3NlZCB0byB0aGUgVlBDIGNvbnN0cnVjdFxuICAgKiBAYXR0cmlidXRlIElwYW1TY29wZUlkXG4gICAqL1xuICByZWFkb25seSBpcGFtU2NvcGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSXBhbVNjb3BlIENsYXNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUlwYW1TY29wZUJhc2Uge1xuICAvKiogc3Ryb25nbHkgdHlwZWQgb3V0cHV0cyAqL1xuICByZWFkb25seSBpcGFtU2NvcGVPdXRwdXRzOiBJcGFtU2NvcGVPdXRwdXRzO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQgc2NvcGUgb2Ygc3RhY2sgdG8gYmUgcGFzc2VkIGluIG9yZGVyIHRvIGNyZWF0ZVxuICAgKiBhIG5ldyBJUEFNIHBvb2xcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgU2NvcGUgaWRzIGNyZWF0ZWQgYnkgdGhlIElQQU0gb3IgYSBuZXcgUmVzb3VyY2UgaWRcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyBzY29wZSB0eXBlIGNhbiBiZSBlaXRoZXIgZGVmYXVsdCBvciBjdXN0b21cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlVHlwZT86IElwYW1TY29wZVR5cGU7XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGFkZCBhIG5ldyBwb29sIHRvIGFuIElQQU0gc2NvcGVcbiAgICovXG4gIGFkZFBvb2woaWQ6IHN0cmluZywgb3B0aW9uczogUG9vbE9wdGlvbnMpOiBJSXBhbVBvb2w7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBuZXcgSVBBTSBQb29sXG4gKiBQb29scyBlbmFibGUgeW91IHRvIG9yZ2FuaXplIHlvdXIgSVAgYWRkcmVzc2VzIGFjY29yZGluZyB0byB5b3VyIHJvdXRpbmcgYW5kIHNlY3VyaXR5IG5lZWRzXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxuICogQHNlZSBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9yZXNvdXJjZXMvdnBjX2lwYW1fcG9vbFxuICogQHJlc291cmNlIGF3c192cGNfaXBhbV9wb29sXG4gKiBAaW50ZXJuYWxcbiAqL1xuY2xhc3MgSXBhbVBvb2wgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIGltcGxlbWVudHMgSUlwYW1Qb29sIHtcbiAgcHVibGljIGdldCBpcGFtUG9vbE91dHB1dHMoKTogSXBhbVBvb2xPdXRwdXRzIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXBhbVBvb2xJZDogdGhpcy5pcGFtUG9vbElkLFxuICAgIH07XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmlwYW1Qb29sT3V0cHV0cztcbiAgfVxuICAvKipcbiAgICogUG9vbCBJRCB0byBiZSBwYXNzZWQgdG8gdGhlIFZQQyBjb25zdHJ1Y3RcbiAgICogQGF0dHJpYnV0ZSBJcGFtUG9vbElkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXBhbVBvb2xJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQb29sIENJRFIgZm9yIElQdjYgdG8gYmUgcHJvdmlzaW9uZWQgd2l0aCBQdWJsaWMgSVAgc291cmNlIHNldCB0byAnQW1hem9uJ1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwYW1DaWRyczogdGZJcGFtUG9vbENpZHIuVnBjSXBhbVBvb2xDaWRyW10gPSBbXTtcblxuICAvKipcbiAgICogUG9vbCBDSURSIGZvciBJUHY0IHRvIGJlIHByb3Zpc2lvbmVkIHVzaW5nIElQQU1cbiAgICogUmVxdWlyZWQgdG8gY2hlY2sgZm9yIHN1Ym5ldCBJUCByYW5nZSBpcyB3aXRoaW4gdGhlIFZQQyByYW5nZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwYW1JcHY0Q2lkcnM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byBpcGFtUG9vbCByZXNvdXJjZSBjcmVhdGVkIGluIHRoaXMgY2xhc3NcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lwYW1Qb29sOiB0ZklwYW1Qb29sLlZwY0lwYW1Qb29sO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJcGFtUG9vbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgY29uc3QgaXBhbVBvb2xOYW1lID1cbiAgICAgIHByb3BzLmlwYW1Qb29sTmFtZSA/P1xuICAgICAgTGF6eS5zdHJpbmdWYWx1ZSh7XG4gICAgICAgIHByb2R1Y2U6ICgpID0+XG4gICAgICAgICAgdGhpcy5zdGFjay51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywge1xuICAgICAgICAgICAgbWF4TGVuZ3RoOiAxMjgsXG4gICAgICAgICAgICBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6IFwiX1wiLFxuICAgICAgICAgIH0pLFxuICAgICAgfSk7XG5cbiAgICBpZiAocHJvcHMuYWRkcmVzc0ZhbWlseSA9PT0gQWRkcmVzc0ZhbWlseS5JUF9WNiAmJiAhcHJvcHMuYXdzU2VydmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImF3c1NlcnZpY2UgaXMgcmVxdWlyZWQgd2hlbiBhZGRyZXNzRmFtaWx5IGlzIHNldCB0byBpcHY2XCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vQWRkIHRhZ3MgdG8gdGhlIElQQU0gUG9vbCBpZiBuYW1lIGlzIHByb3ZpZGVkXG4gICAgaWYgKGlwYW1Qb29sTmFtZSkge1xuICAgICAgVGFncy5vZih0aGlzKS5hZGQoTkFNRV9UQUcsIGlwYW1Qb29sTmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy5faXBhbVBvb2wgPSBuZXcgdGZJcGFtUG9vbC5WcGNJcGFtUG9vbCh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGFkZHJlc3NGYW1pbHk6IHByb3BzLmFkZHJlc3NGYW1pbHksXG4gICAgICBsb2NhbGU6IHByb3BzLmxvY2FsZSxcbiAgICAgIGlwYW1TY29wZUlkOiBwcm9wcy5pcGFtU2NvcGVJZCxcbiAgICAgIHB1YmxpY0lwU291cmNlOiBwcm9wcy5wdWJsaWNJcFNvdXJjZSxcbiAgICAgIGF3c1NlcnZpY2U6IHByb3BzLmF3c1NlcnZpY2UsXG4gICAgICBhbGxvY2F0aW9uUmVzb3VyY2VUYWdzOiBwcm9wcy5hbGxvY2F0aW9uUmVzb3VyY2VUYWdzLFxuICAgIH0pO1xuICAgIHRoaXMuaXBhbVBvb2xJZCA9IHRoaXMuX2lwYW1Qb29sLmlkO1xuXG4gICAgLy8gcHJvdmlzaW9uZWRDaWRyczogcHJvcHMuaXB2NFByb3Zpc2lvbmVkQ2lkcnM/Lm1hcCgoY2lkcikgPT4gKHsgY2lkciB9KSksXG4gICAgLy8gUG9wdWxhdGluZyB0byBjaGVjayBmb3Igc3VibmV0IHJhbmdlIGFnYWluc3QgYWxsIElQdjQgcmFuZ2VzIGFzc2lnbmVkIHRvIFZQQyBpbmNsdWRpbmcgSVBBTVxuICAgIHByb3BzLmlwdjRQcm92aXNpb25lZENpZHJzPy5mb3JFYWNoKChjaWRyKSA9PiB7XG4gICAgICB0aGlzLmlwYW1JcHY0Q2lkcnMucHVzaChjaWRyKTtcbiAgICAgIC8vIFRlcnJhZm9ybSBWcGNJcGFtUG9vbCBkb2VzIG5vdCBzdXBwb3J0IGlubGluZSBcIlByb3Zpc2lvbmVkQ2lkcnNcIiBwcm9wZXJ0eVxuICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sI2Nmbi1lYzItaXBhbXBvb2wtcHJvdmlzaW9uZWRjaWRyc1xuICAgICAgdGhpcy5wcm92aXNpb25DaWRyKFwiUHJvdmlzaW9uZWRDaWRyXCIsIHsgY2lkciB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIENJRFIgcHJvdmlzaW9uZWQgdG8gYW4gSVBBTSBwb29sLlxuICAgKiBAc2VlIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy92cGNfaXBhbV9wb29sX2NpZHJcbiAgICogQHBhcmFtIGlkIE5hbWUgb2YgUmVzb3VyY2VcbiAgICogQHBhcmFtIG9wdGlvbnMgRWl0aGVyIGEgQ0lEUiBvciBuZXRtYXNrIGxlbmd0aCBtdXN0IGJlIHByb3ZpZGVkXG4gICAqIEByZXR1cm5zIGF3c192cGNfaXBhbV9wb29sX2NpZHJcbiAgICovXG4gIHB1YmxpYyBwcm92aXNpb25DaWRyKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgb3B0aW9uczogSXBhbVBvb2xDaWRyUHJvdmlzaW9uaW5nT3B0aW9ucyxcbiAgKTogdGZJcGFtUG9vbENpZHIuVnBjSXBhbVBvb2xDaWRyIHtcbiAgICAvLyBUT0RPOiBFcnJvciBpZiBuZWl0aGVyIG9yIGJvdGggY2lkciBhbmQgbmV0bWFzayBsZW5ndGggYXJlIHByb3ZpZGVkXG4gICAgY29uc3QgY2lkciA9IG5ldyB0ZklwYW1Qb29sQ2lkci5WcGNJcGFtUG9vbENpZHIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBpcGFtUG9vbElkOiB0aGlzLmlwYW1Qb29sSWQsXG4gICAgfSk7XG4gICAgdGhpcy5pcGFtQ2lkcnMucHVzaChjaWRyKTtcbiAgICByZXR1cm4gY2lkcjtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgY3VzdG9tIElwYW0gU2NvcGUsIGN1c3RvbSBJUEFNIHNjb3BlcyBjYW4gb25seSBiZSBwcml2YXRlXG4gKiAoY2FuIGJlIHVzZWQgZm9yIGFkZGluZyBjdXN0b20gc2NvcGVzIHRvIGFuIGV4aXN0aW5nIElQQU0pXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXNjb3BlLmh0bWxcbiAqIEBzZWUgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvcmVzb3VyY2VzL3ZwY19pcGFtX3Njb3BlXG4gKiBAcmVzb3VyY2UgYXdzX3ZwY19pcGFtX3Njb3BlXG4gKi9cbmNsYXNzIElwYW1TY29wZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJSXBhbVNjb3BlQmFzZSB7XG4gIHB1YmxpYyBnZXQgaXBhbVNjb3BlT3V0cHV0cygpOiBJcGFtU2NvcGVPdXRwdXRzIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXBhbVNjb3BlSWQ6IHRoaXMuc2NvcGVJZCxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5pcGFtU2NvcGVPdXRwdXRzO1xuICB9XG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIHJlZmVyZW5jZSB0byBuZXdseSBjcmVhdGVkIFJlc291cmNlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9pcGFtU2NvcGU6IHRmSXBhbVNjb3BlLlZwY0lwYW1TY29wZTtcblxuICAvKipcbiAgICogSUQgZm9yIFJlc291cmNlIElwYW1TY29wZVxuICAgKiBAYXR0cmlidXRlIElwYW1TY29wZUlkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGVJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIHRvIGNvbmZpZ3VyZSBpcGFtIHNjb3BlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBJcGFtU2NvcGVQcm9wcztcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHN0YWNrIHNjb3BlIHRvIGJlIHBhc3NlZCB0aHJvdWdoIGFkZFBvb2wgbWV0aG9kIGlub3JkZXIgdG8gY3JlYXRlIGEgbmV3IElwYW1Qb29sXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdDtcblxuICAvKipcbiAgICogRGVmaW5lcyBzY29wZSB0eXBlIGNhbiBiZSBlaXRoZXIgZGVmYXVsdCBvciBjdXN0b21cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY29wZVR5cGU6IElwYW1TY29wZVR5cGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IElwYW1TY29wZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLl9pcGFtU2NvcGUgPSBuZXcgdGZJcGFtU2NvcGUuVnBjSXBhbVNjb3BlKHNjb3BlLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGlwYW1JZDogcHJvcHMuaXBhbUlkLFxuICAgIH0pO1xuICAgIFRhZ3Mub2YodGhpcy5faXBhbVNjb3BlKS5hZGQoXG4gICAgICBOQU1FX1RBRyxcbiAgICAgIHByb3BzLmlwYW1TY29wZU5hbWUgPz8gXCJDdXN0b21JcGFtU2NvcGVcIixcbiAgICApO1xuICAgIHRoaXMuc2NvcGVJZCA9IHRoaXMuX2lwYW1TY29wZS5pZDtcbiAgICB0aGlzLnNjb3BlVHlwZSA9IElwYW1TY29wZVR5cGUuQ1VTVE9NO1xuICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHBvb2wgdG8gdGhlIElQQU0gc2NvcGUuXG4gICAqIEBleHRlcm5hbFxuICAgKi9cbiAgYWRkUG9vbChpZDogc3RyaW5nLCBvcHRpb25zOiBQb29sT3B0aW9ucyk6IElJcGFtUG9vbCB7XG4gICAgcmV0dXJuIGNyZWF0ZUlwYW1Qb29sKHRoaXMuc2NvcGUsIGlkLCB0aGlzLnByb3BzLCBvcHRpb25zLCB0aGlzLnNjb3BlSWQpO1xuICB9XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgSVBBTSBkZWZhdWx0IHNjb3Blcy5cbiAqL1xuY2xhc3MgSXBhbVNjb3BlQmFzZSBpbXBsZW1lbnRzIElJcGFtU2NvcGVCYXNlIHtcbiAgcHVibGljIGdldCBpcGFtU2NvcGVPdXRwdXRzKCk6IElwYW1TY29wZU91dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICBpcGFtU2NvcGVJZDogdGhpcy5zY29wZUlkLFxuICAgIH07XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmlwYW1TY29wZU91dHB1dHM7XG4gIH1cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdCxcbiAgICByZWFkb25seSBzY29wZUlkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogSXBhbVNjb3BlUHJvcHMsXG4gICAgcmVhZG9ubHkgc2NvcGVUeXBlPzogSXBhbVNjb3BlVHlwZSxcbiAgKSB7XG4gICAgdGhpcy5zY29wZVR5cGUgPSBJcGFtU2NvcGVUeXBlLkRFRkFVTFQ7XG4gICAgaWYgKCFwcm9wcy5pcGFtU2NvcGVJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhbVNjb3BlSWQgaXMgcmVxdWlyZWRcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2NvcGVJZCA9IHByb3BzLmlwYW1TY29wZUlkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcG9vbCB0byB0aGUgSVBBTSBzY29wZS5cbiAgICogQGV4dGVybmFsXG4gICAqL1xuICBhZGRQb29sKGlkOiBzdHJpbmcsIG9wdGlvbnM6IFBvb2xPcHRpb25zKTogSUlwYW1Qb29sIHtcbiAgICByZXR1cm4gY3JlYXRlSXBhbVBvb2wodGhpcy5zY29wZSwgaWQsIHRoaXMucHJvcHMsIG9wdGlvbnMsIHRoaXMuc2NvcGVJZCk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJcGFtT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBJcGFtIElEIHRvIGJlIHBhc3NlZCB0byB0aGUgVlBDIGNvbnN0cnVjdFxuICAgKiBAYXR0cmlidXRlIElwYW1JZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBuZXcgSVBBTSB3aXRoIGRlZmF1bHQgcHVibGljIGFuZCBwcml2YXRlIHNjb3BlXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXNjb3BlLmh0bWxcbiAqIEBzZWUgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvcmVzb3VyY2VzL3ZwY19pcGFtXG4gKiBAcmVzb3VyY2UgYXdzX3ZwY19pcGFtXG4gKi9cbmV4cG9ydCBjbGFzcyBJcGFtIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSB7XG4gIHB1YmxpYyBnZXQgaXBhbU91dHB1dHMoKTogSXBhbU91dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICBpcGFtSWQ6IHRoaXMuaXBhbUlkLFxuICAgIH07XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmlwYW1PdXRwdXRzO1xuICB9XG4gIC8qKlxuICAgKiBQcm92aWRlcyBhY2Nlc3MgdG8gZGVmYXVsdCBwdWJsaWMgSVBBTSBzY29wZSB0aHJvdWdoIGFkZCBwb29sIG1ldGhvZC5cbiAgICogVXNhZ2U6IFRvIGFkZCBhbiBJcGFtIFBvb2wgdG8gYSBkZWZhdWx0IHB1YmxpYyBzY29wZVxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXNjb3BlLmh0bWxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwdWJsaWNTY29wZTogSUlwYW1TY29wZUJhc2U7XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGFjY2VzcyB0byBkZWZhdWx0IHByaXZhdGUgSVBBTSBzY29wZSB0aHJvdWdoIGFkZCBwb29sIG1ldGhvZC5cbiAgICogVXNhZ2U6IFRvIGFkZCBhbiBJcGFtIFBvb2wgdG8gYSBkZWZhdWx0IHByaXZhdGUgc2NvcGVcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1zY29wZS5odG1sXG4gICAqICovXG4gIHB1YmxpYyByZWFkb25seSBwcml2YXRlU2NvcGU6IElJcGFtU2NvcGVCYXNlO1xuXG4gIC8vIFJlc291cmNlIElQQU1cbiAgcHJpdmF0ZSByZWFkb25seSBfaXBhbTogdGZJcGFtLlZwY0lwYW07XG4gIC8qKlxuICAgKiBBY2Nlc3MgdG8gSXBhbSByZXNvdXJjZSBpZCB0aGF0IGNhbiBiZSB1c2VkIGxhdGVyIHRvIGFkZCBhIGN1c3RvbSBwcml2YXRlIHNjb3BlIHRvIHRoaXMgSVBBTVxuICAgKiBAYXR0cmlidXRlIElwYW1JZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwYW1JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIG9wZXJhdGluZyByZWdpb25zIGZvciBJUEFNXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0aW5nUmVnaW9uczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2Ygc2NvcGVzIGNyZWF0ZWQgdW5kZXIgdGhpcyBJUEFNXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGVzOiBJSXBhbVNjb3BlQmFzZVtdID0gW107XG5cbiAgLyoqXG4gICAqIElQQU0gbmFtZSB0byBiZSB1c2VkIGZvciB0YWdnaW5nXG4gICAqIEBkZWZhdWx0IG5vIHRhZyBzcGVjaWZpZWRcbiAgICogQGF0dHJpYnV0ZSBJcGFtTmFtZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwYW1OYW1lPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogSXBhbVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBpZiAocHJvcHM/LmlwYW1OYW1lKSB7XG4gICAgICBUYWdzLm9mKHRoaXMpLmFkZChOQU1FX1RBRywgcHJvcHMuaXBhbU5hbWUpO1xuICAgIH1cbiAgICBpZiAoIXByb3BzPy5vcGVyYXRpbmdSZWdpb24gJiYgIXRoaXMuZW52LnJlZ2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUGxlYXNlIHByb3ZpZGUgYXQgbGVhc3Qgb25lIG9wZXJhdGluZyByZWdpb25cIik7XG4gICAgfVxuXG4gICAgdGhpcy5vcGVyYXRpbmdSZWdpb25zID0gcHJvcHM/Lm9wZXJhdGluZ1JlZ2lvbiA/PyBbdGhpcy5lbnYucmVnaW9uXTtcbiAgICB0aGlzLmlwYW1OYW1lID0gcHJvcHM/LmlwYW1OYW1lO1xuXG4gICAgdGhpcy5faXBhbSA9IG5ldyB0ZklwYW0uVnBjSXBhbSh0aGlzLCBcIklwYW1cIiwge1xuICAgICAgb3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zXG4gICAgICAgID8gdGhpcy5vcGVyYXRpbmdSZWdpb25zLm1hcCgocmVnaW9uKSA9PiAoeyByZWdpb25OYW1lOiByZWdpb24gfSkpXG4gICAgICAgIDogW10sXG4gICAgfSk7XG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHRoaXMuX2lwYW07XG5cbiAgICB0aGlzLmlwYW1JZCA9IHRoaXMuX2lwYW0uaWQ7XG4gICAgdGhpcy5wdWJsaWNTY29wZSA9IG5ldyBJcGFtU2NvcGVCYXNlKHRoaXMsIFwiRGVmYXVsdFB1YmxpY1Njb3BlXCIsIHtcbiAgICAgIGlwYW1PcGVyYXRpbmdSZWdpb25zOiB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMsXG4gICAgICBpcGFtSWQ6IHRoaXMuX2lwYW0uaWQsXG4gICAgICBpcGFtU2NvcGVJZDogdGhpcy5faXBhbS5wdWJsaWNEZWZhdWx0U2NvcGVJZCxcbiAgICB9KTtcbiAgICB0aGlzLnByaXZhdGVTY29wZSA9IG5ldyBJcGFtU2NvcGVCYXNlKHRoaXMsIFwiRGVmYXVsdFByaXZhdGVTY29wZVwiLCB7XG4gICAgICBpcGFtT3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zLFxuICAgICAgaXBhbUlkOiB0aGlzLl9pcGFtLmlkLFxuICAgICAgaXBhbVNjb3BlSWQ6IHRoaXMuX2lwYW0ucHJpdmF0ZURlZmF1bHRTY29wZUlkLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zY29wZXMucHVzaCh0aGlzLnB1YmxpY1Njb3BlLCB0aGlzLnByaXZhdGVTY29wZSk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gYWRkIGN1c3RvbSBzY29wZSB0byBhbiBleGlzdGluZyBJUEFNXG4gICAqIEN1c3RvbSBzY29wZXMgY2FuIG9ubHkgYmUgcHJpdmF0ZVxuICAgKi9cbiAgcHVibGljIGFkZFNjb3BlKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBvcHRpb25zOiBJcGFtU2NvcGVPcHRpb25zLFxuICApOiBJSXBhbVNjb3BlQmFzZSB7XG4gICAgY29uc3QgaXBhbVNjb3BlID0gbmV3IElwYW1TY29wZShzY29wZSwgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBpcGFtSWQ6IHRoaXMuaXBhbUlkLFxuICAgICAgaXBhbU9wZXJhdGluZ1JlZ2lvbnM6IHRoaXMub3BlcmF0aW5nUmVnaW9ucyxcbiAgICB9KTtcbiAgICB0aGlzLnNjb3Blcy5wdXNoKGlwYW1TY29wZSk7XG4gICAgcmV0dXJuIGlwYW1TY29wZTtcbiAgfVxufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIGNyZWF0ZSBJcGFtUG9vbCB1bmRlciBzY29wZVxuICogQGludGVybmFsXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUlwYW1Qb29sKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBzY29wZU9wdGlvbnM6IElwYW1TY29wZVByb3BzLFxuICBwb29sT3B0aW9uczogUG9vbE9wdGlvbnMsXG4gIHNjb3BlSWQ6IHN0cmluZyxcbik6IElwYW1Qb29sIHtcbiAgY29uc3QgaXNMb2NhbGVJbk9wZXJhdGluZ1JlZ2lvbnMgPSBzY29wZU9wdGlvbnMuaXBhbU9wZXJhdGluZ1JlZ2lvbnNcbiAgICA/IHNjb3BlT3B0aW9ucy5pcGFtT3BlcmF0aW5nUmVnaW9uc1xuICAgICAgICAubWFwKChyZWdpb24pID0+ICh7IHJlZ2lvbk5hbWU6IHJlZ2lvbiB9KSlcbiAgICAgICAgLnNvbWUoKHJlZ2lvbikgPT4gcmVnaW9uLnJlZ2lvbk5hbWUgPT09IHBvb2xPcHRpb25zLmxvY2FsZSlcbiAgICA6IGZhbHNlO1xuXG4gIGlmICghaXNMb2NhbGVJbk9wZXJhdGluZ1JlZ2lvbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIHByb3ZpZGVkIGxvY2FsZSAnJHtwb29sT3B0aW9ucy5sb2NhbGV9JyBpcyBub3QgaW4gdGhlIG9wZXJhdGluZyByZWdpb25zLmAsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgSXBhbVBvb2woc2NvcGUsIGlkLCB7XG4gICAgaXBhbVBvb2xOYW1lOiBwb29sT3B0aW9ucy5pcGFtUG9vbE5hbWUsXG4gICAgYWRkcmVzc0ZhbWlseTogcG9vbE9wdGlvbnMuYWRkcmVzc0ZhbWlseSxcbiAgICBpcHY0UHJvdmlzaW9uZWRDaWRyczogcG9vbE9wdGlvbnMuaXB2NFByb3Zpc2lvbmVkQ2lkcnMsXG4gICAgaXBhbVNjb3BlSWQ6IHNjb3BlSWQsXG4gICAgbG9jYWxlOiBwb29sT3B0aW9ucy5sb2NhbGUsXG4gICAgcHVibGljSXBTb3VyY2U6IHBvb2xPcHRpb25zLnB1YmxpY0lwU291cmNlLFxuICAgIGF3c1NlcnZpY2U6IHBvb2xPcHRpb25zLmF3c1NlcnZpY2UsXG4gIH0pO1xufVxuIl19
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9pcGFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkZBQTJGO0FBRTNGLHNEQUs2QjtBQUM3QixpQ0FBNkI7QUFFN0Isb0RBSTBCO0FBQzFCLDhDQUE4QztBQUM5QywwQ0FBbUM7QUFDbkMsd0NBQXdDO0FBRXhDOzs7OztHQUtHO0FBQ0gsSUFBWSxhQVlYO0FBWkQsV0FBWSxhQUFhO0lBQ3ZCOzs7T0FHRztJQUNILCtCQUFjLENBQUE7SUFFZDs7O09BR0c7SUFDSCwrQkFBYyxDQUFBO0FBQ2hCLENBQUMsRUFaVyxhQUFhLDZCQUFiLGFBQWEsUUFZeEI7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSxzQkFVWDtBQVZELFdBQVksc0JBQXNCO0lBQ2hDOztPQUVHO0lBQ0gseUNBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gsMkNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBVWpDO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCw2QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLGNBQWMsOEJBQWQsY0FBYyxRQUt6QjtBQXdCRDs7R0FFRztBQUNILElBQVksYUFVWDtBQVZELFdBQVksYUFBYTtJQUN2Qjs7T0FFRztJQUNILG9DQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLGFBQWEsNkJBQWIsYUFBYSxRQVV4QjtBQTJERCxNQUFNLFFBQVEsR0FBVyxNQUFNLENBQUM7QUFtTWhDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFFBQVMsU0FBUSxnQ0FBZ0I7SUFDckMsSUFBVyxlQUFlO1FBQ3hCLE9BQU87WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUF1QkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQWpCMUI7O1dBRUc7UUFDYSxjQUFTLEdBQXFDLEVBQUUsQ0FBQztRQUVqRTs7O1dBR0c7UUFDYSxrQkFBYSxHQUFhLEVBQUUsQ0FBQztRQVMzQyxNQUFNLFlBQVksR0FDaEIsS0FBSyxDQUFDLFlBQVk7WUFDbEIsWUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDZixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7b0JBQ2xDLFNBQVMsRUFBRSxHQUFHO29CQUNkLHdCQUF3QixFQUFFLEdBQUc7aUJBQzlCLENBQUM7YUFDTCxDQUFDLENBQUM7UUFFTCxJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyRSxNQUFNLElBQUksS0FBSyxDQUNiLDBEQUEwRCxDQUMzRCxDQUFDO1FBQ0osQ0FBQztRQUVELCtDQUErQztRQUMvQyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLGVBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLDBCQUFVLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDNUQsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixzQkFBc0IsRUFBRSxLQUFLLENBQUMsc0JBQXNCO1NBQ3JELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFFcEMsMkVBQTJFO1FBQzNFLDhGQUE4RjtRQUM5RixLQUFLLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsNEVBQTRFO1lBQzVFLGtJQUFrSTtZQUNsSSxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxhQUFhLENBQ2xCLEVBQVUsRUFDVixPQUF3QztRQUV4QyxzRUFBc0U7UUFDdEUsTUFBTSxJQUFJLEdBQUcsSUFBSSw4QkFBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3hELEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sU0FBVSxTQUFRLGdDQUFnQjtJQUN0QyxJQUFXLGdCQUFnQjtRQUN6QixPQUFPO1lBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUEyQkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSwyQkFBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1lBQ2hFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtTQUNyQixDQUFDLENBQUM7UUFDSCxlQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQzFCLFFBQVEsRUFDUixLQUFLLENBQUMsYUFBYSxJQUFJLGlCQUFpQixDQUN6QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxFQUFVLEVBQUUsT0FBb0I7UUFDdEMsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxhQUFhO0lBQ2pCLElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU87WUFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDMUIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELFlBQ1csS0FBZ0IsRUFDaEIsT0FBZSxFQUNQLEtBQXFCLEVBQzdCLFNBQXlCO1FBSHpCLFVBQUssR0FBTCxLQUFLLENBQVc7UUFDaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNQLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzdCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBRWxDLElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxFQUFVLEVBQUUsT0FBb0I7UUFDdEMsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FDRjtBQVVEOzs7OztHQUtHO0FBQ0gsTUFBYSxJQUFLLFNBQVEsZ0NBQWdCO0lBQ3hDLElBQVcsV0FBVztRQUNwQixPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBd0NELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUI7UUFDekQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQWJuQjs7V0FFRztRQUNhLFdBQU0sR0FBcUIsRUFBRSxDQUFDO1FBVzVDLElBQUksS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLGVBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFRLENBQUM7UUFFaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHNCQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDNUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtnQkFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDakUsQ0FBQyxDQUFDLEVBQUU7U0FDUCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRXBDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDL0Qsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUMzQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQjtTQUM3QyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRTtZQUNqRSxvQkFBb0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQzNDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckIsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCO1NBQzlDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRLENBQ2IsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLE9BQXlCO1FBRXpCLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDekMsR0FBRyxPQUFPO1lBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7U0FDNUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7QUFsR0gsb0JBbUdDOzs7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLGNBQWMsQ0FDckIsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLFlBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLE9BQWU7SUFFZixNQUFNLDBCQUEwQixHQUFHLFlBQVksQ0FBQyxvQkFBb0I7UUFDbEUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDOUIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7YUFDekMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDL0QsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUVWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0JBQXdCLFdBQVcsQ0FBQyxNQUFNLG9DQUFvQyxDQUMvRSxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM3QixZQUFZLEVBQUUsV0FBVyxDQUFDLFlBQVk7UUFDdEMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxhQUFhO1FBQ3hDLG9CQUFvQixFQUFFLFdBQVcsQ0FBQyxvQkFBb0I7UUFDdEQsV0FBVyxFQUFFLE9BQU87UUFDcEIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNO1FBQzFCLGNBQWMsRUFBRSxXQUFXLENBQUMsY0FBYztRQUMxQyxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVU7S0FDbkMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL0Bhd3MtY2RrL2F3cy1lYzItYWxwaGEvbGliL2lwYW0udHNcblxuaW1wb3J0IHtcbiAgdnBjSXBhbSBhcyB0ZklwYW0sXG4gIHZwY0lwYW1Qb29sIGFzIHRmSXBhbVBvb2wsXG4gIHZwY0lwYW1Qb29sQ2lkciBhcyB0ZklwYW1Qb29sQ2lkcixcbiAgdnBjSXBhbVNjb3BlIGFzIHRmSXBhbVNjb3BlLFxufSBmcm9tIFwiQGNka3RuL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgTGF6eSB9IGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIElBd3NDb25zdHJ1Y3QsXG4gIEF3c0NvbnN0cnVjdEJhc2UsXG4gIEF3c0NvbnN0cnVjdFByb3BzLFxufSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuLy8gVE9ETzogVXNlIFRhZ01hbmFnZXIgYW5kIHRhZy1hc3BlY3QgaW5zdGVhZFxuaW1wb3J0IHsgVGFncyB9IGZyb20gXCIuLi9hd3MtdGFnc1wiO1xuLy8gaW1wb3J0IHsgVGFncyB9IGZyb20gXCIuLi90YWctYXNwZWN0XCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgYWRkcmVzcyBmYW1pbHkgZm9yIElQIGFkZHJlc3NlcyBpbiBhbiBJUEFNIHBvb2wuXG4gKiBJUF9WNCAtIFJlcHJlc2VudHMgdGhlIElQdjQgYWRkcmVzcyBmYW1pbHkuXG4gKiBJUF9WNiAtIFJlcHJlc2VudHMgdGhlIElQdjYgYWRkcmVzcyBmYW1pbHkuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLWFkZHJlc3NmYW1pbHlcbiAqL1xuZXhwb3J0IGVudW0gQWRkcmVzc0ZhbWlseSB7XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBJUHY0IGFkZHJlc3MgZmFtaWx5LlxuICAgKiBBbGxvd2VkIHVuZGVyIHB1YmxpYyBhbmQgcHJpdmF0ZSBwb29sLlxuICAgKi9cbiAgSVBfVjQgPSBcImlwdjRcIixcblxuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgSVB2NiBhZGRyZXNzIGZhbWlseS5cbiAgICogT25seSBhbGxvd2VkIHVuZGVyIHB1YmxpYyBwb29sLlxuICAgKi9cbiAgSVBfVjYgPSBcImlwdjZcIixcbn1cblxuLyoqXG4gKiBUaGUgSVAgYWRkcmVzcyBzb3VyY2UgZm9yIHBvb2xzIGluIHRoZSBwdWJsaWMgc2NvcGUuXG4gKiBPbmx5IHVzZWQgZm9yIHByb3Zpc2lvbmluZyBJUCBhZGRyZXNzIENJRFJzIHRvIHBvb2xzIGluIHRoZSBwdWJsaWMgc2NvcGUuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLXB1YmxpY2lwc291cmNlXG4gKi9cbmV4cG9ydCBlbnVtIElwYW1Qb29sUHVibGljSXBTb3VyY2Uge1xuICAvKipcbiAgICogQllPSVAgSXB2NiB0byBiZSByZWdpc3RlcmVkIHVuZGVyIElQQU1cbiAgICovXG4gIEJZT0lQID0gXCJieW9pcFwiLFxuXG4gIC8qKlxuICAgKiBBbWF6b24gUHJvdmlkZWQgSXB2NiByYW5nZVxuICAgKi9cbiAgQU1BWk9OID0gXCJhbWF6b25cIixcbn1cblxuLyoqXG4gKiBMaW1pdHMgd2hpY2ggc2VydmljZSBpbiBBV1MgdGhhdCB0aGUgcG9vbCBjYW4gYmUgdXNlZCBpblxuICovXG5leHBvcnQgZW51bSBBd3NTZXJ2aWNlTmFtZSB7XG4gIC8qKlxuICAgKiAgQWxsb3dzIHVzZXJzIHRvIHVzZSBzcGFjZSBmb3IgRWxhc3RpYyBJUCBhZGRyZXNzZXMgYW5kIFZQQ3NcbiAgICovXG4gIEVDMiA9IFwiZWMyXCIsXG59XG5cbi8qKlxuICogT3B0aW9ucyB0byBjcmVhdGUgYSBuZXcgSXBhbSBpbiB0aGUgYWNjb3VudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElwYW1Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW5nIFJlZ2lvbnMgZm9yIGFuIElQQU0uXG4gICAqIE9wZXJhdGluZyBSZWdpb25zIGFyZSBBV1MgUmVnaW9ucyB3aGVyZSB0aGUgSVBBTSBpcyBhbGxvd2VkIHRvIG1hbmFnZSBJUCBhZGRyZXNzIENJRFJzXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IG9wZXJhdGluZyBSZWdpb25zLCBzZWUgW0NyZWF0ZSBhbiBJUEFNXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vL3ZwYy9sYXRlc3QvaXBhbS9jcmVhdGUtaXBhbS5odG1sKSBpbiB0aGUgKkFtYXpvbiBWUEMgSVBBTSBVc2VyIEd1aWRlKiAuXG4gICAqIEBzZWUgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW0uaHRtbCNjZm4tZWMyLWlwYW0tb3BlcmF0aW5ncmVnaW9uc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIFN0YWNrLnJlZ2lvbiBpZiBkZWZpbmVkIGluIHRoZSBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW5nUmVnaW9uPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgSVBBTSB0aGF0IGNhbiBiZSB1c2VkIGZvciB0YWdnaW5nIHJlc291cmNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gSWYgbm8gbmFtZSBwcm92aWRlZCwgbm8gdGFncyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBJUEFNXG4gICAqL1xuICByZWFkb25seSBpcGFtTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWZlcnMgdG8gdHdvIHBvc3NpYmxlIHNjb3BlIHR5cGVzIHVuZGVyIElQQU1cbiAqL1xuZXhwb3J0IGVudW0gSXBhbVNjb3BlVHlwZSB7XG4gIC8qKlxuICAgKiBEZWZhdWx0IHNjb3BlcyBjcmVhdGVkIGJ5IElQQU1cbiAgICovXG4gIERFRkFVTFQgPSBcImRlZmF1bHRcIixcblxuICAvKipcbiAgICogQ3VzdG9tIHNjb3BlIGNyZWF0ZWQgdXNpbmcgbWV0aG9kXG4gICAqL1xuICBDVVNUT00gPSBcImN1c3RvbVwiLFxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIGFuIElQQU0gcG9vbC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvb2xPcHRpb25zIHtcbiAgLyoqXG4gICAqIGFkZHJlc3NGYW1pbHkgLSBUaGUgYWRkcmVzcyBmYW1pbHkgb2YgdGhlIHBvb2wgKGlwdjQgb3IgaXB2NikuXG4gICAqL1xuICByZWFkb25seSBhZGRyZXNzRmFtaWx5OiBBZGRyZXNzRmFtaWx5O1xuXG4gIC8qKlxuICAgKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgQ0lEUnMgcHJvdmlzaW9uZWQgdG8gdGhlIHBvb2wuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gQ0lEUnMgYXJlIHByb3Zpc2lvbmVkXG4gICAqL1xuICByZWFkb25seSBpcHY0UHJvdmlzaW9uZWRDaWRycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9jYWxlIChBV1MgUmVnaW9uKSBvZiB0aGUgcG9vbC4gU2hvdWxkIGJlIG9uZSBvZiB0aGUgSVBBTSBvcGVyYXRpbmcgcmVnaW9uLlxuICAgKiAgT25seSByZXNvdXJjZXMgaW4gdGhlIHNhbWUgUmVnaW9uIGFzIHRoZSBsb2NhbGUgb2YgdGhlIHBvb2wgY2FuIGdldCBJUCBhZGRyZXNzIGFsbG9jYXRpb25zIGZyb20gdGhlIHBvb2wuXG4gICAqIFlvdSBjYW4gb25seSBhbGxvY2F0ZSBhIENJRFIgZm9yIGEgVlBDLCBmb3IgZXhhbXBsZSwgZnJvbSBhbiBJUEFNIHBvb2wgdGhhdCBzaGFyZXMgYSBsb2NhbGUgd2l0aCB0aGUgVlBD4oCZcyBSZWdpb24uXG4gICAqIE5vdGUgdGhhdCBvbmNlIHlvdSBjaG9vc2UgYSBMb2NhbGUgZm9yIGEgcG9vbCwgeW91IGNhbm5vdCBtb2RpZnkgaXQuIElmIHlvdSBjaG9vc2UgYW4gQVdTIFJlZ2lvbiBmb3IgbG9jYWxlIHRoYXQgaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWQgYXMgYW4gb3BlcmF0aW5nIFJlZ2lvbiBmb3IgdGhlIElQQU0sIHlvdSdsbCBnZXQgYW4gZXJyb3IuXG4gICAqIEBzZWUgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1wb29sLmh0bWwjY2ZuLWVjMi1pcGFtcG9vbC1sb2NhbGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBDdXJyZW50IG9wZXJhdGluZyByZWdpb24gb2YgSVBBTVxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSVAgYWRkcmVzcyBzb3VyY2UgZm9yIHBvb2xzIGluIHRoZSBwdWJsaWMgc2NvcGUuXG4gICAqIE9ubHkgdXNlZCBmb3IgSVB2NiBhZGRyZXNzXG4gICAqIE9ubHkgYWxsb3dlZCB2YWx1ZXMgdG8gdGhpcyBhcmUgJ2J5b2lwJyBvciAnYW1hem9uJ1xuICAgKlxuICAgKiBAZGVmYXVsdCBhbWF6b25cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0lwU291cmNlPzogSXBhbVBvb2xQdWJsaWNJcFNvdXJjZTtcblxuICAvKipcbiAgICogTGltaXRzIHdoaWNoIHNlcnZpY2UgaW4gQVdTIHRoYXQgdGhlIHBvb2wgY2FuIGJlIHVzZWQgaW4uXG4gICAqXG4gICAqIFwiZWMyXCIsIGZvciBleGFtcGxlLCBhbGxvd3MgdXNlcnMgdG8gdXNlIHNwYWNlIGZvciBFbGFzdGljIElQIGFkZHJlc3NlcyBhbmQgVlBDcy5cbiAgICpcbiAgICogQHNlZSBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLWF3c3NlcnZpY2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSByZXF1aXJlZCBpbiBjYXNlIG9mIGFuIElQdjYsIHRocm93cyBhbiBlcnJvciBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBhd3NTZXJ2aWNlPzogQXdzU2VydmljZU5hbWU7XG5cbiAgLyoqXG4gICAqIElQQU0gUG9vbCByZXNvdXJjZSBuYW1lIHRvIGJlIHVzZWQgZm9yIHRhZ2dpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvZ2VuZXJhdGVkIGJ5IENESyBpZiBub3QgcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1Qb29sTmFtZT86IHN0cmluZztcbn1cblxuY29uc3QgTkFNRV9UQUc6IHN0cmluZyA9IFwiTmFtZVwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGFuIElQQU0gcG9vbC5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sXG4gKi9cbmludGVyZmFjZSBJcGFtUG9vbFByb3BzIGV4dGVuZHMgUG9vbE9wdGlvbnMsIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIFNjb3BlIGlkIHdoZXJlIHBvb2wgbmVlZHMgdG8gYmUgY3JlYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVNjb3BlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGFncyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgcmVzb3VyY2VzIHRoYXQgdXNlIENJRFJzIGZyb20gdGhpcyBJUEFNIHBvb2wuIFJlc291cmNlcyB0aGF0IGRvIG5vdCBoYXZlXG4gICAqIHRoZXNlIHRhZ3Mgd2lsbCBub3QgYmUgYWxsb3dlZCB0byBhbGxvY2F0ZSBzcGFjZSBmcm9tIHRoZSBwb29sLiBJZiB0aGUgcmVzb3VyY2VzIGhhdmUgdGhlaXIgdGFnc1xuICAgKiBjaGFuZ2VkIGFmdGVyIHRoZXkgaGF2ZSBhbGxvY2F0ZWQgc3BhY2Ugb3IgaWYgdGhlIGFsbG9jYXRpb24gdGFnZ2luZyByZXF1aXJlbWVudHMgYXJlIGNoYW5nZWQgb25cbiAgICogdGhlIHBvb2wsIHRoZSByZXNvdXJjZSBtYXkgYmUgbWFya2VkIGFzIG5vbmNvbXBsaWFudC5cbiAgICovXG4gIHJlYWRvbmx5IGFsbG9jYXRpb25SZXNvdXJjZVRhZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8vIFRPRE86IEFkZCBzdXBwb3J0IGZvciBtb3JlIGFyZ3VtZW50c1xuICAvLyBAc2VlIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy92cGNfaXBhbV9wb29sI2FyZ3VtZW50LXJlZmVyZW5jZVxuICAvLyBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxufVxuXG4vKipcbiAqIE9wdGlvbnMgdG8gcHJvdmlzaW9uIENJRFJzIHRvIGFuIElQQU0gcG9vbC5cbiAqIFVzZWQgdG8gY3JlYXRlIGEgbmV3IElwYW1Qb29sQ2lkclxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1wb29sY2lkci5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBhbVBvb2xDaWRyUHJvdmlzaW9uaW5nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJcHY2IE5ldG1hc2sgbGVuZ3RoIGZvciB0aGUgQ0lEUlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHBvb2wgcHJvdmlzaW9uZWQgd2l0aG91dCBuZXRtYXNrIGxlbmd0aCwgbmVlZCBjaWRyIHJhbmdlIGluIHRoaXMgY2FzZVxuICAgKi9cbiAgcmVhZG9ubHkgbmV0bWFza0xlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogSXB2NiBDSURSIGJsb2NrIGZvciB0aGUgSVBBTSBwb29sXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcG9vbCBwcm92aXNpb25lZCB3aXRob3V0IG5ldG1hc2sgbGVuZ3RoLCBuZWVkIG5ldG1hc2sgbGVuZ3RoIGluIHRoaXMgY2FzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2lkcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPdXRwdXRzIHdoaWNoIG1heSBiZSByZWdpc3RlcmVkIGZvciBvdXRwdXQgdmlhIHRoZSBHcmlkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElwYW1Qb29sT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBQb29sIElEIHRvIGJlIHBhc3NlZCB0byB0aGUgVlBDIGNvbnN0cnVjdFxuICAgKiBAYXR0cmlidXRlIElwYW1Qb29sSWRcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1Qb29sSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWZpbml0aW9uIHVzZWQgdG8gYWRkIG9yIGNyZWF0ZSBhIG5ldyBJUEFNIHBvb2xcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSXBhbVBvb2wgZXh0ZW5kcyBJQXdzQ29uc3RydWN0IHtcbiAgLyoqIHN0cm9uZ2x5IHR5cGVkIG91dHB1dHMgKi9cbiAgcmVhZG9ubHkgaXBhbVBvb2xPdXRwdXRzOiBJcGFtUG9vbE91dHB1dHM7XG5cbiAgLyoqXG4gICAqIFBvb2wgSUQgdG8gYmUgcGFzc2VkIHRvIHRoZSBWUEMgY29uc3RydWN0XG4gICAqIEBhdHRyaWJ1dGUgSXBhbVBvb2xJZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVBvb2xJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQb29sIENJRFIgZm9yIElQdjYgdG8gYmUgcHJvdmlzaW9uZWQgd2l0aCBQdWJsaWMgSVAgc291cmNlIHNldCB0byAnQW1hem9uJ1xuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUNpZHJzOiB0ZklwYW1Qb29sQ2lkci5WcGNJcGFtUG9vbENpZHJbXTtcblxuICAvKipcbiAgICogUG9vbCBDSURSIGZvciBJUHY0IHRvIGJlIHByb3Zpc2lvbmVkIHVzaW5nIElQQU1cbiAgICogUmVxdWlyZWQgdG8gY2hlY2sgZm9yIHN1Ym5ldCBJUCByYW5nZSBpcyB3aXRoaW4gdGhlIFZQQyByYW5nZVxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUlwdjRDaWRycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBhc3NvY2lhdGUgYSBJUHY2IGFkZHJlc3Mgd2l0aCBJUEFNIHBvb2xcbiAgICovXG4gIHByb3Zpc2lvbkNpZHIoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBvcHRpb25zOiBJcGFtUG9vbENpZHJQcm92aXNpb25pbmdPcHRpb25zLFxuICApOiB0ZklwYW1Qb29sQ2lkci5WcGNJcGFtUG9vbENpZHI7XG59XG5cbi8qKlxuICogSVBBTSBzY29wZSBpcyB0aGUgaGlnaGVzdC1sZXZlbCBjb250YWluZXIgd2l0aGluIElQQU0uIEFuIElQQU0gY29udGFpbnMgdHdvIGRlZmF1bHQgc2NvcGVzLlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1zY29wZS5odG1sXG4gKi9cbmludGVyZmFjZSBJcGFtU2NvcGVQcm9wcyBleHRlbmRzIElwYW1TY29wZU9wdGlvbnMge1xuICAvKipcbiAgICogSVBBTSBpZCB0byB3aGljaCBzY29wZSBuZWVkcyB0byBiZSBhZGRlZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wZXJhdGluZyByZWdpb25zIGZvciB0aGUgSXBhbVxuICAgKiBSZXF1aXJlZCBpbiBvcmRlciB0byB2YWxpZGF0ZSB0aGUgbG9jYWxlIGJlaW5nIHNldCBvbiBwb29sXG4gICAqL1xuICByZWFkb25seSBpcGFtT3BlcmF0aW5nUmVnaW9uczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBpcGFtIHNjb3BlIGlkIHRvIGFkZCBhIHBvb2wgaW4gb3JkZXIgdG8gc3VwcG9ydCBkZWZhdWx0IHNjb3Blc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRocm93cyBhbiBlcnJvciBpZiBubyBzY29wZSBpZCBpcyBwcm92aWRlZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVNjb3BlSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQmVpbmcgdXNlZCBpbiBJUEFNIGNsYXNzIHRvIGFkZCBwb29scyB0byBkZWZhdWx0IHNjb3BlIGNyZWF0ZWQgYnkgSVBBTS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcGFtU2NvcGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIElQQU0gc2NvcGUgbmFtZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgdGFnZ2luZ1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHRhZ3Mgd2lsbCBiZSBhZGRlZCB0byB0aGUgc2NvcGVcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1TY29wZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgYW4gSVAgQWRkcmVzcyBNYW5hZ2VyIChJUEFNKS5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtLmh0bWx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElwYW1PcHRpb25zIHtcbiAgLyoqXG4gICAqIENJRFIgTWFzayBmb3IgVnBjXG4gICAqIE9ubHkgcmVxdWlyZWQgd2hlbiB1c2luZyBBV1MgSXBhbVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5ldG1hc2sgbGVuZ3RoIGZvciBJUEFNIGF0dGFjaGVkIHRvIFZQQyBzZWNvbmRhcnkgYWRkcmVzc1xuICAgKi9cbiAgcmVhZG9ubHkgbmV0bWFza0xlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogSXB2NCBvciBhbiBJcHY2IElQQU0gcG9vbFxuICAgKiBPbmx5IHJlcXVpcmVkIHdoZW4gdXNpbmcgQVdTIElwYW1cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwb29sIGF0dGFjaGVkIHRvIFZQQyBzZWNvbmRhcnkgYWRkcmVzc1xuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVBvb2w/OiBJSXBhbVBvb2w7XG5cbiAgLyoqXG4gICAqIFJlcXVpcmVkIHRvIHNldCBTZWNvbmRhcnkgY2lkciBibG9jayByZXNvdXJjZSBuYW1lXG4gICAqIGluIG9yZGVyIHRvIGdlbmVyYXRlIHVuaXF1ZSBsb2dpY2FsIGlkIGZvciB0aGUgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSBjaWRyQmxvY2tOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3V0cHV0cyB3aGljaCBtYXkgYmUgcmVnaXN0ZXJlZCBmb3Igb3V0cHV0IHZpYSB0aGUgR3JpZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcGFtU2NvcGVPdXRwdXRzIHtcbiAgLyoqXG4gICAqIFNjb3BlIElEIHRvIGJlIHBhc3NlZCB0byB0aGUgVlBDIGNvbnN0cnVjdFxuICAgKiBAYXR0cmlidXRlIElwYW1TY29wZUlkXG4gICAqL1xuICByZWFkb25seSBpcGFtU2NvcGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSXBhbVNjb3BlIENsYXNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUlwYW1TY29wZUJhc2Uge1xuICAvKiogc3Ryb25nbHkgdHlwZWQgb3V0cHV0cyAqL1xuICByZWFkb25seSBpcGFtU2NvcGVPdXRwdXRzOiBJcGFtU2NvcGVPdXRwdXRzO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQgc2NvcGUgb2Ygc3RhY2sgdG8gYmUgcGFzc2VkIGluIG9yZGVyIHRvIGNyZWF0ZVxuICAgKiBhIG5ldyBJUEFNIHBvb2xcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgU2NvcGUgaWRzIGNyZWF0ZWQgYnkgdGhlIElQQU0gb3IgYSBuZXcgUmVzb3VyY2UgaWRcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyBzY29wZSB0eXBlIGNhbiBiZSBlaXRoZXIgZGVmYXVsdCBvciBjdXN0b21cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlVHlwZT86IElwYW1TY29wZVR5cGU7XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGFkZCBhIG5ldyBwb29sIHRvIGFuIElQQU0gc2NvcGVcbiAgICovXG4gIGFkZFBvb2woaWQ6IHN0cmluZywgb3B0aW9uczogUG9vbE9wdGlvbnMpOiBJSXBhbVBvb2w7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBuZXcgSVBBTSBQb29sXG4gKiBQb29scyBlbmFibGUgeW91IHRvIG9yZ2FuaXplIHlvdXIgSVAgYWRkcmVzc2VzIGFjY29yZGluZyB0byB5b3VyIHJvdXRpbmcgYW5kIHNlY3VyaXR5IG5lZWRzXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxuICogQHNlZSBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9yZXNvdXJjZXMvdnBjX2lwYW1fcG9vbFxuICogQHJlc291cmNlIGF3c192cGNfaXBhbV9wb29sXG4gKiBAaW50ZXJuYWxcbiAqL1xuY2xhc3MgSXBhbVBvb2wgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIGltcGxlbWVudHMgSUlwYW1Qb29sIHtcbiAgcHVibGljIGdldCBpcGFtUG9vbE91dHB1dHMoKTogSXBhbVBvb2xPdXRwdXRzIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXBhbVBvb2xJZDogdGhpcy5pcGFtUG9vbElkLFxuICAgIH07XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmlwYW1Qb29sT3V0cHV0cztcbiAgfVxuICAvKipcbiAgICogUG9vbCBJRCB0byBiZSBwYXNzZWQgdG8gdGhlIFZQQyBjb25zdHJ1Y3RcbiAgICogQGF0dHJpYnV0ZSBJcGFtUG9vbElkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXBhbVBvb2xJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQb29sIENJRFIgZm9yIElQdjYgdG8gYmUgcHJvdmlzaW9uZWQgd2l0aCBQdWJsaWMgSVAgc291cmNlIHNldCB0byAnQW1hem9uJ1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwYW1DaWRyczogdGZJcGFtUG9vbENpZHIuVnBjSXBhbVBvb2xDaWRyW10gPSBbXTtcblxuICAvKipcbiAgICogUG9vbCBDSURSIGZvciBJUHY0IHRvIGJlIHByb3Zpc2lvbmVkIHVzaW5nIElQQU1cbiAgICogUmVxdWlyZWQgdG8gY2hlY2sgZm9yIHN1Ym5ldCBJUCByYW5nZSBpcyB3aXRoaW4gdGhlIFZQQyByYW5nZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwYW1JcHY0Q2lkcnM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byBpcGFtUG9vbCByZXNvdXJjZSBjcmVhdGVkIGluIHRoaXMgY2xhc3NcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lwYW1Qb29sOiB0ZklwYW1Qb29sLlZwY0lwYW1Qb29sO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJcGFtUG9vbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgY29uc3QgaXBhbVBvb2xOYW1lID1cbiAgICAgIHByb3BzLmlwYW1Qb29sTmFtZSA/P1xuICAgICAgTGF6eS5zdHJpbmdWYWx1ZSh7XG4gICAgICAgIHByb2R1Y2U6ICgpID0+XG4gICAgICAgICAgdGhpcy5zdGFjay51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywge1xuICAgICAgICAgICAgbWF4TGVuZ3RoOiAxMjgsXG4gICAgICAgICAgICBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6IFwiX1wiLFxuICAgICAgICAgIH0pLFxuICAgICAgfSk7XG5cbiAgICBpZiAocHJvcHMuYWRkcmVzc0ZhbWlseSA9PT0gQWRkcmVzc0ZhbWlseS5JUF9WNiAmJiAhcHJvcHMuYXdzU2VydmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImF3c1NlcnZpY2UgaXMgcmVxdWlyZWQgd2hlbiBhZGRyZXNzRmFtaWx5IGlzIHNldCB0byBpcHY2XCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vQWRkIHRhZ3MgdG8gdGhlIElQQU0gUG9vbCBpZiBuYW1lIGlzIHByb3ZpZGVkXG4gICAgaWYgKGlwYW1Qb29sTmFtZSkge1xuICAgICAgVGFncy5vZih0aGlzKS5hZGQoTkFNRV9UQUcsIGlwYW1Qb29sTmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy5faXBhbVBvb2wgPSBuZXcgdGZJcGFtUG9vbC5WcGNJcGFtUG9vbCh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGFkZHJlc3NGYW1pbHk6IHByb3BzLmFkZHJlc3NGYW1pbHksXG4gICAgICBsb2NhbGU6IHByb3BzLmxvY2FsZSxcbiAgICAgIGlwYW1TY29wZUlkOiBwcm9wcy5pcGFtU2NvcGVJZCxcbiAgICAgIHB1YmxpY0lwU291cmNlOiBwcm9wcy5wdWJsaWNJcFNvdXJjZSxcbiAgICAgIGF3c1NlcnZpY2U6IHByb3BzLmF3c1NlcnZpY2UsXG4gICAgICBhbGxvY2F0aW9uUmVzb3VyY2VUYWdzOiBwcm9wcy5hbGxvY2F0aW9uUmVzb3VyY2VUYWdzLFxuICAgIH0pO1xuICAgIHRoaXMuaXBhbVBvb2xJZCA9IHRoaXMuX2lwYW1Qb29sLmlkO1xuXG4gICAgLy8gcHJvdmlzaW9uZWRDaWRyczogcHJvcHMuaXB2NFByb3Zpc2lvbmVkQ2lkcnM/Lm1hcCgoY2lkcikgPT4gKHsgY2lkciB9KSksXG4gICAgLy8gUG9wdWxhdGluZyB0byBjaGVjayBmb3Igc3VibmV0IHJhbmdlIGFnYWluc3QgYWxsIElQdjQgcmFuZ2VzIGFzc2lnbmVkIHRvIFZQQyBpbmNsdWRpbmcgSVBBTVxuICAgIHByb3BzLmlwdjRQcm92aXNpb25lZENpZHJzPy5mb3JFYWNoKChjaWRyKSA9PiB7XG4gICAgICB0aGlzLmlwYW1JcHY0Q2lkcnMucHVzaChjaWRyKTtcbiAgICAgIC8vIFRlcnJhZm9ybSBWcGNJcGFtUG9vbCBkb2VzIG5vdCBzdXBwb3J0IGlubGluZSBcIlByb3Zpc2lvbmVkQ2lkcnNcIiBwcm9wZXJ0eVxuICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sI2Nmbi1lYzItaXBhbXBvb2wtcHJvdmlzaW9uZWRjaWRyc1xuICAgICAgdGhpcy5wcm92aXNpb25DaWRyKFwiUHJvdmlzaW9uZWRDaWRyXCIsIHsgY2lkciB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIENJRFIgcHJvdmlzaW9uZWQgdG8gYW4gSVBBTSBwb29sLlxuICAgKiBAc2VlIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy92cGNfaXBhbV9wb29sX2NpZHJcbiAgICogQHBhcmFtIGlkIE5hbWUgb2YgUmVzb3VyY2VcbiAgICogQHBhcmFtIG9wdGlvbnMgRWl0aGVyIGEgQ0lEUiBvciBuZXRtYXNrIGxlbmd0aCBtdXN0IGJlIHByb3ZpZGVkXG4gICAqIEByZXR1cm5zIGF3c192cGNfaXBhbV9wb29sX2NpZHJcbiAgICovXG4gIHB1YmxpYyBwcm92aXNpb25DaWRyKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgb3B0aW9uczogSXBhbVBvb2xDaWRyUHJvdmlzaW9uaW5nT3B0aW9ucyxcbiAgKTogdGZJcGFtUG9vbENpZHIuVnBjSXBhbVBvb2xDaWRyIHtcbiAgICAvLyBUT0RPOiBFcnJvciBpZiBuZWl0aGVyIG9yIGJvdGggY2lkciBhbmQgbmV0bWFzayBsZW5ndGggYXJlIHByb3ZpZGVkXG4gICAgY29uc3QgY2lkciA9IG5ldyB0ZklwYW1Qb29sQ2lkci5WcGNJcGFtUG9vbENpZHIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBpcGFtUG9vbElkOiB0aGlzLmlwYW1Qb29sSWQsXG4gICAgfSk7XG4gICAgdGhpcy5pcGFtQ2lkcnMucHVzaChjaWRyKTtcbiAgICByZXR1cm4gY2lkcjtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgY3VzdG9tIElwYW0gU2NvcGUsIGN1c3RvbSBJUEFNIHNjb3BlcyBjYW4gb25seSBiZSBwcml2YXRlXG4gKiAoY2FuIGJlIHVzZWQgZm9yIGFkZGluZyBjdXN0b20gc2NvcGVzIHRvIGFuIGV4aXN0aW5nIElQQU0pXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXNjb3BlLmh0bWxcbiAqIEBzZWUgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvcmVzb3VyY2VzL3ZwY19pcGFtX3Njb3BlXG4gKiBAcmVzb3VyY2UgYXdzX3ZwY19pcGFtX3Njb3BlXG4gKi9cbmNsYXNzIElwYW1TY29wZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJSXBhbVNjb3BlQmFzZSB7XG4gIHB1YmxpYyBnZXQgaXBhbVNjb3BlT3V0cHV0cygpOiBJcGFtU2NvcGVPdXRwdXRzIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXBhbVNjb3BlSWQ6IHRoaXMuc2NvcGVJZCxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5pcGFtU2NvcGVPdXRwdXRzO1xuICB9XG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIHJlZmVyZW5jZSB0byBuZXdseSBjcmVhdGVkIFJlc291cmNlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9pcGFtU2NvcGU6IHRmSXBhbVNjb3BlLlZwY0lwYW1TY29wZTtcblxuICAvKipcbiAgICogSUQgZm9yIFJlc291cmNlIElwYW1TY29wZVxuICAgKiBAYXR0cmlidXRlIElwYW1TY29wZUlkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGVJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIHRvIGNvbmZpZ3VyZSBpcGFtIHNjb3BlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBJcGFtU2NvcGVQcm9wcztcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHN0YWNrIHNjb3BlIHRvIGJlIHBhc3NlZCB0aHJvdWdoIGFkZFBvb2wgbWV0aG9kIGlub3JkZXIgdG8gY3JlYXRlIGEgbmV3IElwYW1Qb29sXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdDtcblxuICAvKipcbiAgICogRGVmaW5lcyBzY29wZSB0eXBlIGNhbiBiZSBlaXRoZXIgZGVmYXVsdCBvciBjdXN0b21cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY29wZVR5cGU6IElwYW1TY29wZVR5cGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IElwYW1TY29wZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLl9pcGFtU2NvcGUgPSBuZXcgdGZJcGFtU2NvcGUuVnBjSXBhbVNjb3BlKHNjb3BlLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGlwYW1JZDogcHJvcHMuaXBhbUlkLFxuICAgIH0pO1xuICAgIFRhZ3Mub2YodGhpcy5faXBhbVNjb3BlKS5hZGQoXG4gICAgICBOQU1FX1RBRyxcbiAgICAgIHByb3BzLmlwYW1TY29wZU5hbWUgPz8gXCJDdXN0b21JcGFtU2NvcGVcIixcbiAgICApO1xuICAgIHRoaXMuc2NvcGVJZCA9IHRoaXMuX2lwYW1TY29wZS5pZDtcbiAgICB0aGlzLnNjb3BlVHlwZSA9IElwYW1TY29wZVR5cGUuQ1VTVE9NO1xuICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHBvb2wgdG8gdGhlIElQQU0gc2NvcGUuXG4gICAqIEBleHRlcm5hbFxuICAgKi9cbiAgYWRkUG9vbChpZDogc3RyaW5nLCBvcHRpb25zOiBQb29sT3B0aW9ucyk6IElJcGFtUG9vbCB7XG4gICAgcmV0dXJuIGNyZWF0ZUlwYW1Qb29sKHRoaXMuc2NvcGUsIGlkLCB0aGlzLnByb3BzLCBvcHRpb25zLCB0aGlzLnNjb3BlSWQpO1xuICB9XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgSVBBTSBkZWZhdWx0IHNjb3Blcy5cbiAqL1xuY2xhc3MgSXBhbVNjb3BlQmFzZSBpbXBsZW1lbnRzIElJcGFtU2NvcGVCYXNlIHtcbiAgcHVibGljIGdldCBpcGFtU2NvcGVPdXRwdXRzKCk6IElwYW1TY29wZU91dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICBpcGFtU2NvcGVJZDogdGhpcy5zY29wZUlkLFxuICAgIH07XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmlwYW1TY29wZU91dHB1dHM7XG4gIH1cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdCxcbiAgICByZWFkb25seSBzY29wZUlkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogSXBhbVNjb3BlUHJvcHMsXG4gICAgcmVhZG9ubHkgc2NvcGVUeXBlPzogSXBhbVNjb3BlVHlwZSxcbiAgKSB7XG4gICAgdGhpcy5zY29wZVR5cGUgPSBJcGFtU2NvcGVUeXBlLkRFRkFVTFQ7XG4gICAgaWYgKCFwcm9wcy5pcGFtU2NvcGVJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaXBhbVNjb3BlSWQgaXMgcmVxdWlyZWRcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2NvcGVJZCA9IHByb3BzLmlwYW1TY29wZUlkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcG9vbCB0byB0aGUgSVBBTSBzY29wZS5cbiAgICogQGV4dGVybmFsXG4gICAqL1xuICBhZGRQb29sKGlkOiBzdHJpbmcsIG9wdGlvbnM6IFBvb2xPcHRpb25zKTogSUlwYW1Qb29sIHtcbiAgICByZXR1cm4gY3JlYXRlSXBhbVBvb2wodGhpcy5zY29wZSwgaWQsIHRoaXMucHJvcHMsIG9wdGlvbnMsIHRoaXMuc2NvcGVJZCk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJcGFtT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBJcGFtIElEIHRvIGJlIHBhc3NlZCB0byB0aGUgVlBDIGNvbnN0cnVjdFxuICAgKiBAYXR0cmlidXRlIElwYW1JZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBuZXcgSVBBTSB3aXRoIGRlZmF1bHQgcHVibGljIGFuZCBwcml2YXRlIHNjb3BlXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXNjb3BlLmh0bWxcbiAqIEBzZWUgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvcmVzb3VyY2VzL3ZwY19pcGFtXG4gKiBAcmVzb3VyY2UgYXdzX3ZwY19pcGFtXG4gKi9cbmV4cG9ydCBjbGFzcyBJcGFtIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSB7XG4gIHB1YmxpYyBnZXQgaXBhbU91dHB1dHMoKTogSXBhbU91dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICBpcGFtSWQ6IHRoaXMuaXBhbUlkLFxuICAgIH07XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmlwYW1PdXRwdXRzO1xuICB9XG4gIC8qKlxuICAgKiBQcm92aWRlcyBhY2Nlc3MgdG8gZGVmYXVsdCBwdWJsaWMgSVBBTSBzY29wZSB0aHJvdWdoIGFkZCBwb29sIG1ldGhvZC5cbiAgICogVXNhZ2U6IFRvIGFkZCBhbiBJcGFtIFBvb2wgdG8gYSBkZWZhdWx0IHB1YmxpYyBzY29wZVxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXNjb3BlLmh0bWxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwdWJsaWNTY29wZTogSUlwYW1TY29wZUJhc2U7XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGFjY2VzcyB0byBkZWZhdWx0IHByaXZhdGUgSVBBTSBzY29wZSB0aHJvdWdoIGFkZCBwb29sIG1ldGhvZC5cbiAgICogVXNhZ2U6IFRvIGFkZCBhbiBJcGFtIFBvb2wgdG8gYSBkZWZhdWx0IHByaXZhdGUgc2NvcGVcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1zY29wZS5odG1sXG4gICAqICovXG4gIHB1YmxpYyByZWFkb25seSBwcml2YXRlU2NvcGU6IElJcGFtU2NvcGVCYXNlO1xuXG4gIC8vIFJlc291cmNlIElQQU1cbiAgcHJpdmF0ZSByZWFkb25seSBfaXBhbTogdGZJcGFtLlZwY0lwYW07XG4gIC8qKlxuICAgKiBBY2Nlc3MgdG8gSXBhbSByZXNvdXJjZSBpZCB0aGF0IGNhbiBiZSB1c2VkIGxhdGVyIHRvIGFkZCBhIGN1c3RvbSBwcml2YXRlIHNjb3BlIHRvIHRoaXMgSVBBTVxuICAgKiBAYXR0cmlidXRlIElwYW1JZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwYW1JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIG9wZXJhdGluZyByZWdpb25zIGZvciBJUEFNXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0aW5nUmVnaW9uczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2Ygc2NvcGVzIGNyZWF0ZWQgdW5kZXIgdGhpcyBJUEFNXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGVzOiBJSXBhbVNjb3BlQmFzZVtdID0gW107XG5cbiAgLyoqXG4gICAqIElQQU0gbmFtZSB0byBiZSB1c2VkIGZvciB0YWdnaW5nXG4gICAqIEBkZWZhdWx0IG5vIHRhZyBzcGVjaWZpZWRcbiAgICogQGF0dHJpYnV0ZSBJcGFtTmFtZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwYW1OYW1lPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogSXBhbVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBpZiAocHJvcHM/LmlwYW1OYW1lKSB7XG4gICAgICBUYWdzLm9mKHRoaXMpLmFkZChOQU1FX1RBRywgcHJvcHMuaXBhbU5hbWUpO1xuICAgIH1cbiAgICBpZiAoIXByb3BzPy5vcGVyYXRpbmdSZWdpb24gJiYgIXRoaXMuZW52LnJlZ2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUGxlYXNlIHByb3ZpZGUgYXQgbGVhc3Qgb25lIG9wZXJhdGluZyByZWdpb25cIik7XG4gICAgfVxuXG4gICAgdGhpcy5vcGVyYXRpbmdSZWdpb25zID0gcHJvcHM/Lm9wZXJhdGluZ1JlZ2lvbiA/PyBbdGhpcy5lbnYucmVnaW9uXTtcbiAgICB0aGlzLmlwYW1OYW1lID0gcHJvcHM/LmlwYW1OYW1lO1xuXG4gICAgdGhpcy5faXBhbSA9IG5ldyB0ZklwYW0uVnBjSXBhbSh0aGlzLCBcIklwYW1cIiwge1xuICAgICAgb3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zXG4gICAgICAgID8gdGhpcy5vcGVyYXRpbmdSZWdpb25zLm1hcCgocmVnaW9uKSA9PiAoeyByZWdpb25OYW1lOiByZWdpb24gfSkpXG4gICAgICAgIDogW10sXG4gICAgfSk7XG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHRoaXMuX2lwYW07XG5cbiAgICB0aGlzLmlwYW1JZCA9IHRoaXMuX2lwYW0uaWQ7XG4gICAgdGhpcy5wdWJsaWNTY29wZSA9IG5ldyBJcGFtU2NvcGVCYXNlKHRoaXMsIFwiRGVmYXVsdFB1YmxpY1Njb3BlXCIsIHtcbiAgICAgIGlwYW1PcGVyYXRpbmdSZWdpb25zOiB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMsXG4gICAgICBpcGFtSWQ6IHRoaXMuX2lwYW0uaWQsXG4gICAgICBpcGFtU2NvcGVJZDogdGhpcy5faXBhbS5wdWJsaWNEZWZhdWx0U2NvcGVJZCxcbiAgICB9KTtcbiAgICB0aGlzLnByaXZhdGVTY29wZSA9IG5ldyBJcGFtU2NvcGVCYXNlKHRoaXMsIFwiRGVmYXVsdFByaXZhdGVTY29wZVwiLCB7XG4gICAgICBpcGFtT3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zLFxuICAgICAgaXBhbUlkOiB0aGlzLl9pcGFtLmlkLFxuICAgICAgaXBhbVNjb3BlSWQ6IHRoaXMuX2lwYW0ucHJpdmF0ZURlZmF1bHRTY29wZUlkLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zY29wZXMucHVzaCh0aGlzLnB1YmxpY1Njb3BlLCB0aGlzLnByaXZhdGVTY29wZSk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gYWRkIGN1c3RvbSBzY29wZSB0byBhbiBleGlzdGluZyBJUEFNXG4gICAqIEN1c3RvbSBzY29wZXMgY2FuIG9ubHkgYmUgcHJpdmF0ZVxuICAgKi9cbiAgcHVibGljIGFkZFNjb3BlKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBvcHRpb25zOiBJcGFtU2NvcGVPcHRpb25zLFxuICApOiBJSXBhbVNjb3BlQmFzZSB7XG4gICAgY29uc3QgaXBhbVNjb3BlID0gbmV3IElwYW1TY29wZShzY29wZSwgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBpcGFtSWQ6IHRoaXMuaXBhbUlkLFxuICAgICAgaXBhbU9wZXJhdGluZ1JlZ2lvbnM6IHRoaXMub3BlcmF0aW5nUmVnaW9ucyxcbiAgICB9KTtcbiAgICB0aGlzLnNjb3Blcy5wdXNoKGlwYW1TY29wZSk7XG4gICAgcmV0dXJuIGlwYW1TY29wZTtcbiAgfVxufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIGNyZWF0ZSBJcGFtUG9vbCB1bmRlciBzY29wZVxuICogQGludGVybmFsXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUlwYW1Qb29sKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBzY29wZU9wdGlvbnM6IElwYW1TY29wZVByb3BzLFxuICBwb29sT3B0aW9uczogUG9vbE9wdGlvbnMsXG4gIHNjb3BlSWQ6IHN0cmluZyxcbik6IElwYW1Qb29sIHtcbiAgY29uc3QgaXNMb2NhbGVJbk9wZXJhdGluZ1JlZ2lvbnMgPSBzY29wZU9wdGlvbnMuaXBhbU9wZXJhdGluZ1JlZ2lvbnNcbiAgICA/IHNjb3BlT3B0aW9ucy5pcGFtT3BlcmF0aW5nUmVnaW9uc1xuICAgICAgICAubWFwKChyZWdpb24pID0+ICh7IHJlZ2lvbk5hbWU6IHJlZ2lvbiB9KSlcbiAgICAgICAgLnNvbWUoKHJlZ2lvbikgPT4gcmVnaW9uLnJlZ2lvbk5hbWUgPT09IHBvb2xPcHRpb25zLmxvY2FsZSlcbiAgICA6IGZhbHNlO1xuXG4gIGlmICghaXNMb2NhbGVJbk9wZXJhdGluZ1JlZ2lvbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIHByb3ZpZGVkIGxvY2FsZSAnJHtwb29sT3B0aW9ucy5sb2NhbGV9JyBpcyBub3QgaW4gdGhlIG9wZXJhdGluZyByZWdpb25zLmAsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgSXBhbVBvb2woc2NvcGUsIGlkLCB7XG4gICAgaXBhbVBvb2xOYW1lOiBwb29sT3B0aW9ucy5pcGFtUG9vbE5hbWUsXG4gICAgYWRkcmVzc0ZhbWlseTogcG9vbE9wdGlvbnMuYWRkcmVzc0ZhbWlseSxcbiAgICBpcHY0UHJvdmlzaW9uZWRDaWRyczogcG9vbE9wdGlvbnMuaXB2NFByb3Zpc2lvbmVkQ2lkcnMsXG4gICAgaXBhbVNjb3BlSWQ6IHNjb3BlSWQsXG4gICAgbG9jYWxlOiBwb29sT3B0aW9ucy5sb2NhbGUsXG4gICAgcHVibGljSXBTb3VyY2U6IHBvb2xPcHRpb25zLnB1YmxpY0lwU291cmNlLFxuICAgIGF3c1NlcnZpY2U6IHBvb2xPcHRpb25zLmF3c1NlcnZpY2UsXG4gIH0pO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { keyPair as tfKeyPair } from "@
|
|
1
|
+
import { keyPair as tfKeyPair } from "@cdktn/provider-aws";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
3
|
import { OperatingSystemType } from "./machine-image";
|
|
4
4
|
import { AwsConstructBase, AwsConstructProps, IAwsConstruct } from "../aws-construct";
|
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.KeyPair = exports.KeyPairType = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
// https://github.com/aws/aws-cdk/blob/v2.175.1/packages/aws-cdk-lib/aws-ec2/lib/key-pair.ts
|
|
7
|
-
const provider_aws_1 = require("@
|
|
8
|
-
const provider_tls_1 = require("@
|
|
9
|
-
const
|
|
7
|
+
const provider_aws_1 = require("@cdktn/provider-aws");
|
|
8
|
+
const provider_tls_1 = require("@cdktn/provider-tls");
|
|
9
|
+
const cdktn_1 = require("cdktn");
|
|
10
10
|
const machine_image_1 = require("./machine-image");
|
|
11
11
|
const aws_construct_1 = require("../aws-construct");
|
|
12
12
|
const parameter_1 = require("../storage/parameter");
|
|
@@ -129,7 +129,7 @@ class KeyPair extends aws_construct_1.AwsConstructBase {
|
|
|
129
129
|
this._privateKey = new provider_tls_1.privateKey.PrivateKey(this, "PrivateKey", {
|
|
130
130
|
algorithm,
|
|
131
131
|
});
|
|
132
|
-
publicKey =
|
|
132
|
+
publicKey = cdktn_1.Fn.trimspace(this._privateKey.publicKeyOpenssh);
|
|
133
133
|
}
|
|
134
134
|
this.resource = new provider_aws_1.keyPair.KeyPair(this, "Resource", {
|
|
135
135
|
keyName: props?.keyPairName,
|
|
@@ -190,5 +190,5 @@ class KeyPair extends aws_construct_1.AwsConstructBase {
|
|
|
190
190
|
}
|
|
191
191
|
exports.KeyPair = KeyPair;
|
|
192
192
|
_a = JSII_RTTI_SYMBOL_1;
|
|
193
|
-
KeyPair[_a] = { fqn: "terraconstructs.aws.compute.KeyPair", version: "0.2.
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXBhaXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUva2V5LXBhaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0RkFBNEY7QUFFNUYsc0RBQTJEO0FBQzNELHNEQUFpRDtBQUNqRCxpQ0FBMkI7QUFFM0IsbURBQXNEO0FBQ3RELG9EQUkwQjtBQUMxQixvREFJOEI7QUFFOUIsTUFBTTtBQUNOLGdDQUFnQztBQUNoQyxNQUFNO0FBQ04sOEJBQThCO0FBQzlCLFFBQVE7QUFDUiw4Q0FBOEM7QUFDOUMsUUFBUTtBQUNSLGlCQUFpQjtBQUVqQixRQUFRO0FBQ1IsbUJBQW1CO0FBQ25CLFFBQVE7QUFDUixpQkFBaUI7QUFDakIsSUFBSTtBQUVKOztHQUVHO0FBQ0gsSUFBWSxXQVlYO0FBWkQsV0FBWSxXQUFXO0lBQ3JCOztPQUVHO0lBQ0gsMEJBQVcsQ0FBQTtJQUVYOzs7O09BSUc7SUFDSCxrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBWlcsV0FBVywyQkFBWCxXQUFXLFFBWXRCO0FBc0hEOzs7O0dBSUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxnQ0FBZ0I7SUFDM0M7O09BRUc7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUMzQixLQUFnQixFQUNoQixFQUFVLEVBQ1YsV0FBbUI7UUFFbkIsT0FBTyxPQUFPLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLHFCQUFxQixDQUNqQyxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBd0I7UUFFeEIsTUFBTSxNQUFPLFNBQVEsZ0NBQWdCO1lBR25DLElBQVcsY0FBYztnQkFDdkIsT0FBTztvQkFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7b0JBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtpQkFDaEIsQ0FBQztZ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Q0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxNQUEyQjtRQUNoRCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixLQUFLLFdBQVcsQ0FBQyxPQUFPO2dCQUN0QixPQUFPLE1BQU0sS0FBSyxtQ0FBbUIsQ0FBQyxPQUFPLENBQUM7WUFDaEQsS0FBSyxXQUFXLENBQUMsR0FBRztnQkFDbEIsT0FBTyxJQUFJLENBQUM7WUFDZDtnQkFDRSxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQzs7QUFwTkgsMEJBcU5DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjMi9saWIva2V5LXBhaXIudHNcblxuaW1wb3J0IHsga2V5UGFpciBhcyB0ZktleVBhaXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgcHJpdmF0ZUtleSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItdGxzXCI7XG5pbXBvcnQgeyBGbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE9wZXJhdGluZ1N5c3RlbVR5cGUgfSBmcm9tIFwiLi9tYWNoaW5lLWltYWdlXCI7XG5pbXBvcnQge1xuICBBd3NDb25zdHJ1Y3RCYXNlLFxuICBBd3NDb25zdHJ1Y3RQcm9wcyxcbiAgSUF3c0NvbnN0cnVjdCxcbn0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7XG4gIFN0cmluZ1BhcmFtZXRlcixcbiAgSVN0cmluZ1BhcmFtZXRlcixcbiAgUGFyYW1ldGVyVHlwZSxcbn0gZnJvbSBcIi4uL3N0b3JhZ2UvcGFyYW1ldGVyXCI7XG5cbi8vIC8qKlxuLy8gICogVGhlIGZvcm1hdCBvZiB0aGUgS2V5IFBhaXJcbi8vICAqL1xuLy8gZXhwb3J0IGVudW0gS2V5UGFpckZvcm1hdCB7XG4vLyAgIC8qKlxuLy8gICAgKiBBIFBQSyBmaWxlLCB0eXBpY2FsbHkgdXNlZCB3aXRoIFB1VFRZLlxuLy8gICAgKi9cbi8vICAgUFBLID0gXCJwcGtcIixcblxuLy8gICAvKipcbi8vICAgICogQSBQRU0gZmlsZS5cbi8vICAgICovXG4vLyAgIFBFTSA9IFwicGVtXCIsXG4vLyB9XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGtleSBwYWlyLlxuICovXG5leHBvcnQgZW51bSBLZXlQYWlyVHlwZSB7XG4gIC8qKlxuICAgKiBBbiBSU0Ega2V5LlxuICAgKi9cbiAgUlNBID0gXCJyc2FcIixcblxuICAvKipcbiAgICogQW4gRUQyNTUxOSBrZXkuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBFRDI1NTE5IGtleXMgYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIFdpbmRvd3MgaW5zdGFuY2VzLlxuICAgKi9cbiAgRUQyNTUxOSA9IFwiZWQyNTUxOVwiLFxufVxuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIG9mIGEgS2V5IFBhaXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLZXlQYWlyUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBuYW1lIGZvciB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IEEgZ2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGtleVBhaXJOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgdW5pcXVlIG5hbWUgYmVnaW5uaW5nIHdpdGggdGhlIHNwZWNpZmllZCBwcmVmaXguXG4gICAqXG4gICAqIENvbmZsaWN0cyB3aXRoIGBrZXlQYWlyTmFtZWAuIElmIG5laXRoZXIgYGtleVBhaXJOYW1lYCBub3IgYGtleVBhaXJOYW1lUHJlZml4YCBpcyBwcm92aWRlZCxcbiAgICogVGVycmFDb25zdHJ1Y3RzIHdpbGwgY3JlYXRlIGEgdW5pcXVlIGtleSBuYW1lIHVzaW5nIHRoZSBgZ3JpZFVVSURgIGFzIHByZWZpeC5cbiAgICpcbiAgICogQGRlZmF1bHQgQSBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkga2V5UGFpck5hbWVQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLy8gLyoqXG4gIC8vICAqIFRoZSBmb3JtYXQgb2YgdGhlIGtleSBwYWlyLlxuICAvLyAgKlxuICAvLyAgKiBAZGVmYXVsdCBQRU1cbiAgLy8gICovXG4gIC8vIHJlYWRvbmx5IGZvcm1hdD86IEtleVBhaXJGb3JtYXQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGtleSBwYWlyLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSU0EgKGlnbm9yZWQgaWYga2V5TWF0ZXJpYWwgaXMgcHJvdmlkZWQpXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMga2V5IG1hdGVyaWFsLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIHByb3ZpZGVkIHRoZSBrZXkgaXMgY29uc2lkZXJlZCBcImltcG9ydGVkXCIuIEZvciBpbXBvcnRlZFxuICAgKiBrZXlzLCBpdCBpcyBhc3N1bWVkIHRoYXQgeW91IGFscmVhZHkgaGF2ZSB0aGUgcHJpdmF0ZSBrZXkgbWF0ZXJpYWxcbiAgICogc28gdGhlIHByaXZhdGUga2V5IG1hdGVyaWFsIHdpbGwgbm90IGJlIHJldHVybmVkIG9yIHN0b3JlZCBpblxuICAgKiBBV1MgU3lzdGVtcyBNYW5hZ2VyIFBhcmFtZXRlciBTdG9yZS5cbiAgICpcbiAgICogVGhlIHByaXZhdGUga2V5IGdlbmVyYXRlZCBieSB0aGlzIHJlc291cmNlIHdpbGwgYmUgc3RvcmVkIHVuZW5jcnlwdGVkXG4gICAqIGluIHlvdXIgVGVycmFmb3JtIHN0YXRlIGZpbGUuXG4gICAqXG4gICAqIE9taXR0aW5nIHRoZSBwdWJsaWNLZXlNYXRlcmlhbCBmb3IgcHJvZHVjdGlvbiBkZXBsb3ltZW50cyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAqIEluc3RlYWQsIGdlbmVyYXRlIGEgcHJpdmF0ZSBrZXkgZmlsZSBvdXRzaWRlIG9mIFRlcnJhZm9ybSBhbmQgZGlzdHJpYnV0ZSBpdFxuICAgKiBzZWN1cmVseSB0byB0aGUgc3lzdGVtIHdoZXJlIFRlcnJhZm9ybSB3aWxsIGJlIHJ1bi5cbiAgICpcbiAgICogQGRlZmF1bHQgYSBwdWJsaWMgYW5kIHByaXZhdGUga2V5IHdpbGwgYmUgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNLZXlNYXRlcmlhbD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPdXRwdXRzIHdoaWNoIG1heSBiZSByZWdpc3RlcmVkIGZvciBvdXRwdXQgdmlhIHRoZSBHcmlkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXJPdXRwdXRzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqL1xuICByZWFkb25seSBrZXlQYWlyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIHR5cGUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG59XG5cbi8qKlxuICogQXR0cmlidXRlcyBvZiBhIEtleSBQYWlyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXJBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqL1xuICByZWFkb25seSBrZXlQYWlyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIHR5cGUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG59XG5cbi8qKlxuICogQW4gRUMyIEtleSBQYWlyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElLZXlQYWlyIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIC8qKiBTdHJvbmdseSB0eXBlZCBvdXRwdXRzICovXG4gIHJlYWRvbmx5IGtleVBhaXJPdXRwdXRzOiBLZXlQYWlyT3V0cHV0cztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGtleSBwYWlyLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBrZXlQYWlyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG5cbiAgLyoqXG4gICAqIFVzZWQgaW50ZXJuYWxseSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUga2V5IHBhaXIgaXMgY29tcGF0aWJsZSB3aXRoIGFuIE9TIHR5cGUuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX2lzT3NDb21wYXRpYmxlKG9zVHlwZTogT3BlcmF0aW5nU3lzdGVtVHlwZSk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQW4gRUMyIEtleSBQYWlyLlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6S2V5UGFpclxuICovXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJS2V5UGFpciB7XG4gIC8qKlxuICAgKiBJbXBvcnRzIGEga2V5IHBhaXIgYmFzZWQgb24gdGhlIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21LZXlQYWlyTmFtZShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAga2V5UGFpck5hbWU6IHN0cmluZyxcbiAgKTogSUtleVBhaXIge1xuICAgIHJldHVybiBLZXlQYWlyLmZyb21LZXlQYWlyQXR0cmlidXRlcyhzY29wZSwgaWQsIHsga2V5UGFpck5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyBhIGtleSBwYWlyIHdpdGggYSBuYW1lIGFuZCBvcHRpb25hbCB0eXBlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tS2V5UGFpckF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBLZXlQYWlyQXR0cmlidXRlcyxcbiAgKTogSUtleVBhaXIge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJS2V5UGFpciB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkga2V5UGFpck5hbWU6IHN0cmluZztcbiAgICAgIHB1YmxpYyByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG4gICAgICBwdWJsaWMgZ2V0IGtleVBhaXJPdXRwdXRzKCk6IEtleVBhaXJPdXRwdXRzIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXlQYWlyTmFtZTogdGhpcy5rZXlQYWlyTmFtZSxcbiAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmtleVBhaXJPdXRwdXRzO1xuICAgICAgfVxuXG4gICAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5rZXlQYWlyTmFtZSA9IGF0dHJzLmtleVBhaXJOYW1lO1xuICAgICAgICB0aGlzLnR5cGUgPSBhdHRycy50eXBlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgaW50ZXJuYWxseSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUga2V5IHBhaXIgaXMgY29tcGF0aWJsZSB3aXRoIGFuIE9TIHR5cGUuXG4gICAgICAgKlxuICAgICAgICogQGludGVybmFsXG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyBfaXNPc0NvbXBhdGlibGUob3NUeXBlOiBPcGVyYXRpbmdTeXN0ZW1UeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgY2FzZSBLZXlQYWlyVHlwZS5FRDI1NTE5OlxuICAgICAgICAgICAgcmV0dXJuIG9zVHlwZSAhPT0gT3BlcmF0aW5nU3lzdGVtVHlwZS5XSU5ET1dTO1xuICAgICAgICAgIGNhc2UgS2V5UGFpclR5cGUuUlNBOlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGtleVBhaXJPdXRwdXRzKCk6IEtleVBhaXJPdXRwdXRzIHtcbiAgICByZXR1cm4ge1xuICAgICAga2V5UGFpck5hbWU6IHRoaXMua2V5UGFpck5hbWUsXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMua2V5UGFpck91dHB1dHM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBuYW1lIG9mIHRoZSBrZXkgcGFpci5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGtleVBhaXJOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmaW5nZXJwcmludCBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBrZXlQYWlyRmluZ2VycHJpbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBJRCBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBrZXlQYWlySWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIGtleSBwYWlyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU/OiBLZXlQYWlyVHlwZTtcblxuICAvLyBub3Qgc3VwcG9ydGVkIGluIFRlcnJhZm9ybVxuICAvLyAvKipcbiAgLy8gICogVGhlIGZvcm1hdCBvZiB0aGUga2V5IHBhaXIuXG4gIC8vICAqL1xuICAvLyBwdWJsaWMgcmVhZG9ubHkgZm9ybWF0OiBLZXlQYWlyRm9ybWF0O1xuXG4gIHByaXZhdGUgX3ByaXZhdGVLZXk/OiBwcml2YXRlS2V5LlByaXZhdGVLZXk7XG4gIHByaXZhdGUgX3ByaXZhdGVLZXlTc20/OiBJU3RyaW5nUGFyYW1ldGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pc0ltcG9ydDogYm9vbGVhbjtcblxuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IHRmS2V5UGFpci5LZXlQYWlyO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogS2V5UGFpclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHM/LmtleVBhaXJOYW1lICYmIHByb3BzPy5rZXlQYWlyTmFtZVByZWZpeCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkNhbm5vdCBzcGVjaWZ5IGJvdGggJ2tleVBhaXJOYW1lJyBhbmQgJ2tleVBhaXJOYW1lUHJlZml4J1wiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBrZXlQYWlyTmFtZVByZWZpeCA9XG4gICAgICBwcm9wcz8ua2V5UGFpck5hbWVQcmVmaXggfHxcbiAgICAgIHRoaXMuc3RhY2sudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHtcbiAgICAgICAgcHJlZml4OiB0aGlzLmdyaWRVVUlELFxuICAgICAgICBtYXhMZW5ndGg6IDI1NSxcbiAgICAgIH0pO1xuXG4gICAgLy8gTGF6eS5zdHJpbmdWYWx1ZSh7XG4gICAgLy8gICBwcm9kdWNlOiAoKSA9PiBBd3NTdGFjay51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDI1NSB9KSxcbiAgICAvLyB9KTtcblxuICAgIGlmIChwcm9wcz8ucHVibGljS2V5TWF0ZXJpYWwgJiYgcHJvcHM/LnR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBzcGVjaWZ5ICd0eXBlJyBmb3Iga2V5cyB3aXRoIGltcG9ydGVkIG1hdGVyaWFsXCIpO1xuICAgIH1cblxuICAgIHRoaXMuX2lzSW1wb3J0ID0gISFwcm9wcz8ucHVibGljS2V5TWF0ZXJpYWw7XG5cbiAgICBjb25zdCBrZXlUeXBlID0gcHJvcHM/LnR5cGUgPz8gS2V5UGFpclR5cGUuUlNBO1xuICAgIGxldCBwdWJsaWNLZXkgPSBwcm9wcz8ucHVibGljS2V5TWF0ZXJpYWw7XG4gICAgaWYgKCFwdWJsaWNLZXkpIHtcbiAgICAgIGxldCBhbGdvcml0aG06IFwiUlNBXCIgfCBcIkVDRFNBXCIgfCBcIkVEMjU1MTlcIjtcbiAgICAgIHN3aXRjaCAoa2V5VHlwZSkge1xuICAgICAgICBjYXNlIEtleVBhaXJUeXBlLkVEMjU1MTk6XG4gICAgICAgICAgYWxnb3JpdGhtID0gXCJFRDI1NTE5XCI7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgS2V5UGFpclR5cGUuUlNBOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGFsZ29yaXRobSA9IFwiUlNBXCI7XG4gICAgICB9XG4gICAgICB0aGlzLl9wcml2YXRlS2V5ID0gbmV3IHByaXZhdGVLZXkuUHJpdmF0ZUtleSh0aGlzLCBcIlByaXZhdGVLZXlcIiwge1xuICAgICAgICBhbGdvcml0aG0sXG4gICAgICB9KTtcbiAgICAgIHB1YmxpY0tleSA9IEZuLnRyaW1zcGFjZSh0aGlzLl9wcml2YXRlS2V5LnB1YmxpY0tleU9wZW5zc2gpO1xuICAgIH1cblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgdGZLZXlQYWlyLktleVBhaXIodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBrZXlOYW1lOiBwcm9wcz8ua2V5UGFpck5hbWUsXG4gICAgICBrZXlOYW1lUHJlZml4OiBrZXlQYWlyTmFtZVByZWZpeCxcbiAgICAgIC8vIGtleUZvcm1hdDogcHJvcHM/LmZvcm1hdCA/PyBLZXlQYWlyRm9ybWF0LlBFTSxcbiAgICAgIHB1YmxpY0tleSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLl9wcml2YXRlS2V5KSB7XG4gICAgICAvLyBpZiBwcml2YXRlS2V5IHdhcyBnZW5lcmF0ZWQsIG1pbWljIENGTiBiZWhhdmlvciB3aXRoIFNTTVxuICAgICAgdGhpcy5fcHJpdmF0ZUtleVNzbSA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJQcml2YXRlS2V5UGFyYW1ldGVyXCIsIHtcbiAgICAgICAgcGFyYW1ldGVyTmFtZTogYC9lYzIva2V5cGFpci8ke3RoaXMucmVzb3VyY2UuaWR9YCxcbiAgICAgICAgZGVzY3JpcHRpb246IGBQcml2YXRlIGtleSBmb3IgJHt0aGlzLnJlc291cmNlLmtleU5hbWV9YCxcbiAgICAgICAgdHlwZTogUGFyYW1ldGVyVHlwZS5TRUNVUkVfU1RSSU5HLFxuICAgICAgICBzZW5zaXRpdmVTdHJpbmdWYWx1ZTogdGhpcy5fcHJpdmF0ZUtleS5wcml2YXRlS2V5UGVtLFxuICAgICAgICBzaW1wbGVOYW1lOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMua2V5UGFpck5hbWUgPSB0aGlzLnJlc291cmNlLmtleU5hbWU7XG4gICAgdGhpcy5rZXlQYWlyRmluZ2VycHJpbnQgPSB0aGlzLnJlc291cmNlLmZpbmdlcnByaW50O1xuICAgIHRoaXMua2V5UGFpcklkID0gdGhpcy5yZXNvdXJjZS5pZDtcbiAgICB0aGlzLnR5cGUgPSBrZXlUeXBlO1xuICAgIC8vIHRoaXMuZm9ybWF0ID0ga2V5Rm9ybWF0O1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGtleSBtYXRlcmlhbCB3YXMgaW1wb3J0ZWQuXG4gICAqXG4gICAqIEtleXMgd2l0aCBpbXBvcnRlZCBtYXRlcmlhbCBkbyBub3QgaGF2ZSB0aGVpciBwcml2YXRlIGtleSBtYXRlcmlhbCBzdG9yZWRcbiAgICogb3IgcmV0dXJuZWQgYXV0b21hdGljYWxseS5cbiAgICovXG4gIHB1YmxpYyBnZXQgaGFzSW1wb3J0ZWRNYXRlcmlhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNJbXBvcnQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIFN5c3RlbXMgTWFuYWdlciBQYXJhbWV0ZXIgU3RvcmUgcGFyYW1ldGVyIHdpdGggdGhlIHBhaXIncyBwcml2YXRlIGtleSBtYXRlcmlhbC5cbiAgICovXG4gIHB1YmxpYyBnZXQgcHJpdmF0ZUtleSgpOiBJU3RyaW5nUGFyYW1ldGVyIHtcbiAgICBpZiAodGhpcy5faXNJbXBvcnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJBbiBTU00gcGFyYW1ldGVyIHdpdGggcHJpdmF0ZSBrZXkgbWF0ZXJpYWwgaXMgbm90IGNyZWF0ZWQgZm9yIGltcG9ydGVkIGtleXNcIixcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIGVsc2UsIHRoaXMgaXMgZ3VhcmFudGVlZCB0byBiZSBzZXRcbiAgICByZXR1cm4gdGhpcy5fcHJpdmF0ZUtleVNzbSE7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBpbnRlcm5hbGx5IHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBrZXkgcGFpciBpcyBjb21wYXRpYmxlIHdpdGggYW4gT1MgdHlwZS5cbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX2lzT3NDb21wYXRpYmxlKG9zVHlwZTogT3BlcmF0aW5nU3lzdGVtVHlwZSk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIEtleVBhaXJUeXBlLkVEMjU1MTk6XG4gICAgICAgIHJldHVybiBvc1R5cGUgIT09IE9wZXJhdGluZ1N5c3RlbVR5cGUuV0lORE9XUztcbiAgICAgIGNhc2UgS2V5UGFpclR5cGUuUlNBOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
193
|
+
KeyPair[_a] = { fqn: "terraconstructs.aws.compute.KeyPair", version: "0.2.5" };
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXBhaXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUva2V5LXBhaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0RkFBNEY7QUFFNUYsc0RBQTJEO0FBQzNELHNEQUFpRDtBQUNqRCxpQ0FBMkI7QUFFM0IsbURBQXNEO0FBQ3RELG9EQUkwQjtBQUMxQixvREFJOEI7QUFFOUIsTUFBTTtBQUNOLGdDQUFnQztBQUNoQyxNQUFNO0FBQ04sOEJBQThCO0FBQzlCLFFBQVE7QUFDUiw4Q0FBOEM7QUFDOUMsUUFBUTtBQUNSLGlCQUFpQjtBQUVqQixRQUFRO0FBQ1IsbUJBQW1CO0FBQ25CLFFBQVE7QUFDUixpQkFBaUI7QUFDakIsSUFBSTtBQUVKOztHQUVHO0FBQ0gsSUFBWSxXQVlYO0FBWkQsV0FBWSxXQUFXO0lBQ3JCOztPQUVHO0lBQ0gsMEJBQVcsQ0FBQTtJQUVYOzs7O09BSUc7SUFDSCxrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBWlcsV0FBVywyQkFBWCxXQUFXLFFBWXRCO0FBc0hEOzs7O0dBSUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxnQ0FBZ0I7SUFDM0M7O09BRUc7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUMzQixLQUFnQixFQUNoQixFQUFVLEVBQ1YsV0FBbUI7UUFFbkIsT0FBTyxPQUFPLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLHFCQUFxQixDQUNqQyxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBd0I7UUFFeEIsTUFBTSxNQUFPLFNBQVEsZ0NBQWdCO1lBR25DLElBQVcsY0FBYztnQkFDdkIsT0FBTztvQkFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7b0JBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtpQkFDaEIsQ0FBQztZ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Q0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxNQUEyQjtRQUNoRCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixLQUFLLFdBQVcsQ0FBQyxPQUFPO2dCQUN0QixPQUFPLE1BQU0sS0FBSyxtQ0FBbUIsQ0FBQyxPQUFPLENBQUM7WUFDaEQsS0FBSyxXQUFXLENBQUMsR0FBRztnQkFDbEIsT0FBTyxJQUFJLENBQUM7WUFDZDtnQkFDRSxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQzs7QUFwTkgsMEJBcU5DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjMi9saWIva2V5LXBhaXIudHNcblxuaW1wb3J0IHsga2V5UGFpciBhcyB0ZktleVBhaXIgfSBmcm9tIFwiQGNka3RuL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgcHJpdmF0ZUtleSB9IGZyb20gXCJAY2RrdG4vcHJvdmlkZXItdGxzXCI7XG5pbXBvcnQgeyBGbiB9IGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE9wZXJhdGluZ1N5c3RlbVR5cGUgfSBmcm9tIFwiLi9tYWNoaW5lLWltYWdlXCI7XG5pbXBvcnQge1xuICBBd3NDb25zdHJ1Y3RCYXNlLFxuICBBd3NDb25zdHJ1Y3RQcm9wcyxcbiAgSUF3c0NvbnN0cnVjdCxcbn0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7XG4gIFN0cmluZ1BhcmFtZXRlcixcbiAgSVN0cmluZ1BhcmFtZXRlcixcbiAgUGFyYW1ldGVyVHlwZSxcbn0gZnJvbSBcIi4uL3N0b3JhZ2UvcGFyYW1ldGVyXCI7XG5cbi8vIC8qKlxuLy8gICogVGhlIGZvcm1hdCBvZiB0aGUgS2V5IFBhaXJcbi8vICAqL1xuLy8gZXhwb3J0IGVudW0gS2V5UGFpckZvcm1hdCB7XG4vLyAgIC8qKlxuLy8gICAgKiBBIFBQSyBmaWxlLCB0eXBpY2FsbHkgdXNlZCB3aXRoIFB1VFRZLlxuLy8gICAgKi9cbi8vICAgUFBLID0gXCJwcGtcIixcblxuLy8gICAvKipcbi8vICAgICogQSBQRU0gZmlsZS5cbi8vICAgICovXG4vLyAgIFBFTSA9IFwicGVtXCIsXG4vLyB9XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGtleSBwYWlyLlxuICovXG5leHBvcnQgZW51bSBLZXlQYWlyVHlwZSB7XG4gIC8qKlxuICAgKiBBbiBSU0Ega2V5LlxuICAgKi9cbiAgUlNBID0gXCJyc2FcIixcblxuICAvKipcbiAgICogQW4gRUQyNTUxOSBrZXkuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBFRDI1NTE5IGtleXMgYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIFdpbmRvd3MgaW5zdGFuY2VzLlxuICAgKi9cbiAgRUQyNTUxOSA9IFwiZWQyNTUxOVwiLFxufVxuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIG9mIGEgS2V5IFBhaXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLZXlQYWlyUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBuYW1lIGZvciB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IEEgZ2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGtleVBhaXJOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgdW5pcXVlIG5hbWUgYmVnaW5uaW5nIHdpdGggdGhlIHNwZWNpZmllZCBwcmVmaXguXG4gICAqXG4gICAqIENvbmZsaWN0cyB3aXRoIGBrZXlQYWlyTmFtZWAuIElmIG5laXRoZXIgYGtleVBhaXJOYW1lYCBub3IgYGtleVBhaXJOYW1lUHJlZml4YCBpcyBwcm92aWRlZCxcbiAgICogVGVycmFDb25zdHJ1Y3RzIHdpbGwgY3JlYXRlIGEgdW5pcXVlIGtleSBuYW1lIHVzaW5nIHRoZSBgZ3JpZFVVSURgIGFzIHByZWZpeC5cbiAgICpcbiAgICogQGRlZmF1bHQgQSBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkga2V5UGFpck5hbWVQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLy8gLyoqXG4gIC8vICAqIFRoZSBmb3JtYXQgb2YgdGhlIGtleSBwYWlyLlxuICAvLyAgKlxuICAvLyAgKiBAZGVmYXVsdCBQRU1cbiAgLy8gICovXG4gIC8vIHJlYWRvbmx5IGZvcm1hdD86IEtleVBhaXJGb3JtYXQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGtleSBwYWlyLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSU0EgKGlnbm9yZWQgaWYga2V5TWF0ZXJpYWwgaXMgcHJvdmlkZWQpXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMga2V5IG1hdGVyaWFsLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIHByb3ZpZGVkIHRoZSBrZXkgaXMgY29uc2lkZXJlZCBcImltcG9ydGVkXCIuIEZvciBpbXBvcnRlZFxuICAgKiBrZXlzLCBpdCBpcyBhc3N1bWVkIHRoYXQgeW91IGFscmVhZHkgaGF2ZSB0aGUgcHJpdmF0ZSBrZXkgbWF0ZXJpYWxcbiAgICogc28gdGhlIHByaXZhdGUga2V5IG1hdGVyaWFsIHdpbGwgbm90IGJlIHJldHVybmVkIG9yIHN0b3JlZCBpblxuICAgKiBBV1MgU3lzdGVtcyBNYW5hZ2VyIFBhcmFtZXRlciBTdG9yZS5cbiAgICpcbiAgICogVGhlIHByaXZhdGUga2V5IGdlbmVyYXRlZCBieSB0aGlzIHJlc291cmNlIHdpbGwgYmUgc3RvcmVkIHVuZW5jcnlwdGVkXG4gICAqIGluIHlvdXIgVGVycmFmb3JtIHN0YXRlIGZpbGUuXG4gICAqXG4gICAqIE9taXR0aW5nIHRoZSBwdWJsaWNLZXlNYXRlcmlhbCBmb3IgcHJvZHVjdGlvbiBkZXBsb3ltZW50cyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAqIEluc3RlYWQsIGdlbmVyYXRlIGEgcHJpdmF0ZSBrZXkgZmlsZSBvdXRzaWRlIG9mIFRlcnJhZm9ybSBhbmQgZGlzdHJpYnV0ZSBpdFxuICAgKiBzZWN1cmVseSB0byB0aGUgc3lzdGVtIHdoZXJlIFRlcnJhZm9ybSB3aWxsIGJlIHJ1bi5cbiAgICpcbiAgICogQGRlZmF1bHQgYSBwdWJsaWMgYW5kIHByaXZhdGUga2V5IHdpbGwgYmUgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNLZXlNYXRlcmlhbD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPdXRwdXRzIHdoaWNoIG1heSBiZSByZWdpc3RlcmVkIGZvciBvdXRwdXQgdmlhIHRoZSBHcmlkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXJPdXRwdXRzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqL1xuICByZWFkb25seSBrZXlQYWlyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIHR5cGUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG59XG5cbi8qKlxuICogQXR0cmlidXRlcyBvZiBhIEtleSBQYWlyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXJBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqL1xuICByZWFkb25seSBrZXlQYWlyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIHR5cGUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG59XG5cbi8qKlxuICogQW4gRUMyIEtleSBQYWlyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElLZXlQYWlyIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIC8qKiBTdHJvbmdseSB0eXBlZCBvdXRwdXRzICovXG4gIHJlYWRvbmx5IGtleVBhaXJPdXRwdXRzOiBLZXlQYWlyT3V0cHV0cztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGtleSBwYWlyLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBrZXlQYWlyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG5cbiAgLyoqXG4gICAqIFVzZWQgaW50ZXJuYWxseSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUga2V5IHBhaXIgaXMgY29tcGF0aWJsZSB3aXRoIGFuIE9TIHR5cGUuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX2lzT3NDb21wYXRpYmxlKG9zVHlwZTogT3BlcmF0aW5nU3lzdGVtVHlwZSk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQW4gRUMyIEtleSBQYWlyLlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6S2V5UGFpclxuICovXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJS2V5UGFpciB7XG4gIC8qKlxuICAgKiBJbXBvcnRzIGEga2V5IHBhaXIgYmFzZWQgb24gdGhlIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21LZXlQYWlyTmFtZShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAga2V5UGFpck5hbWU6IHN0cmluZyxcbiAgKTogSUtleVBhaXIge1xuICAgIHJldHVybiBLZXlQYWlyLmZyb21LZXlQYWlyQXR0cmlidXRlcyhzY29wZSwgaWQsIHsga2V5UGFpck5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyBhIGtleSBwYWlyIHdpdGggYSBuYW1lIGFuZCBvcHRpb25hbCB0eXBlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tS2V5UGFpckF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBLZXlQYWlyQXR0cmlidXRlcyxcbiAgKTogSUtleVBhaXIge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJS2V5UGFpciB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkga2V5UGFpck5hbWU6IHN0cmluZztcbiAgICAgIHB1YmxpYyByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG4gICAgICBwdWJsaWMgZ2V0IGtleVBhaXJPdXRwdXRzKCk6IEtleVBhaXJPdXRwdXRzIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXlQYWlyTmFtZTogdGhpcy5rZXlQYWlyTmFtZSxcbiAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmtleVBhaXJPdXRwdXRzO1xuICAgICAgfVxuXG4gICAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5rZXlQYWlyTmFtZSA9IGF0dHJzLmtleVBhaXJOYW1lO1xuICAgICAgICB0aGlzLnR5cGUgPSBhdHRycy50eXBlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgaW50ZXJuYWxseSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUga2V5IHBhaXIgaXMgY29tcGF0aWJsZSB3aXRoIGFuIE9TIHR5cGUuXG4gICAgICAgKlxuICAgICAgICogQGludGVybmFsXG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyBfaXNPc0NvbXBhdGlibGUob3NUeXBlOiBPcGVyYXRpbmdTeXN0ZW1UeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgY2FzZSBLZXlQYWlyVHlwZS5FRDI1NTE5OlxuICAgICAgICAgICAgcmV0dXJuIG9zVHlwZSAhPT0gT3BlcmF0aW5nU3lzdGVtVHlwZS5XSU5ET1dTO1xuICAgICAgICAgIGNhc2UgS2V5UGFpclR5cGUuUlNBOlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGtleVBhaXJPdXRwdXRzKCk6IEtleVBhaXJPdXRwdXRzIHtcbiAgICByZXR1cm4ge1xuICAgICAga2V5UGFpck5hbWU6IHRoaXMua2V5UGFpck5hbWUsXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMua2V5UGFpck91dHB1dHM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBuYW1lIG9mIHRoZSBrZXkgcGFpci5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGtleVBhaXJOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmaW5nZXJwcmludCBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBrZXlQYWlyRmluZ2VycHJpbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBJRCBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBrZXlQYWlySWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIGtleSBwYWlyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU/OiBLZXlQYWlyVHlwZTtcblxuICAvLyBub3Qgc3VwcG9ydGVkIGluIFRlcnJhZm9ybVxuICAvLyAvKipcbiAgLy8gICogVGhlIGZvcm1hdCBvZiB0aGUga2V5IHBhaXIuXG4gIC8vICAqL1xuICAvLyBwdWJsaWMgcmVhZG9ubHkgZm9ybWF0OiBLZXlQYWlyRm9ybWF0O1xuXG4gIHByaXZhdGUgX3ByaXZhdGVLZXk/OiBwcml2YXRlS2V5LlByaXZhdGVLZXk7XG4gIHByaXZhdGUgX3ByaXZhdGVLZXlTc20/OiBJU3RyaW5nUGFyYW1ldGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pc0ltcG9ydDogYm9vbGVhbjtcblxuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IHRmS2V5UGFpci5LZXlQYWlyO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogS2V5UGFpclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHM/LmtleVBhaXJOYW1lICYmIHByb3BzPy5rZXlQYWlyTmFtZVByZWZpeCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkNhbm5vdCBzcGVjaWZ5IGJvdGggJ2tleVBhaXJOYW1lJyBhbmQgJ2tleVBhaXJOYW1lUHJlZml4J1wiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBrZXlQYWlyTmFtZVByZWZpeCA9XG4gICAgICBwcm9wcz8ua2V5UGFpck5hbWVQcmVmaXggfHxcbiAgICAgIHRoaXMuc3RhY2sudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHtcbiAgICAgICAgcHJlZml4OiB0aGlzLmdyaWRVVUlELFxuICAgICAgICBtYXhMZW5ndGg6IDI1NSxcbiAgICAgIH0pO1xuXG4gICAgLy8gTGF6eS5zdHJpbmdWYWx1ZSh7XG4gICAgLy8gICBwcm9kdWNlOiAoKSA9PiBBd3NTdGFjay51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDI1NSB9KSxcbiAgICAvLyB9KTtcblxuICAgIGlmIChwcm9wcz8ucHVibGljS2V5TWF0ZXJpYWwgJiYgcHJvcHM/LnR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBzcGVjaWZ5ICd0eXBlJyBmb3Iga2V5cyB3aXRoIGltcG9ydGVkIG1hdGVyaWFsXCIpO1xuICAgIH1cblxuICAgIHRoaXMuX2lzSW1wb3J0ID0gISFwcm9wcz8ucHVibGljS2V5TWF0ZXJpYWw7XG5cbiAgICBjb25zdCBrZXlUeXBlID0gcHJvcHM/LnR5cGUgPz8gS2V5UGFpclR5cGUuUlNBO1xuICAgIGxldCBwdWJsaWNLZXkgPSBwcm9wcz8ucHVibGljS2V5TWF0ZXJpYWw7XG4gICAgaWYgKCFwdWJsaWNLZXkpIHtcbiAgICAgIGxldCBhbGdvcml0aG06IFwiUlNBXCIgfCBcIkVDRFNBXCIgfCBcIkVEMjU1MTlcIjtcbiAgICAgIHN3aXRjaCAoa2V5VHlwZSkge1xuICAgICAgICBjYXNlIEtleVBhaXJUeXBlLkVEMjU1MTk6XG4gICAgICAgICAgYWxnb3JpdGhtID0gXCJFRDI1NTE5XCI7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgS2V5UGFpclR5cGUuUlNBOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGFsZ29yaXRobSA9IFwiUlNBXCI7XG4gICAgICB9XG4gICAgICB0aGlzLl9wcml2YXRlS2V5ID0gbmV3IHByaXZhdGVLZXkuUHJpdmF0ZUtleSh0aGlzLCBcIlByaXZhdGVLZXlcIiwge1xuICAgICAgICBhbGdvcml0aG0sXG4gICAgICB9KTtcbiAgICAgIHB1YmxpY0tleSA9IEZuLnRyaW1zcGFjZSh0aGlzLl9wcml2YXRlS2V5LnB1YmxpY0tleU9wZW5zc2gpO1xuICAgIH1cblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgdGZLZXlQYWlyLktleVBhaXIodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBrZXlOYW1lOiBwcm9wcz8ua2V5UGFpck5hbWUsXG4gICAgICBrZXlOYW1lUHJlZml4OiBrZXlQYWlyTmFtZVByZWZpeCxcbiAgICAgIC8vIGtleUZvcm1hdDogcHJvcHM/LmZvcm1hdCA/PyBLZXlQYWlyRm9ybWF0LlBFTSxcbiAgICAgIHB1YmxpY0tleSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLl9wcml2YXRlS2V5KSB7XG4gICAgICAvLyBpZiBwcml2YXRlS2V5IHdhcyBnZW5lcmF0ZWQsIG1pbWljIENGTiBiZWhhdmlvciB3aXRoIFNTTVxuICAgICAgdGhpcy5fcHJpdmF0ZUtleVNzbSA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJQcml2YXRlS2V5UGFyYW1ldGVyXCIsIHtcbiAgICAgICAgcGFyYW1ldGVyTmFtZTogYC9lYzIva2V5cGFpci8ke3RoaXMucmVzb3VyY2UuaWR9YCxcbiAgICAgICAgZGVzY3JpcHRpb246IGBQcml2YXRlIGtleSBmb3IgJHt0aGlzLnJlc291cmNlLmtleU5hbWV9YCxcbiAgICAgICAgdHlwZTogUGFyYW1ldGVyVHlwZS5TRUNVUkVfU1RSSU5HLFxuICAgICAgICBzZW5zaXRpdmVTdHJpbmdWYWx1ZTogdGhpcy5fcHJpdmF0ZUtleS5wcml2YXRlS2V5UGVtLFxuICAgICAgICBzaW1wbGVOYW1lOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMua2V5UGFpck5hbWUgPSB0aGlzLnJlc291cmNlLmtleU5hbWU7XG4gICAgdGhpcy5rZXlQYWlyRmluZ2VycHJpbnQgPSB0aGlzLnJlc291cmNlLmZpbmdlcnByaW50O1xuICAgIHRoaXMua2V5UGFpcklkID0gdGhpcy5yZXNvdXJjZS5pZDtcbiAgICB0aGlzLnR5cGUgPSBrZXlUeXBlO1xuICAgIC8vIHRoaXMuZm9ybWF0ID0ga2V5Rm9ybWF0O1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGtleSBtYXRlcmlhbCB3YXMgaW1wb3J0ZWQuXG4gICAqXG4gICAqIEtleXMgd2l0aCBpbXBvcnRlZCBtYXRlcmlhbCBkbyBub3QgaGF2ZSB0aGVpciBwcml2YXRlIGtleSBtYXRlcmlhbCBzdG9yZWRcbiAgICogb3IgcmV0dXJuZWQgYXV0b21hdGljYWxseS5cbiAgICovXG4gIHB1YmxpYyBnZXQgaGFzSW1wb3J0ZWRNYXRlcmlhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNJbXBvcnQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIFN5c3RlbXMgTWFuYWdlciBQYXJhbWV0ZXIgU3RvcmUgcGFyYW1ldGVyIHdpdGggdGhlIHBhaXIncyBwcml2YXRlIGtleSBtYXRlcmlhbC5cbiAgICovXG4gIHB1YmxpYyBnZXQgcHJpdmF0ZUtleSgpOiBJU3RyaW5nUGFyYW1ldGVyIHtcbiAgICBpZiAodGhpcy5faXNJbXBvcnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJBbiBTU00gcGFyYW1ldGVyIHdpdGggcHJpdmF0ZSBrZXkgbWF0ZXJpYWwgaXMgbm90IGNyZWF0ZWQgZm9yIGltcG9ydGVkIGtleXNcIixcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIGVsc2UsIHRoaXMgaXMgZ3VhcmFudGVlZCB0byBiZSBzZXRcbiAgICByZXR1cm4gdGhpcy5fcHJpdmF0ZUtleVNzbSE7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBpbnRlcm5hbGx5IHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBrZXkgcGFpciBpcyBjb21wYXRpYmxlIHdpdGggYW4gT1MgdHlwZS5cbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX2lzT3NDb21wYXRpYmxlKG9zVHlwZTogT3BlcmF0aW5nU3lzdGVtVHlwZSk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIEtleVBhaXJUeXBlLkVEMjU1MTk6XG4gICAgICAgIHJldHVybiBvc1R5cGUgIT09IE9wZXJhdGluZ1N5c3RlbVR5cGUuV0lORE9XUztcbiAgICAgIGNhc2UgS2V5UGFpclR5cGUuUlNBOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -48,7 +48,7 @@ class LambdaRestApi extends restapi_1.RestApi {
|
|
|
48
48
|
}
|
|
49
49
|
exports.LambdaRestApi = LambdaRestApi;
|
|
50
50
|
_a = JSII_RTTI_SYMBOL_1;
|
|
51
|
-
LambdaRestApi[_a] = { fqn: "terraconstructs.aws.compute.LambdaRestApi", version: "0.2.
|
|
51
|
+
LambdaRestApi[_a] = { fqn: "terraconstructs.aws.compute.LambdaRestApi", version: "0.2.5" };
|
|
52
52
|
function addResourceThrows() {
|
|
53
53
|
throw new errors_1.UnscopedValidationError("Cannot call 'addResource' on a proxying LambdaRestApi; set 'proxy' to false");
|
|
54
54
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { launchTemplate as tfLaunchTemplate } from "@
|
|
1
|
+
import { launchTemplate as tfLaunchTemplate } from "@cdktn/provider-aws";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
3
|
import { Connections, IConnectable } from "./connections";
|
|
4
4
|
import { InstanceType } from "./instance-types";
|