@cdk_utils/iam 1.15.0 → 1.16.0
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 +9613 -7155
- package/lib/generated/services/a2c.js +1 -1
- package/lib/generated/services/a4b.js +3 -3
- package/lib/generated/services/access-analyzer.js +4 -4
- package/lib/generated/services/account-access.js +4 -4
- package/lib/generated/services/account.js +4 -4
- package/lib/generated/services/acm-pca.js +4 -4
- package/lib/generated/services/acm.js +4 -4
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +4 -4
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.js +4 -4
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.js +4 -4
- package/lib/generated/services/appfabric.js +4 -4
- package/lib/generated/services/appflow.js +4 -4
- package/lib/generated/services/application-autoscaling.js +4 -4
- package/lib/generated/services/application-signals-mcp.js +3 -3
- package/lib/generated/services/application-signals.js +4 -4
- package/lib/generated/services/application-transformation.js +1 -1
- package/lib/generated/services/applicationinsights.js +3 -3
- package/lib/generated/services/appmesh-preview.js +2 -2
- package/lib/generated/services/appmesh.js +4 -4
- package/lib/generated/services/apprunner.js +4 -4
- package/lib/generated/services/appstream.js +4 -4
- package/lib/generated/services/appstudio.js +2 -2
- package/lib/generated/services/appsync.js +4 -4
- package/lib/generated/services/apptest.js +3 -3
- package/lib/generated/services/aps.js +4 -4
- package/lib/generated/services/arc-region-switch.js +4 -4
- package/lib/generated/services/arc-zonal-shift.js +4 -4
- package/lib/generated/services/arsenal.js +1 -1
- package/lib/generated/services/artifact.js +4 -4
- package/lib/generated/services/athena.js +4 -4
- package/lib/generated/services/auditmanager.js +4 -4
- package/lib/generated/services/autoscaling-plans.js +2 -2
- package/lib/generated/services/autoscaling.js +4 -4
- package/lib/generated/services/aws-external-anthropic.js +3 -3
- package/lib/generated/services/aws-marketplace-management.js +1 -1
- package/lib/generated/services/aws-marketplace.js +4 -4
- package/lib/generated/services/aws-portal.js +1 -1
- package/lib/generated/services/awsconnector.js +1 -1
- package/lib/generated/services/b2bi.js +4 -4
- package/lib/generated/services/backup-gateway.js +4 -4
- package/lib/generated/services/backup-search.js +4 -4
- package/lib/generated/services/backup-storage.js +1 -1
- package/lib/generated/services/backup.js +4 -4
- package/lib/generated/services/batch.js +4 -4
- package/lib/generated/services/bcm-dashboards.js +4 -4
- package/lib/generated/services/bcm-data-exports.js +4 -4
- package/lib/generated/services/bcm-pricing-calculator.js +4 -4
- package/lib/generated/services/bcm-recommended-actions.js +2 -2
- package/lib/generated/services/bedrock-agentcore.js +4 -4
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.js +4 -4
- package/lib/generated/services/billing.js +4 -4
- package/lib/generated/services/billingconductor.js +4 -4
- package/lib/generated/services/braket.js +4 -4
- package/lib/generated/services/budgets.js +4 -4
- package/lib/generated/services/bugbust.js +3 -3
- package/lib/generated/services/cases.js +4 -4
- package/lib/generated/services/cassandra.js +4 -4
- package/lib/generated/services/ce.js +4 -4
- package/lib/generated/services/chatbot.js +4 -4
- package/lib/generated/services/chime.js +4 -4
- package/lib/generated/services/cleanrooms-ml.js +4 -4
- package/lib/generated/services/cleanrooms.js +4 -4
- package/lib/generated/services/cloud9.js +4 -4
- package/lib/generated/services/clouddirectory.js +3 -3
- package/lib/generated/services/cloudformation.js +4 -4
- package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
- package/lib/generated/services/cloudfront.js +4 -4
- package/lib/generated/services/cloudhsm.js +4 -4
- package/lib/generated/services/cloudsearch.js +3 -3
- package/lib/generated/services/cloudshell.js +3 -3
- package/lib/generated/services/cloudtrail-data.js +4 -4
- package/lib/generated/services/cloudtrail.js +4 -4
- package/lib/generated/services/cloudwatch.js +4 -4
- package/lib/generated/services/codeartifact.js +4 -4
- package/lib/generated/services/codebuild.js +4 -4
- package/lib/generated/services/codecatalyst.js +4 -4
- package/lib/generated/services/codecommit.js +4 -4
- package/lib/generated/services/codeconnections.js +4 -4
- package/lib/generated/services/codedeploy-commands-secure.js +1 -1
- package/lib/generated/services/codedeploy.js +4 -4
- package/lib/generated/services/codeguru-profiler.js +4 -4
- package/lib/generated/services/codeguru-reviewer.js +4 -4
- package/lib/generated/services/codeguru-security.js +4 -4
- package/lib/generated/services/codeguru.js +1 -1
- package/lib/generated/services/codepipeline.js +4 -4
- package/lib/generated/services/codestar-connections.js +4 -4
- package/lib/generated/services/codestar-notifications.js +4 -4
- package/lib/generated/services/codestar.js +3 -3
- package/lib/generated/services/codewhisperer.js +3 -3
- package/lib/generated/services/cognito-identity.js +4 -4
- package/lib/generated/services/cognito-idp.d.ts +2 -0
- package/lib/generated/services/cognito-idp.js +14 -7
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +4 -4
- package/lib/generated/services/comprehendmedical.js +3 -3
- package/lib/generated/services/compute-optimizer.js +3 -3
- package/lib/generated/services/config.js +4 -4
- package/lib/generated/services/connect-campaigns.js +4 -4
- package/lib/generated/services/connect.d.ts +8 -0
- package/lib/generated/services/connect.js +25 -7
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +4 -4
- package/lib/generated/services/datapipeline.js +4 -4
- package/lib/generated/services/datasync.js +4 -4
- package/lib/generated/services/datazone.js +4 -4
- package/lib/generated/services/dax.js +4 -4
- package/lib/generated/services/dbqms.js +1 -1
- package/lib/generated/services/deadline.js +4 -4
- package/lib/generated/services/detective.js +4 -4
- package/lib/generated/services/devicefarm.js +4 -4
- package/lib/generated/services/devops-guru.js +4 -4
- package/lib/generated/services/directconnect.js +4 -4
- package/lib/generated/services/discovery.js +3 -3
- package/lib/generated/services/dlm.js +4 -4
- package/lib/generated/services/dms.js +4 -4
- package/lib/generated/services/docdb-elastic.js +4 -4
- package/lib/generated/services/drs.js +4 -4
- package/lib/generated/services/ds-data.js +4 -4
- package/lib/generated/services/ds.js +4 -4
- package/lib/generated/services/dsql.js +4 -4
- package/lib/generated/services/dynamodb.js +4 -4
- package/lib/generated/services/ebs.js +4 -4
- package/lib/generated/services/ec2-instance-connect.js +4 -4
- package/lib/generated/services/ec2.d.ts +103 -0
- package/lib/generated/services/ec2.js +179 -21
- package/lib/generated/services/ec2messages.js +2 -2
- package/lib/generated/services/ecr-public.js +4 -4
- package/lib/generated/services/ecr.js +4 -4
- package/lib/generated/services/ecs-mcp.js +1 -1
- package/lib/generated/services/ecs.js +4 -4
- package/lib/generated/services/eks-auth.js +4 -4
- package/lib/generated/services/eks-mcp.js +1 -1
- package/lib/generated/services/eks.js +4 -4
- package/lib/generated/services/elasticache.js +4 -4
- package/lib/generated/services/elasticbeanstalk.js +4 -4
- package/lib/generated/services/elasticfilesystem.js +4 -4
- package/lib/generated/services/elasticloadbalancing.js +4 -4
- package/lib/generated/services/elasticmapreduce.js +4 -4
- package/lib/generated/services/elastictranscoder.js +2 -2
- package/lib/generated/services/elemental-activations.js +1 -1
- package/lib/generated/services/elemental-appliances-software.js +2 -2
- package/lib/generated/services/elemental-inference.js +4 -4
- package/lib/generated/services/elemental-support-cases.js +3 -3
- package/lib/generated/services/elemental-support-content.js +1 -1
- package/lib/generated/services/emr-containers.js +4 -4
- package/lib/generated/services/emr-serverless.js +4 -4
- package/lib/generated/services/entityresolution.js +4 -4
- package/lib/generated/services/es.js +4 -4
- package/lib/generated/services/events.js +4 -4
- package/lib/generated/services/eventsbilltoaws.js +3 -3
- package/lib/generated/services/evidently.js +3 -3
- package/lib/generated/services/evs.js +4 -4
- package/lib/generated/services/execute-api.js +4 -4
- package/lib/generated/services/finops-agent.js +1 -1
- package/lib/generated/services/finspace-api.js +3 -3
- package/lib/generated/services/finspace.js +4 -4
- package/lib/generated/services/firehose.js +4 -4
- package/lib/generated/services/fis.js +4 -4
- package/lib/generated/services/fms.js +4 -4
- package/lib/generated/services/forecast.js +4 -4
- package/lib/generated/services/frauddetector.js +4 -4
- package/lib/generated/services/freertos.js +3 -3
- package/lib/generated/services/freetier.js +2 -2
- package/lib/generated/services/fsx.js +4 -4
- package/lib/generated/services/gamelift.js +4 -4
- package/lib/generated/services/gameliftstreams.js +4 -4
- package/lib/generated/services/geo-maps.js +3 -3
- package/lib/generated/services/geo-places.js +3 -3
- package/lib/generated/services/geo-routes.js +3 -3
- package/lib/generated/services/geo.js +4 -4
- package/lib/generated/services/glacier.js +4 -4
- package/lib/generated/services/globalaccelerator.js +4 -4
- package/lib/generated/services/glue.js +4 -4
- package/lib/generated/services/grafana.js +4 -4
- package/lib/generated/services/greengrass.js +4 -4
- package/lib/generated/services/groundstation.js +4 -4
- package/lib/generated/services/groundtruthlabeling.js +1 -1
- package/lib/generated/services/guardduty.d.ts +132 -0
- package/lib/generated/services/guardduty.js +149 -5
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.js +4 -4
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +9 -6
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.d.ts +51 -0
- package/lib/generated/services/kinesis.js +58 -9
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.js +4 -4
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.d.ts +2 -0
- package/lib/generated/services/lightsail.js +7 -5
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.js +4 -4
- package/lib/generated/services/omics.js +4 -4
- package/lib/generated/services/one.js +3 -3
- package/lib/generated/services/opensearch.js +3 -3
- package/lib/generated/services/opsworks-cm.js +2 -2
- package/lib/generated/services/opsworks.js +2 -2
- package/lib/generated/services/organizations.js +4 -4
- package/lib/generated/services/osis.js +4 -4
- package/lib/generated/services/outposts.js +4 -4
- package/lib/generated/services/panorama.js +3 -3
- package/lib/generated/services/partnercentral-account-management.js +2 -2
- package/lib/generated/services/partnercentral.js +4 -4
- package/lib/generated/services/payment-cryptography.js +4 -4
- package/lib/generated/services/payments.js +3 -3
- package/lib/generated/services/pca-connector-ad.js +4 -4
- package/lib/generated/services/pca-connector-scep.js +4 -4
- package/lib/generated/services/pcs.js +4 -4
- package/lib/generated/services/personalize.js +4 -4
- package/lib/generated/services/pi.js +4 -4
- package/lib/generated/services/pipes.js +4 -4
- package/lib/generated/services/polly.js +3 -3
- package/lib/generated/services/pricing.js +2 -2
- package/lib/generated/services/pricingplanmanager.js +3 -3
- package/lib/generated/services/private-networks.js +3 -3
- package/lib/generated/services/profile.js +4 -4
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.js +6 -6
- package/lib/generated/services/ram.js +4 -4
- package/lib/generated/services/rbin.js +4 -4
- package/lib/generated/services/rds-data.js +4 -4
- package/lib/generated/services/rds-db.js +2 -2
- package/lib/generated/services/rds.js +4 -4
- package/lib/generated/services/redshift-data.js +4 -4
- package/lib/generated/services/redshift-serverless.js +4 -4
- package/lib/generated/services/redshift.js +4 -4
- package/lib/generated/services/refactor-spaces.js +4 -4
- package/lib/generated/services/rekognition.js +4 -4
- package/lib/generated/services/repostspace.js +4 -4
- package/lib/generated/services/researchstudio.js +1 -1
- package/lib/generated/services/resiliencehub.js +4 -4
- package/lib/generated/services/resource-explorer-2.js +4 -4
- package/lib/generated/services/resource-explorer.js +1 -1
- package/lib/generated/services/resource-groups.js +4 -4
- package/lib/generated/services/rhelkb.js +1 -1
- package/lib/generated/services/robomaker.js +3 -3
- package/lib/generated/services/rolesanywhere.js +4 -4
- package/lib/generated/services/route53-recovery-cluster.js +4 -4
- package/lib/generated/services/route53-recovery-control-config.js +4 -4
- package/lib/generated/services/route53-recovery-readiness.js +4 -4
- package/lib/generated/services/route53.js +4 -4
- package/lib/generated/services/route53domains.js +2 -2
- package/lib/generated/services/route53globalresolver.js +4 -4
- package/lib/generated/services/route53profiles.js +4 -4
- package/lib/generated/services/route53resolver.js +4 -4
- package/lib/generated/services/rtbfabric.js +4 -4
- package/lib/generated/services/rum.js +4 -4
- package/lib/generated/services/s3-object-lambda.js +3 -3
- package/lib/generated/services/s3-outposts.js +4 -4
- package/lib/generated/services/s3.js +4 -4
- package/lib/generated/services/s3express.js +3 -3
- package/lib/generated/services/s3files.js +4 -4
- package/lib/generated/services/s3tables.js +4 -4
- package/lib/generated/services/s3vectors.js +4 -4
- package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
- package/lib/generated/services/sagemaker-geospatial.js +4 -4
- package/lib/generated/services/sagemaker-mlflow.js +3 -3
- package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
- package/lib/generated/services/sagemaker.js +4 -4
- package/lib/generated/services/savingsplans.js +4 -4
- package/lib/generated/services/scheduler.js +4 -4
- package/lib/generated/services/schemas.js +4 -4
- package/lib/generated/services/scn.js +4 -4
- package/lib/generated/services/sdb.js +3 -3
- package/lib/generated/services/secretsmanager.js +4 -4
- package/lib/generated/services/security-ir.js +4 -4
- package/lib/generated/services/securityagent.js +4 -4
- package/lib/generated/services/securityhub.js +4 -4
- package/lib/generated/services/securitylake.js +4 -4
- package/lib/generated/services/serverlessrepo.js +4 -4
- package/lib/generated/services/servicecatalog.js +4 -4
- package/lib/generated/services/servicediscovery.js +4 -4
- package/lib/generated/services/serviceextract.js +1 -1
- package/lib/generated/services/servicequotas.js +4 -4
- package/lib/generated/services/ses.d.ts +8 -0
- package/lib/generated/services/ses.js +13 -5
- package/lib/generated/services/shield.js +4 -4
- package/lib/generated/services/signer.js +4 -4
- package/lib/generated/services/signin.js +4 -4
- package/lib/generated/services/simspaceweaver.js +3 -3
- package/lib/generated/services/sms-voice.js +4 -4
- package/lib/generated/services/sms.js +1 -1
- package/lib/generated/services/snow-device-management.js +4 -4
- package/lib/generated/services/snowball.js +2 -2
- package/lib/generated/services/sns.js +4 -4
- package/lib/generated/services/social-messaging.js +4 -4
- package/lib/generated/services/sqlworkbench.js +3 -3
- package/lib/generated/services/sqs.js +4 -4
- package/lib/generated/services/ssm-contacts.js +4 -4
- package/lib/generated/services/ssm-guiconnect.js +2 -2
- package/lib/generated/services/ssm-incidents.js +4 -4
- package/lib/generated/services/ssm-quicksetup.js +4 -4
- package/lib/generated/services/ssm-sap.js +4 -4
- package/lib/generated/services/ssm.js +4 -4
- package/lib/generated/services/ssmmessages.js +2 -2
- package/lib/generated/services/sso-directory.js +1 -1
- package/lib/generated/services/sso-oauth.js +3 -3
- package/lib/generated/services/sso.js +4 -4
- package/lib/generated/services/states.js +4 -4
- package/lib/generated/services/storagegateway.js +4 -4
- package/lib/generated/services/sts.js +4 -4
- package/lib/generated/services/support-console.js +1 -1
- package/lib/generated/services/support.js +2 -2
- package/lib/generated/services/supportapp.js +2 -2
- package/lib/generated/services/supportauthz.js +4 -4
- package/lib/generated/services/supportplans.js +1 -1
- package/lib/generated/services/sustainability.js +2 -2
- package/lib/generated/services/swf.js +4 -4
- package/lib/generated/services/synthetics.js +4 -4
- package/lib/generated/services/tag.js +2 -2
- package/lib/generated/services/tax.js +2 -2
- package/lib/generated/services/textract.js +4 -4
- package/lib/generated/services/thinclient.js +4 -4
- package/lib/generated/services/timestream-influxdb.js +4 -4
- package/lib/generated/services/timestream.js +4 -4
- package/lib/generated/services/tiros.js +1 -1
- package/lib/generated/services/tnb.js +4 -4
- package/lib/generated/services/transcribe.js +4 -4
- package/lib/generated/services/transfer.js +4 -4
- package/lib/generated/services/transform-custom.js +3 -3
- package/lib/generated/services/transform.js +3 -3
- package/lib/generated/services/translate.js +4 -4
- package/lib/generated/services/trustedadvisor.js +3 -3
- package/lib/generated/services/ts.js +3 -3
- package/lib/generated/services/user-subscriptions.js +2 -2
- package/lib/generated/services/uxc.js +2 -2
- package/lib/generated/services/vendor-insights.js +3 -3
- package/lib/generated/services/verified-access.js +1 -1
- package/lib/generated/services/verifiedpermissions.js +4 -4
- package/lib/generated/services/voiceid.js +4 -4
- package/lib/generated/services/vpc-lattice-svcs.js +3 -3
- package/lib/generated/services/vpc-lattice.js +4 -4
- package/lib/generated/services/vpce.js +2 -2
- package/lib/generated/services/waf-regional.js +4 -4
- package/lib/generated/services/waf.js +4 -4
- package/lib/generated/services/wafv2.js +4 -4
- package/lib/generated/services/wam.js +1 -1
- package/lib/generated/services/wellarchitected.js +4 -4
- package/lib/generated/services/wickr.js +4 -4
- package/lib/generated/services/wisdom.js +4 -4
- package/lib/generated/services/workdocs.js +3 -3
- package/lib/generated/services/worklink.js +3 -3
- package/lib/generated/services/workmail.js +4 -4
- package/lib/generated/services/workmailmessageflow.js +3 -3
- package/lib/generated/services/workspaces-instances.js +4 -4
- package/lib/generated/services/workspaces-web.js +4 -4
- package/lib/generated/services/workspaces.js +4 -4
- package/lib/generated/services/xray.js +4 -4
- package/package.json +1 -1
|
@@ -16,15 +16,21 @@ class KinesisActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.KinesisActions = KinesisActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
KinesisActions[_a] = { fqn: "@cdk_utils/iam.kinesis.KinesisActions", version: "1.
|
|
19
|
+
KinesisActions[_a] = { fqn: "@cdk_utils/iam.kinesis.KinesisActions", version: "1.16.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
KinesisActions.SERVICE_PREFIX = "kinesis";
|
|
22
22
|
/** [Tagging] kinesis:AddTagsToStream */
|
|
23
23
|
KinesisActions.AddTagsToStream = "kinesis:AddTagsToStream";
|
|
24
|
+
/** [Write] kinesis:AssociateStreamsWithChannel */
|
|
25
|
+
KinesisActions.AssociateStreamsWithChannel = "kinesis:AssociateStreamsWithChannel";
|
|
26
|
+
/** [Tagging] kinesis:CreateChannel */
|
|
27
|
+
KinesisActions.CreateChannel = "kinesis:CreateChannel";
|
|
24
28
|
/** [Write] kinesis:CreateStream */
|
|
25
29
|
KinesisActions.CreateStream = "kinesis:CreateStream";
|
|
26
30
|
/** [Write] kinesis:DecreaseStreamRetentionPeriod */
|
|
27
31
|
KinesisActions.DecreaseStreamRetentionPeriod = "kinesis:DecreaseStreamRetentionPeriod";
|
|
32
|
+
/** [Write] kinesis:DeleteChannel */
|
|
33
|
+
KinesisActions.DeleteChannel = "kinesis:DeleteChannel";
|
|
28
34
|
/** [Write] kinesis:DeleteResourcePolicy */
|
|
29
35
|
KinesisActions.DeleteResourcePolicy = "kinesis:DeleteResourcePolicy";
|
|
30
36
|
/** [Write] kinesis:DeleteStream */
|
|
@@ -33,6 +39,8 @@ KinesisActions.DeleteStream = "kinesis:DeleteStream";
|
|
|
33
39
|
KinesisActions.DeregisterStreamConsumer = "kinesis:DeregisterStreamConsumer";
|
|
34
40
|
/** [Read] kinesis:DescribeAccountSettings */
|
|
35
41
|
KinesisActions.DescribeAccountSettings = "kinesis:DescribeAccountSettings";
|
|
42
|
+
/** [Read] kinesis:DescribeChannel */
|
|
43
|
+
KinesisActions.DescribeChannel = "kinesis:DescribeChannel";
|
|
36
44
|
/** [Read] kinesis:DescribeLimits */
|
|
37
45
|
KinesisActions.DescribeLimits = "kinesis:DescribeLimits";
|
|
38
46
|
/** [Read] kinesis:DescribeStream */
|
|
@@ -55,6 +63,8 @@ KinesisActions.actionGetShardIterator = "kinesis:GetShardIterator";
|
|
|
55
63
|
KinesisActions.IncreaseStreamRetentionPeriod = "kinesis:IncreaseStreamRetentionPeriod";
|
|
56
64
|
/** [Write] kinesis:InjectApiError */
|
|
57
65
|
KinesisActions.InjectApiError = "kinesis:InjectApiError";
|
|
66
|
+
/** [List] kinesis:ListChannels */
|
|
67
|
+
KinesisActions.ListChannels = "kinesis:ListChannels";
|
|
58
68
|
/** [List] kinesis:ListShards */
|
|
59
69
|
KinesisActions.ListShards = "kinesis:ListShards";
|
|
60
70
|
/** [List] kinesis:ListStreamConsumers */
|
|
@@ -91,6 +101,8 @@ KinesisActions.TagResource = "kinesis:TagResource";
|
|
|
91
101
|
KinesisActions.UntagResource = "kinesis:UntagResource";
|
|
92
102
|
/** [Write] kinesis:UpdateAccountSettings */
|
|
93
103
|
KinesisActions.UpdateAccountSettings = "kinesis:UpdateAccountSettings";
|
|
104
|
+
/** [Write] kinesis:UpdateChannel */
|
|
105
|
+
KinesisActions.UpdateChannel = "kinesis:UpdateChannel";
|
|
94
106
|
/** [Write] kinesis:UpdateMaxRecordSize */
|
|
95
107
|
KinesisActions.UpdateMaxRecordSize = "kinesis:UpdateMaxRecordSize";
|
|
96
108
|
/** [Write] kinesis:UpdateShardCount */
|
|
@@ -102,6 +114,7 @@ KinesisActions.UpdateStreamWarmThroughput = "kinesis:UpdateStreamWarmThroughput"
|
|
|
102
114
|
/** All read-level actions. */
|
|
103
115
|
KinesisActions.AllReadActions = [
|
|
104
116
|
KinesisActions.DescribeAccountSettings,
|
|
117
|
+
KinesisActions.DescribeChannel,
|
|
105
118
|
KinesisActions.DescribeLimits,
|
|
106
119
|
KinesisActions.DescribeStream,
|
|
107
120
|
KinesisActions.DescribeStreamConsumer,
|
|
@@ -115,8 +128,10 @@ KinesisActions.AllReadActions = [
|
|
|
115
128
|
];
|
|
116
129
|
/** All write-level actions. */
|
|
117
130
|
KinesisActions.AllWriteActions = [
|
|
131
|
+
KinesisActions.AssociateStreamsWithChannel,
|
|
118
132
|
KinesisActions.CreateStream,
|
|
119
133
|
KinesisActions.DecreaseStreamRetentionPeriod,
|
|
134
|
+
KinesisActions.DeleteChannel,
|
|
120
135
|
KinesisActions.DeleteResourcePolicy,
|
|
121
136
|
KinesisActions.DeleteStream,
|
|
122
137
|
KinesisActions.DeregisterStreamConsumer,
|
|
@@ -133,6 +148,7 @@ KinesisActions.AllWriteActions = [
|
|
|
133
148
|
KinesisActions.StartStreamEncryption,
|
|
134
149
|
KinesisActions.StopStreamEncryption,
|
|
135
150
|
KinesisActions.UpdateAccountSettings,
|
|
151
|
+
KinesisActions.UpdateChannel,
|
|
136
152
|
KinesisActions.UpdateMaxRecordSize,
|
|
137
153
|
KinesisActions.UpdateShardCount,
|
|
138
154
|
KinesisActions.UpdateStreamMode,
|
|
@@ -140,6 +156,7 @@ KinesisActions.AllWriteActions = [
|
|
|
140
156
|
];
|
|
141
157
|
/** All list-level actions. */
|
|
142
158
|
KinesisActions.AllListActions = [
|
|
159
|
+
KinesisActions.ListChannels,
|
|
143
160
|
KinesisActions.ListShards,
|
|
144
161
|
KinesisActions.ListStreamConsumers,
|
|
145
162
|
KinesisActions.ListStreams,
|
|
@@ -149,10 +166,12 @@ KinesisActions.AllPermissionManagementActions = [];
|
|
|
149
166
|
/** All tagging-level actions. */
|
|
150
167
|
KinesisActions.AllTaggingActions = [
|
|
151
168
|
KinesisActions.AddTagsToStream,
|
|
169
|
+
KinesisActions.CreateChannel,
|
|
152
170
|
KinesisActions.RemoveTagsFromStream,
|
|
153
171
|
KinesisActions.TagResource,
|
|
154
172
|
KinesisActions.UntagResource,
|
|
155
173
|
];
|
|
174
|
+
const ChannelArnRegex = /^arn:(?<partition>[^:]+):kinesis:(?<region>[^:]*):(?<account>[^:]*):channel\/(?<channelId>[^:/?]+)$/;
|
|
156
175
|
const ConsumerArnRegex = /^arn:(?<partition>[^:]+):kinesis:(?<region>[^:]*):(?<account>[^:]*):(?<streamType>[^:/?]+)\/(?<streamName>[^:/?]+)\/consumer\/(?<consumerName>[^:/?]+):(?<consumerCreationTimpstamp>[^:/?]+)$/;
|
|
157
176
|
const KMSKeyArnRegex = /^arn:(?<partition>[^:]+):kms:(?<region>[^:]*):(?<account>[^:]*):key\/(?<keyId>[^:/?]+)$/;
|
|
158
177
|
const StreamArnRegex = /^arn:(?<partition>[^:]+):kinesis:(?<region>[^:]*):(?<account>[^:]*):stream\/(?<streamName>[^:/?]+)$/;
|
|
@@ -160,6 +179,34 @@ const StreamArnRegex = /^arn:(?<partition>[^:]+):kinesis:(?<region>[^:]*):(?<acc
|
|
|
160
179
|
* ARN builders, validators, and parsers for kinesis resources.
|
|
161
180
|
*/
|
|
162
181
|
class KinesisResources {
|
|
182
|
+
/**
|
|
183
|
+
* Builds an ARN for the channel resource.
|
|
184
|
+
*/
|
|
185
|
+
static channel(props) {
|
|
186
|
+
return `arn:${props.partition ?? "aws"}:kinesis:${props.region ?? "*"}:${props.account ?? "*"}:channel/${props.channelId}`;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Validates whether a string is a valid ARN for the channel resource.
|
|
190
|
+
*/
|
|
191
|
+
static isValidChannelArn(arn) {
|
|
192
|
+
return ChannelArnRegex.test(arn);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Parses a channel ARN into its components.
|
|
196
|
+
* @throws Error if the ARN does not match the expected format.
|
|
197
|
+
*/
|
|
198
|
+
static parseChannelArn(arn) {
|
|
199
|
+
const match = ChannelArnRegex.exec(arn);
|
|
200
|
+
if (!match?.groups) {
|
|
201
|
+
throw new Error(`Invalid channel ARN: ${arn}`);
|
|
202
|
+
}
|
|
203
|
+
return {
|
|
204
|
+
partition: match.groups.partition,
|
|
205
|
+
region: match.groups.region,
|
|
206
|
+
account: match.groups.account,
|
|
207
|
+
channelId: match.groups.channelId,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
163
210
|
/**
|
|
164
211
|
* Builds an ARN for the consumer resource.
|
|
165
212
|
*/
|
|
@@ -250,7 +297,7 @@ class KinesisResources {
|
|
|
250
297
|
}
|
|
251
298
|
exports.KinesisResources = KinesisResources;
|
|
252
299
|
_b = JSII_RTTI_SYMBOL_1;
|
|
253
|
-
KinesisResources[_b] = { fqn: "@cdk_utils/iam.kinesis.KinesisResources", version: "1.
|
|
300
|
+
KinesisResources[_b] = { fqn: "@cdk_utils/iam.kinesis.KinesisResources", version: "1.16.0" };
|
|
254
301
|
/**
|
|
255
302
|
* API operation to required IAM actions mapping for kinesis.
|
|
256
303
|
*/
|
|
@@ -258,11 +305,13 @@ class KinesisOperations {
|
|
|
258
305
|
}
|
|
259
306
|
exports.KinesisOperations = KinesisOperations;
|
|
260
307
|
_c = JSII_RTTI_SYMBOL_1;
|
|
261
|
-
KinesisOperations[_c] = { fqn: "@cdk_utils/iam.kinesis.KinesisOperations", version: "1.
|
|
308
|
+
KinesisOperations[_c] = { fqn: "@cdk_utils/iam.kinesis.KinesisOperations", version: "1.16.0" };
|
|
262
309
|
/** IAM actions required for the AddTagsToStream API call. */
|
|
263
310
|
KinesisOperations.AddTagsToStream = ["kinesis:AddTagsToStream"];
|
|
264
311
|
/** IAM actions required for the CreateChannel API call. */
|
|
265
312
|
KinesisOperations.CreateChannel = [
|
|
313
|
+
"kinesis:AssociateStreamsWithChannel",
|
|
314
|
+
"kinesis:CreateChannel",
|
|
266
315
|
"iam:PassRole",
|
|
267
316
|
"kinesis:TagResource",
|
|
268
317
|
];
|
|
@@ -276,7 +325,7 @@ KinesisOperations.DecreaseStreamRetentionPeriod = [
|
|
|
276
325
|
"kinesis:DecreaseStreamRetentionPeriod",
|
|
277
326
|
];
|
|
278
327
|
/** IAM actions required for the DeleteChannel API call. */
|
|
279
|
-
KinesisOperations.DeleteChannel = [];
|
|
328
|
+
KinesisOperations.DeleteChannel = ["kinesis:DeleteChannel"];
|
|
280
329
|
/** IAM actions required for the DeleteResourcePolicy API call. */
|
|
281
330
|
KinesisOperations.DeleteResourcePolicy = [
|
|
282
331
|
"kinesis:DeleteResourcePolicy",
|
|
@@ -292,7 +341,7 @@ KinesisOperations.DescribeAccountSettings = [
|
|
|
292
341
|
"kinesis:DescribeAccountSettings",
|
|
293
342
|
];
|
|
294
343
|
/** IAM actions required for the DescribeChannel API call. */
|
|
295
|
-
KinesisOperations.DescribeChannel = [];
|
|
344
|
+
KinesisOperations.DescribeChannel = ["kinesis:DescribeChannel"];
|
|
296
345
|
/** IAM actions required for the DescribeLimits API call. */
|
|
297
346
|
KinesisOperations.DescribeLimits = ["kinesis:DescribeLimits"];
|
|
298
347
|
/** IAM actions required for the DescribeStream API call. */
|
|
@@ -324,7 +373,7 @@ KinesisOperations.IncreaseStreamRetentionPeriod = [
|
|
|
324
373
|
"kinesis:IncreaseStreamRetentionPeriod",
|
|
325
374
|
];
|
|
326
375
|
/** IAM actions required for the ListChannels API call. */
|
|
327
|
-
KinesisOperations.ListChannels = [];
|
|
376
|
+
KinesisOperations.ListChannels = ["kinesis:ListChannels"];
|
|
328
377
|
/** IAM actions required for the ListShards API call. */
|
|
329
378
|
KinesisOperations.ListShards = ["kinesis:ListShards"];
|
|
330
379
|
/** IAM actions required for the ListStreamConsumers API call. */
|
|
@@ -377,7 +426,7 @@ KinesisOperations.UpdateAccountSettings = [
|
|
|
377
426
|
"kinesis:UpdateAccountSettings",
|
|
378
427
|
];
|
|
379
428
|
/** IAM actions required for the UpdateChannel API call. */
|
|
380
|
-
KinesisOperations.UpdateChannel = [];
|
|
429
|
+
KinesisOperations.UpdateChannel = ["kinesis:UpdateChannel"];
|
|
381
430
|
/** IAM actions required for the UpdateMaxRecordSize API call. */
|
|
382
431
|
KinesisOperations.UpdateMaxRecordSize = [
|
|
383
432
|
"kinesis:UpdateMaxRecordSize",
|
|
@@ -433,7 +482,7 @@ class KinesisConditions {
|
|
|
433
482
|
}
|
|
434
483
|
exports.KinesisConditions = KinesisConditions;
|
|
435
484
|
_d = JSII_RTTI_SYMBOL_1;
|
|
436
|
-
KinesisConditions[_d] = { fqn: "@cdk_utils/iam.kinesis.KinesisConditions", version: "1.
|
|
485
|
+
KinesisConditions[_d] = { fqn: "@cdk_utils/iam.kinesis.KinesisConditions", version: "1.16.0" };
|
|
437
486
|
/** Condition keys applicable to the InjectApiError action. */
|
|
438
487
|
KinesisConditions.InjectApiErrorConditionKeys = [
|
|
439
488
|
"kinesis:FisActionId",
|
|
@@ -452,4 +501,4 @@ KinesisConditions.FIS_ACTION_ID = "kinesis:FisActionId";
|
|
|
452
501
|
KinesisConditions.FIS_INJECT_PERCENTAGE = "kinesis:FisInjectPercentage";
|
|
453
502
|
/** Condition key: kinesis:FisTargetArns (ArrayOfARN) */
|
|
454
503
|
KinesisConditions.FIS_TARGET_ARNS = "kinesis:FisTargetArns";
|
|
455
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2luZXNpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMva2luZXNpcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0ErSUM7OztBQTlJQSw4QkFBOEI7QUFDZCw2QkFBYyxHQUFHLFNBQVMsQ0FBQztBQUUzQyx3Q0FBd0M7QUFDeEIsOEJBQWUsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxtQ0FBbUM7QUFDbkIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCxvREFBb0Q7QUFDcEMsNENBQTZCLEdBQzVDLHVDQUF1QyxDQUFDO0FBQ3pDLDJDQUEyQztBQUMzQixtQ0FBb0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN0RSxtQ0FBbUM7QUFDbkIsMkJBQVksR0FBRyxzQkFBc0IsQ0FBQztBQUN0RCwrQ0FBK0M7QUFDL0IsdUNBQXdCLEdBQUcsa0NBQWtDLENBQUM7QUFDOUUsNkNBQTZDO0FBQzdCLHNDQUF1QixHQUFHLGlDQUFpQyxDQUFDO0FBQzVFLG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELG9DQUFvQztBQUNwQiw2QkFBYyxHQUFHLHdCQUF3QixDQUFDO0FBQzFELDRDQUE0QztBQUM1QixxQ0FBc0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMxRSwyQ0FBMkM7QUFDM0Isb0NBQXFCLEdBQUcsK0JBQStCLENBQUM7QUFDeEUsZ0RBQWdEO0FBQ2hDLHdDQUF5QixHQUN4QyxtQ0FBbUMsQ0FBQztBQUNyQywrQ0FBK0M7QUFDL0IsdUNBQXdCLEdBQUcsa0NBQWtDLENBQUM7QUFDOUUsZ0NBQWdDO0FBQ2hCLCtCQUFnQixHQUFHLG9CQUFvQixDQUFDO0FBQ3hELHVD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Q2pFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBZ0I7UUFDOUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FDekIsS0FBYTtRQUViLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSw2QkFBNkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQ25CLE1BQWdCO1FBRWhCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDMUUsQ0FBQzs7QUFqRUYsOENBa0VDOzs7QUFqRUEsOERBQThEO0FBQzlDLDZDQUEyQixHQUFhO0lBQ3ZELHFCQUFxQjtJQUNyQiw2QkFBNkI7SUFDN0IsdUJBQXVCO0NBQ3ZCLENBQUM7QUFFRix1REFBdUQ7QUFDdkMsaUNBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsa0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLDhCQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzdDLGtEQUFrRDtBQUNsQywrQkFBYSxHQUFHLHFCQUFxQixDQUFDO0FBQ3RELDJEQUEyRDtBQUMzQyx1Q0FBcUIsR0FBRyw2QkFBNkIsQ0FBQztBQUN0RSx3REFBd0Q7QUFDeEMsaUNBQWUsR0FBRyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2tpbmVzaXMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGtpbmVzaXMgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEtpbmVzaXNBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwia2luZXNpc1wiO1xuXG5cdC8qKiBbVGFnZ2luZ10ga2luZXNpczpBZGRUYWdzVG9TdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1N0cmVhbSA9IFwia2luZXNpczpBZGRUYWdzVG9TdHJlYW1cIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpDcmVhdGVTdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0cmVhbSA9IFwia2luZXNpczpDcmVhdGVTdHJlYW1cIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpEZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2QgPVxuXHRcdFwia2luZXNpczpEZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZFwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9IFwia2luZXNpczpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkRlbGV0ZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3RyZWFtID0gXCJraW5lc2lzOkRlbGV0ZVN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkRlcmVnaXN0ZXJTdHJlYW1Db25zdW1lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclN0cmVhbUNvbnN1bWVyID0gXCJraW5lc2lzOkRlcmVnaXN0ZXJTdHJlYW1Db25zdW1lclwiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6RGVzY3JpYmVBY2NvdW50U2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudFNldHRpbmdzID0gXCJraW5lc2lzOkRlc2NyaWJlQWNjb3VudFNldHRpbmdzXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpEZXNjcmliZUxpbWl0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaW1pdHMgPSBcImtpbmVzaXM6RGVzY3JpYmVMaW1pdHNcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkRlc2NyaWJlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0cmVhbSA9IFwia2luZXNpczpEZXNjcmliZVN0cmVhbVwiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6RGVzY3JpYmVTdHJlYW1Db25zdW1lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHJlYW1Db25zdW1lciA9IFwia2luZXNpczpEZXNjcmliZVN0cmVhbUNvbnN1bWVyXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpEZXNjcmliZVN0cmVhbVN1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3RyZWFtU3VtbWFyeSA9IFwia2luZXNpczpEZXNjcmliZVN0cmVhbVN1bW1hcnlcIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpEaXNhYmxlRW5oYW5jZWRNb25pdG9yaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlRW5oYW5jZWRNb25pdG9yaW5nID1cblx0XHRcImtpbmVzaXM6RGlzYWJsZUVuaGFuY2VkTW9uaXRvcmluZ1wiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlRW5oYW5jZWRNb25pdG9yaW5nID0gXCJraW5lc2lzOkVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZ1wiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6R2V0UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb3JkcyA9IFwia2luZXNpczpHZXRSZWNvcmRzXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpHZXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3kgPSBcImtpbmVzaXM6R2V0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkdldFNoYXJkSXRlcmF0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNoYXJkSXRlcmF0b3IgPSBcImtpbmVzaXM6R2V0U2hhcmRJdGVyYXRvclwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkluY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kICovXG5cdHN0YXRpYyByZWFkb25seSBJbmNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCA9XG5cdFx0XCJraW5lc2lzOkluY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6SW5qZWN0QXBpRXJyb3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluamVjdEFwaUVycm9yID0gXCJraW5lc2lzOkluamVjdEFwaUVycm9yXCI7XG5cdC8qKiBbTGlzdF0ga2luZXNpczpMaXN0U2hhcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmRzID0gXCJraW5lc2lzOkxpc3RTaGFyZHNcIjtcblx0LyoqIFtMaXN0XSBraW5lc2lzOkxpc3RTdHJlYW1Db25zdW1lcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdHJlYW1Db25zdW1lcnMgPSBcImtpbmVzaXM6TGlzdFN0cmVhbUNvbnN1bWVyc1wiO1xuXHQvKiogW0xpc3RdIGtpbmVzaXM6TGlzdFN0cmVhbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdHJlYW1zID0gXCJraW5lc2lzOkxpc3RTdHJlYW1zXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJraW5lc2lzOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkxpc3RUYWdzRm9yU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclN0cmVhbSA9IFwia2luZXNpczpMaXN0VGFnc0ZvclN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOk1lcmdlU2hhcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBNZXJnZVNoYXJkcyA9IFwia2luZXNpczpNZXJnZVNoYXJkc1wiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlB1dFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkID0gXCJraW5lc2lzOlB1dFJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlB1dFJlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlY29yZHMgPSBcImtpbmVzaXM6UHV0UmVjb3Jkc1wiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwia2luZXNpczpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgPSBcImtpbmVzaXM6UmVnaXN0ZXJTdHJlYW1Db25zdW1lclwiO1xuXHQvKiogW1RhZ2dpbmddIGtpbmVzaXM6UmVtb3ZlVGFnc0Zyb21TdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tU3RyZWFtID0gXCJraW5lc2lzOlJlbW92ZVRhZ3NGcm9tU3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6U3BsaXRTaGFyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3BsaXRTaGFyZCA9IFwia2luZXNpczpTcGxpdFNoYXJkXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6U3RhcnRTdHJlYW1FbmNyeXB0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFN0cmVhbUVuY3J5cHRpb24gPSBcImtpbmVzaXM6U3RhcnRTdHJlYW1FbmNyeXB0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6U3RvcFN0cmVhbUVuY3J5cHRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTdHJlYW1FbmNyeXB0aW9uID0gXCJraW5lc2lzOlN0b3BTdHJlYW1FbmNyeXB0aW9uXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpTdWJzY3JpYmVUb1NoYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJzY3JpYmVUb1NoYXJkID0gXCJraW5lc2lzOlN1YnNjcmliZVRvU2hhcmRcIjtcblx0LyoqIFtUYWdnaW5nXSBraW5lc2lzOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwia2luZXNpczpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGtpbmVzaXM6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwia2luZXNpczpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlQWNjb3VudFNldHRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY2NvdW50U2V0dGluZ3MgPSBcImtpbmVzaXM6VXBkYXRlQWNjb3VudFNldHRpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlTWF4UmVjb3JkU2l6ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWF4UmVjb3JkU2l6ZSA9IFwia2luZXNpczpVcGRhdGVNYXhSZWNvcmRTaXplXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlU2hhcmRDb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2hhcmRDb3VudCA9IFwia2luZXNpczpVcGRhdGVTaGFyZENvdW50XCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlU3RyZWFtTW9kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3RyZWFtTW9kZSA9IFwia2luZXNpczpVcGRhdGVTdHJlYW1Nb2RlXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN0cmVhbVdhcm1UaHJvdWdocHV0ID1cblx0XHRcImtpbmVzaXM6VXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXRcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXNjcmliZUFjY291bnRTZXR0aW5ncyxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXNjcmliZUxpbWl0cyxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXNjcmliZVN0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXNjcmliZVN0cmVhbUNvbnN1bWVyLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRlc2NyaWJlU3RyZWFtU3VtbWFyeSxcblx0XHRLaW5lc2lzQWN0aW9ucy5hY3Rpb25HZXRSZWNvcmRzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUG9saWN5LFxuXHRcdEtpbmVzaXNBY3Rpb25zLmFjdGlvbkdldFNoYXJkSXRlcmF0b3IsXG5cdFx0S2luZXNpc0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XHRLaW5lc2lzQWN0aW9ucy5MaXN0VGFnc0ZvclN0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5TdWJzY3JpYmVUb1NoYXJkLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEtpbmVzaXNBY3Rpb25zLkNyZWF0ZVN0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZWxldGVTdHJlYW0sXG5cdFx0S2luZXNpc0FjdGlvbnMuRGVyZWdpc3RlclN0cmVhbUNvbnN1bWVyLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRpc2FibGVFbmhhbmNlZE1vbml0b3JpbmcsXG5cdFx0S2luZXNpc0FjdGlvbnMuRW5hYmxlRW5oYW5jZWRNb25pdG9yaW5nLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkluY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkluamVjdEFwaUVycm9yLFxuXHRcdEtpbmVzaXNBY3Rpb25zLk1lcmdlU2hhcmRzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlB1dFJlY29yZCxcblx0XHRLaW5lc2lzQWN0aW9ucy5QdXRSZWNvcmRzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRcdEtpbmVzaXNBY3Rpb25zLlJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIsXG5cdFx0S2luZXNpc0FjdGlvbnMuU3BsaXRTaGFyZCxcblx0XHRLaW5lc2lzQWN0aW9ucy5TdGFydFN0cmVhbUVuY3J5cHRpb24sXG5cdFx0S2luZXNpc0FjdGlvbnMuU3RvcFN0cmVhbUVuY3J5cHRpb24sXG5cdFx0S2luZXNpc0FjdGlvbnMuVXBkYXRlQWNjb3VudFNldHRpbmdzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlVwZGF0ZU1heFJlY29yZFNpemUsXG5cdFx0S2luZXNpc0FjdGlvbnMuVXBkYXRlU2hhcmRDb3VudCxcblx0XHRLaW5lc2lzQWN0aW9ucy5VcGRhdGVTdHJlYW1Nb2RlLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlVwZGF0ZVN0cmVhbVdhcm1UaHJvdWdocHV0LFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRLaW5lc2lzQWN0aW9ucy5MaXN0U2hhcmRzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkxpc3RTdHJlYW1Db25zdW1lcnMsXG5cdFx0S2luZXNpc0FjdGlvbnMuTGlzdFN0cmVhbXMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEtpbmVzaXNBY3Rpb25zLkFkZFRhZ3NUb1N0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5SZW1vdmVUYWdzRnJvbVN0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRLaW5lc2lzQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29uc3VtZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNDb25zdW1lckFyblByb3BzIHtcblx0LyoqIFRoZSBTdHJlYW1UeXBlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzdHJlYW1UeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgU3RyZWFtTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3RyZWFtTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENvbnN1bWVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uc3VtZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbnN1bWVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLaW5lc2lzQ29uc3VtZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFN0cmVhbVR5cGUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzdHJlYW1UeXBlOiBzdHJpbmc7XG5cdC8qKiBUaGUgU3RyZWFtTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN0cmVhbU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb25zdW1lck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25zdW1lck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb25zdW1lckNyZWF0aW9uVGltcHN0YW1wIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEga21zS2V5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLaW5lc2lzS01TS2V5QXJuUHJvcHMge1xuXHQvKiogVGhlIEtleUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBrZXlJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGttc0tleSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2luZXNpc0tNU0tleUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgS2V5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBrZXlJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc3RyZWFtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLaW5lc2lzU3RyZWFtQXJuUHJvcHMge1xuXHQvKiogVGhlIFN0cmVhbU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHN0cmVhbU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzdHJlYW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNTdHJlYW1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFN0cmVhbU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzdHJlYW1OYW1lOiBzdHJpbmc7XG59XG5cbmNvbnN0IENvbnN1bWVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmtpbmVzaXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTooPzxzdHJlYW1UeXBlPlteOi8/XSspXFwvKD88c3RyZWFtTmFtZT5bXjovP10rKVxcL2NvbnN1bWVyXFwvKD88Y29uc3VtZXJOYW1lPlteOi8/XSspOig/PGNvbnN1bWVyQ3JlYXRpb25UaW1wc3RhbXA+W146Lz9dKykkLztcbmNvbnN0IEtNU0tleUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTprbXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTprZXlcXC8oPzxrZXlJZD5bXjovP10rKSQvO1xuY29uc3QgU3RyZWFtQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmtpbmVzaXM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzdHJlYW1cXC8oPzxzdHJlYW1OYW1lPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3Iga2luZXNpcyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBLaW5lc2lzUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb25zdW1lciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25zdW1lcihwcm9wczogS2luZXNpc0NvbnN1bWVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmtpbmVzaXM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06JHtwcm9wcy5zdHJlYW1UeXBlfS8ke3Byb3BzLnN0cmVhbU5hbWV9L2NvbnN1bWVyLyR7cHJvcHMuY29uc3VtZXJOYW1lfToke3Byb3BzLmNvbnN1bWVyQ3JlYXRpb25UaW1wc3RhbXB9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbnN1bWVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25zdW1lckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25zdW1lckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb25zdW1lciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25zdW1lckFybihhcm46IHN0cmluZyk6IEtpbmVzaXNDb25zdW1lckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uc3VtZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29uc3VtZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c3RyZWFtVHlwZTogbWF0Y2guZ3JvdXBzIS5zdHJlYW1UeXBlLFxuXHRcdFx0c3RyZWFtTmFtZTogbWF0Y2guZ3JvdXBzIS5zdHJlYW1OYW1lLFxuXHRcdFx0Y29uc3VtZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNvbnN1bWVyTmFtZSxcblx0XHRcdGNvbnN1bWVyQ3JlYXRpb25UaW1wc3RhbXA6IG1hdGNoLmdyb3VwcyEuY29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBrbXNLZXkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMga21zS2V5KHByb3BzOiBLaW5lc2lzS01TS2V5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Omttczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTprZXkvJHtwcm9wcy5rZXlJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUga21zS2V5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRLTVNLZXlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gS01TS2V5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGttc0tleSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VLTVNLZXlBcm4oYXJuOiBzdHJpbmcpOiBLaW5lc2lzS01TS2V5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBLTVNLZXlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQga21zS2V5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGtleUlkOiBtYXRjaC5ncm91cHMhLmtleUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHN0cmVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzdHJlYW0ocHJvcHM6IEtpbmVzaXNTdHJlYW1Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06a2luZXNpczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzdHJlYW0vJHtwcm9wcy5zdHJlYW1OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzdHJlYW0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFN0cmVhbUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTdHJlYW1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc3RyZWFtIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVN0cmVhbUFybihhcm46IHN0cmluZyk6IEtpbmVzaXNTdHJlYW1Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN0cmVhbUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzdHJlYW0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c3RyZWFtTmFtZTogbWF0Y2guZ3JvdXBzIS5zdHJlYW1OYW1lLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGtpbmVzaXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBLaW5lc2lzT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZFRhZ3NUb1N0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1N0cmVhbTogc3RyaW5nW10gPSBbXCJraW5lc2lzOkFkZFRhZ3NUb1N0cmVhbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNoYW5uZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJraW5lc2lzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN0cmVhbTogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkFkZFRhZ3NUb1N0cmVhbVwiLFxuXHRcdFwia2luZXNpczpDcmVhdGVTdHJlYW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVjcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZDogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkRlY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNoYW5uZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDaGFubmVsOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6RGVsZXRlU3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY2NvdW50U2V0dGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRTZXR0aW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkRlc2NyaWJlQWNjb3VudFNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2hhbm5lbDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMaW1pdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpbWl0czogc3RyaW5nW10gPSBbXCJraW5lc2lzOkRlc2NyaWJlTGltaXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6RGVzY3JpYmVTdHJlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3RyZWFtQ29uc3VtZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0cmVhbUNvbnN1bWVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6RGVzY3JpYmVTdHJlYW1Db25zdW1lclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN0cmVhbVN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0cmVhbVN1bW1hcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpEZXNjcmliZVN0cmVhbVN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYWJsZUVuaGFuY2VkTW9uaXRvcmluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVFbmhhbmNlZE1vbml0b3Jpbmc6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpEaXNhYmxlRW5oYW5jZWRNb25pdG9yaW5nXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZzogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWNvcmRzOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6R2V0UmVjb3Jkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6R2V0UmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNoYXJkSXRlcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNoYXJkSXRlcmF0b3I6IHN0cmluZ1tdID0gW1wia2luZXNpczpHZXRTaGFyZEl0ZXJhdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbmNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6SW5jcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENoYW5uZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENoYW5uZWxzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2hhcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNoYXJkczogc3RyaW5nW10gPSBbXCJraW5lc2lzOkxpc3RTaGFyZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdHJlYW1Db25zdW1lcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RyZWFtQ29uc3VtZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6TGlzdFN0cmVhbUNvbnN1bWVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3RyZWFtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdHJlYW1zOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6TGlzdFN0cmVhbXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6TGlzdFRhZ3NGb3JTdHJlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1lcmdlU2hhcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWVyZ2VTaGFyZHM6IHN0cmluZ1tdID0gW1wia2luZXNpczpNZXJnZVNoYXJkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6UHV0UmVjb3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3Jkczogc3RyaW5nW10gPSBbXCJraW5lc2lzOlB1dFJlY29yZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1wia2luZXNpczpQdXRSZXNvdXJjZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJTdHJlYW1Db25zdW1lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyU3RyZWFtQ29uc3VtZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpSZWdpc3RlclN0cmVhbUNvbnN1bWVyXCIsXG5cdFx0XCJraW5lc2lzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbW92ZVRhZ3NGcm9tU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVGFnc0Zyb21TdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpSZW1vdmVUYWdzRnJvbVN0cmVhbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTcGxpdFNoYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3BsaXRTaGFyZDogc3RyaW5nW10gPSBbXCJraW5lc2lzOlNwbGl0U2hhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0U3RyZWFtRW5jcnlwdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U3RyZWFtRW5jcnlwdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOlN0YXJ0U3RyZWFtRW5jcnlwdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wU3RyZWFtRW5jcnlwdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTdHJlYW1FbmNyeXB0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6U3RvcFN0cmVhbUVuY3J5cHRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3Vic2NyaWJlVG9TaGFyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1YnNjcmliZVRvU2hhcmQ6IHN0cmluZ1tdID0gW1wia2luZXNpczpTdWJzY3JpYmVUb1NoYXJkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWNjb3VudFNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWNjb3VudFNldHRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6VXBkYXRlQWNjb3VudFNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNoYW5uZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDaGFubmVsOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNYXhSZWNvcmRTaXplIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWF4UmVjb3JkU2l6ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOlVwZGF0ZU1heFJlY29yZFNpemVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2hhcmRDb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNoYXJkQ291bnQ6IHN0cmluZ1tdID0gW1wia2luZXNpczpVcGRhdGVTaGFyZENvdW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTdHJlYW1Nb2RlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3RyZWFtTW9kZTogc3RyaW5nW10gPSBbXCJraW5lc2lzOlVwZGF0ZVN0cmVhbU1vZGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVN0cmVhbVdhcm1UaHJvdWdocHV0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpVcGRhdGVTdHJlYW1XYXJtVGhyb3VnaHB1dFwiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3Iga2luZXNpcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEtpbmVzaXNDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEluamVjdEFwaUVycm9yIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluamVjdEFwaUVycm9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkZpc0FjdGlvbklkXCIsXG5cdFx0XCJraW5lc2lzOkZpc0luamVjdFBlcmNlbnRhZ2VcIixcblx0XHRcImtpbmVzaXM6RmlzVGFyZ2V0QXJuc1wiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGtpbmVzaXM6RmlzQWN0aW9uSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJU19BQ1RJT05fSUQgPSBcImtpbmVzaXM6RmlzQWN0aW9uSWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGtpbmVzaXM6RmlzSW5qZWN0UGVyY2VudGFnZSAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZJU19JTkpFQ1RfUEVSQ0VOVEFHRSA9IFwia2luZXNpczpGaXNJbmplY3RQZXJjZW50YWdlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBraW5lc2lzOkZpc1RhcmdldEFybnMgKEFycmF5T2ZBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBGSVNfVEFSR0VUX0FSTlMgPSBcImtpbmVzaXM6RmlzVGFyZ2V0QXJuc1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBraW5lc2lzOkZpc0FjdGlvbklkYC5cblx0ICovXG5cdHN0YXRpYyBmaXNBY3Rpb25JZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImtpbmVzaXM6RmlzQWN0aW9uSWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGtpbmVzaXM6RmlzSW5qZWN0UGVyY2VudGFnZWAuXG5cdCAqL1xuXHRzdGF0aWMgZmlzSW5qZWN0UGVyY2VudGFnZShcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImtpbmVzaXM6RmlzSW5qZWN0UGVyY2VudGFnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBga2luZXNpczpGaXNUYXJnZXRBcm5zYC5cblx0ICovXG5cdHN0YXRpYyBmaXNUYXJnZXRBcm5zKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7IFwia2luZXNpczpGaXNUYXJnZXRBcm5zXCI6IHZhbHVlcyB9IH07XG5cdH1cbn1cbiJdfQ==
|
|
504
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2luZXNpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMva2luZXNpcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELDhDQUE4QztBQUM5QyxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxjQUFjOztBQUEzQix3Q0FrS0M7OztBQWpLQSw4QkFBOEI7QUFDZCw2QkFBYyxHQUFHLFNBQVMsQ0FBQztBQUUzQyx3Q0FBd0M7QUFDeEIsOEJBQWUsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxrREFBa0Q7QUFDbEMsMENBQTJCLEdBQzFDLHFDQUFxQyxDQUFDO0FBQ3ZDLHNDQUFzQztBQUN0Qiw0QkFBYSxHQUFHLHVCQUF1QixDQUFDO0FBQ3hELG1DQUFtQztBQUNuQiwyQkFBWSxHQUFHLHNCQUFzQixDQUFDO0FBQ3RELG9EQUFvRDtBQUNwQyw0Q0FBNkIsR0FDNUMsdUNBQXVDLENBQUM7QUFDekMsb0NBQW9DO0FBQ3BCLDRCQUFhLEdBQUcsdUJBQXVCLENBQUM7QUFDeEQsMkNBQTJDO0FBQzNCLG1DQUFvQixHQUFHLDhCQUE4QixDQUFDO0FBQ3RFLG1DQUFtQztBQUNuQiwyQkFBWSxHQUFHLHNCQUFzQixDQUFDO0FBQ3RELCtDQUErQztBQUMvQix1Q0FBd0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM5RSw2Q0FBNkM7QUFDN0Isc0NBQXVCLEdBQUcsaUNBQWlDLENBQUM7QUFDNUUscUNBQXFDO0FBQ3JCLDhCQUFlLEdBQUcseUJBQXlCLENBQUM7QUFDNUQsb0NBQW9DO0FBQ3BCLDZCQUFjLEdBQUcsd0JBQXdCLENBQUM7QUFDMUQsb0NBQW9DO0FBQ3BCLDZCQUFjLEdBQUcsd0JBQXdCLENBQUM7QUFDMUQsNENBQTRDO0FBQzVCLHFDQUFzQixHQUFHLGdDQUFnQyxDQUFDO0FBQzFFLDJDQUEy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Q3hDLGtDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQyw4QkFBWSxHQUFHLGFBQWEsQ0FBQztBQUM3QyxrREFBa0Q7QUFDbEMsK0JBQWEsR0FBRyxxQkFBcUIsQ0FBQztBQUN0RCwyREFBMkQ7QUFDM0MsdUNBQXFCLEdBQUcsNkJBQTZCLENBQUM7QUFDdEUsd0RBQXdEO0FBQ3hDLGlDQUFlLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9raW5lc2lzLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBraW5lc2lzIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBLaW5lc2lzQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImtpbmVzaXNcIjtcblxuXHQvKiogW1RhZ2dpbmddIGtpbmVzaXM6QWRkVGFnc1RvU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzVG9TdHJlYW0gPSBcImtpbmVzaXM6QWRkVGFnc1RvU3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6QXNzb2NpYXRlU3RyZWFtc1dpdGhDaGFubmVsICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVTdHJlYW1zV2l0aENoYW5uZWwgPVxuXHRcdFwia2luZXNpczpBc3NvY2lhdGVTdHJlYW1zV2l0aENoYW5uZWxcIjtcblx0LyoqIFtUYWdnaW5nXSBraW5lc2lzOkNyZWF0ZUNoYW5uZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNoYW5uZWwgPSBcImtpbmVzaXM6Q3JlYXRlQ2hhbm5lbFwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkNyZWF0ZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3RyZWFtID0gXCJraW5lc2lzOkNyZWF0ZVN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkRlY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCA9XG5cdFx0XCJraW5lc2lzOkRlY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6RGVsZXRlQ2hhbm5lbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2hhbm5lbCA9IFwia2luZXNpczpEZWxldGVDaGFubmVsXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6RGVsZXRlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5ID0gXCJraW5lc2lzOkRlbGV0ZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6RGVsZXRlU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTdHJlYW0gPSBcImtpbmVzaXM6RGVsZXRlU3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6RGVyZWdpc3RlclN0cmVhbUNvbnN1bWVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgPSBcImtpbmVzaXM6RGVyZWdpc3RlclN0cmVhbUNvbnN1bWVyXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpEZXNjcmliZUFjY291bnRTZXR0aW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50U2V0dGluZ3MgPSBcImtpbmVzaXM6RGVzY3JpYmVBY2NvdW50U2V0dGluZ3NcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkRlc2NyaWJlQ2hhbm5lbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDaGFubmVsID0gXCJraW5lc2lzOkRlc2NyaWJlQ2hhbm5lbFwiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6RGVzY3JpYmVMaW1pdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGltaXRzID0gXCJraW5lc2lzOkRlc2NyaWJlTGltaXRzXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpEZXNjcmliZVN0cmVhbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdHJlYW0gPSBcImtpbmVzaXM6RGVzY3JpYmVTdHJlYW1cIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkRlc2NyaWJlU3RyZWFtQ29uc3VtZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3RyZWFtQ29uc3VtZXIgPSBcImtpbmVzaXM6RGVzY3JpYmVTdHJlYW1Db25zdW1lclwiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6RGVzY3JpYmVTdHJlYW1TdW1tYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0cmVhbVN1bW1hcnkgPSBcImtpbmVzaXM6RGVzY3JpYmVTdHJlYW1TdW1tYXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6RGlzYWJsZUVuaGFuY2VkTW9uaXRvcmluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZUVuaGFuY2VkTW9uaXRvcmluZyA9XG5cdFx0XCJraW5lc2lzOkRpc2FibGVFbmhhbmNlZE1vbml0b3JpbmdcIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpFbmFibGVFbmhhbmNlZE1vbml0b3JpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZyA9IFwia2luZXNpczpFbmFibGVFbmhhbmNlZE1vbml0b3JpbmdcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkdldFJlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY29yZHMgPSBcImtpbmVzaXM6R2V0UmVjb3Jkc1wiO1xuXHQvKiogW1JlYWRdIGtpbmVzaXM6R2V0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5ID0gXCJraW5lc2lzOkdldFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpHZXRTaGFyZEl0ZXJhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTaGFyZEl0ZXJhdG9yID0gXCJraW5lc2lzOkdldFNoYXJkSXRlcmF0b3JcIjtcblx0LyoqIFtXcml0ZV0ga2luZXNpczpJbmNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5jcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2QgPVxuXHRcdFwia2luZXNpczpJbmNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZFwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOkluamVjdEFwaUVycm9yICovXG5cdHN0YXRpYyByZWFkb25seSBJbmplY3RBcGlFcnJvciA9IFwia2luZXNpczpJbmplY3RBcGlFcnJvclwiO1xuXHQvKiogW0xpc3RdIGtpbmVzaXM6TGlzdENoYW5uZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2hhbm5lbHMgPSBcImtpbmVzaXM6TGlzdENoYW5uZWxzXCI7XG5cdC8qKiBbTGlzdF0ga2luZXNpczpMaXN0U2hhcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2hhcmRzID0gXCJraW5lc2lzOkxpc3RTaGFyZHNcIjtcblx0LyoqIFtMaXN0XSBraW5lc2lzOkxpc3RTdHJlYW1Db25zdW1lcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdHJlYW1Db25zdW1lcnMgPSBcImtpbmVzaXM6TGlzdFN0cmVhbUNvbnN1bWVyc1wiO1xuXHQvKiogW0xpc3RdIGtpbmVzaXM6TGlzdFN0cmVhbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdHJlYW1zID0gXCJraW5lc2lzOkxpc3RTdHJlYW1zXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJraW5lc2lzOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBraW5lc2lzOkxpc3RUYWdzRm9yU3RyZWFtICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclN0cmVhbSA9IFwia2luZXNpczpMaXN0VGFnc0ZvclN0cmVhbVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOk1lcmdlU2hhcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBNZXJnZVNoYXJkcyA9IFwia2luZXNpczpNZXJnZVNoYXJkc1wiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlB1dFJlY29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkID0gXCJraW5lc2lzOlB1dFJlY29yZFwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlB1dFJlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlY29yZHMgPSBcImtpbmVzaXM6UHV0UmVjb3Jkc1wiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwia2luZXNpczpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBraW5lc2lzOlJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgPSBcImtpbmVzaXM6UmVnaXN0ZXJTdHJlYW1Db25zdW1lclwiO1xuXHQvKiogW1RhZ2dpbmddIGtpbmVzaXM6UmVtb3ZlVGFnc0Zyb21TdHJlYW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tU3RyZWFtID0gXCJraW5lc2lzOlJlbW92ZVRhZ3NGcm9tU3RyZWFtXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6U3BsaXRTaGFyZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3BsaXRTaGFyZCA9IFwia2luZXNpczpTcGxpdFNoYXJkXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6U3RhcnRTdHJlYW1FbmNyeXB0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFN0cmVhbUVuY3J5cHRpb24gPSBcImtpbmVzaXM6U3RhcnRTdHJlYW1FbmNyeXB0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6U3RvcFN0cmVhbUVuY3J5cHRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTdHJlYW1FbmNyeXB0aW9uID0gXCJraW5lc2lzOlN0b3BTdHJlYW1FbmNyeXB0aW9uXCI7XG5cdC8qKiBbUmVhZF0ga2luZXNpczpTdWJzY3JpYmVUb1NoYXJkICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJzY3JpYmVUb1NoYXJkID0gXCJraW5lc2lzOlN1YnNjcmliZVRvU2hhcmRcIjtcblx0LyoqIFtUYWdnaW5nXSBraW5lc2lzOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwia2luZXNpczpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGtpbmVzaXM6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwia2luZXNpczpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlQWNjb3VudFNldHRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBY2NvdW50U2V0dGluZ3MgPSBcImtpbmVzaXM6VXBkYXRlQWNjb3VudFNldHRpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlQ2hhbm5lbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2hhbm5lbCA9IFwia2luZXNpczpVcGRhdGVDaGFubmVsXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlTWF4UmVjb3JkU2l6ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWF4UmVjb3JkU2l6ZSA9IFwia2luZXNpczpVcGRhdGVNYXhSZWNvcmRTaXplXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlU2hhcmRDb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2hhcmRDb3VudCA9IFwia2luZXNpczpVcGRhdGVTaGFyZENvdW50XCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlU3RyZWFtTW9kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3RyZWFtTW9kZSA9IFwia2luZXNpczpVcGRhdGVTdHJlYW1Nb2RlXCI7XG5cdC8qKiBbV3JpdGVdIGtpbmVzaXM6VXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN0cmVhbVdhcm1UaHJvdWdocHV0ID1cblx0XHRcImtpbmVzaXM6VXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXRcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXNjcmliZUFjY291bnRTZXR0aW5ncyxcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXNjcmliZUNoYW5uZWwsXG5cdFx0S2luZXNpc0FjdGlvbnMuRGVzY3JpYmVMaW1pdHMsXG5cdFx0S2luZXNpc0FjdGlvbnMuRGVzY3JpYmVTdHJlYW0sXG5cdFx0S2luZXNpc0FjdGlvbnMuRGVzY3JpYmVTdHJlYW1Db25zdW1lcixcblx0XHRLaW5lc2lzQWN0aW9ucy5EZXNjcmliZVN0cmVhbVN1bW1hcnksXG5cdFx0S2luZXNpc0FjdGlvbnMuYWN0aW9uR2V0UmVjb3Jkcyxcblx0XHRLaW5lc2lzQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVBvbGljeSxcblx0XHRLaW5lc2lzQWN0aW9ucy5hY3Rpb25HZXRTaGFyZEl0ZXJhdG9yLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0S2luZXNpc0FjdGlvbnMuTGlzdFRhZ3NGb3JTdHJlYW0sXG5cdFx0S2luZXNpc0FjdGlvbnMuU3Vic2NyaWJlVG9TaGFyZCxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRLaW5lc2lzQWN0aW9ucy5Bc3NvY2lhdGVTdHJlYW1zV2l0aENoYW5uZWwsXG5cdFx0S2luZXNpc0FjdGlvbnMuQ3JlYXRlU3RyZWFtLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRlY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRlbGV0ZUNoYW5uZWwsXG5cdFx0S2luZXNpc0FjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0S2luZXNpc0FjdGlvbnMuRGVsZXRlU3RyZWFtLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkRlcmVnaXN0ZXJTdHJlYW1Db25zdW1lcixcblx0XHRLaW5lc2lzQWN0aW9ucy5EaXNhYmxlRW5oYW5jZWRNb25pdG9yaW5nLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZyxcblx0XHRLaW5lc2lzQWN0aW9ucy5JbmNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCxcblx0XHRLaW5lc2lzQWN0aW9ucy5JbmplY3RBcGlFcnJvcixcblx0XHRLaW5lc2lzQWN0aW9ucy5NZXJnZVNoYXJkcyxcblx0XHRLaW5lc2lzQWN0aW9ucy5QdXRSZWNvcmQsXG5cdFx0S2luZXNpc0FjdGlvbnMuUHV0UmVjb3Jkcyxcblx0XHRLaW5lc2lzQWN0aW9ucy5QdXRSZXNvdXJjZVBvbGljeSxcblx0XHRLaW5lc2lzQWN0aW9ucy5SZWdpc3RlclN0cmVhbUNvbnN1bWVyLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlNwbGl0U2hhcmQsXG5cdFx0S2luZXNpc0FjdGlvbnMuU3RhcnRTdHJlYW1FbmNyeXB0aW9uLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlN0b3BTdHJlYW1FbmNyeXB0aW9uLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlVwZGF0ZUFjY291bnRTZXR0aW5ncyxcblx0XHRLaW5lc2lzQWN0aW9ucy5VcGRhdGVDaGFubmVsLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlVwZGF0ZU1heFJlY29yZFNpemUsXG5cdFx0S2luZXNpc0FjdGlvbnMuVXBkYXRlU2hhcmRDb3VudCxcblx0XHRLaW5lc2lzQWN0aW9ucy5VcGRhdGVTdHJlYW1Nb2RlLFxuXHRcdEtpbmVzaXNBY3Rpb25zLlVwZGF0ZVN0cmVhbVdhcm1UaHJvdWdocHV0LFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRLaW5lc2lzQWN0aW9ucy5MaXN0Q2hhbm5lbHMsXG5cdFx0S2luZXNpc0FjdGlvbnMuTGlzdFNoYXJkcyxcblx0XHRLaW5lc2lzQWN0aW9ucy5MaXN0U3RyZWFtQ29uc3VtZXJzLFxuXHRcdEtpbmVzaXNBY3Rpb25zLkxpc3RTdHJlYW1zLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRLaW5lc2lzQWN0aW9ucy5BZGRUYWdzVG9TdHJlYW0sXG5cdFx0S2luZXNpc0FjdGlvbnMuQ3JlYXRlQ2hhbm5lbCxcblx0XHRLaW5lc2lzQWN0aW9ucy5SZW1vdmVUYWdzRnJvbVN0cmVhbSxcblx0XHRLaW5lc2lzQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRLaW5lc2lzQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2hhbm5lbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2luZXNpc0NoYW5uZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2hhbm5lbElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjaGFubmVsSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjaGFubmVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLaW5lc2lzQ2hhbm5lbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2hhbm5lbElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2hhbm5lbElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb25zdW1lciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2luZXNpc0NvbnN1bWVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFN0cmVhbVR5cGUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHN0cmVhbVR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBTdHJlYW1OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzdHJlYW1OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uc3VtZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25zdW1lck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb25zdW1lckNyZWF0aW9uVGltcHN0YW1wIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25zdW1lckNyZWF0aW9uVGltcHN0YW1wOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29uc3VtZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNDb25zdW1lckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3RyZWFtVHlwZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN0cmVhbVR5cGU6IHN0cmluZztcblx0LyoqIFRoZSBTdHJlYW1OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3RyZWFtTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENvbnN1bWVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbnN1bWVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENvbnN1bWVyQ3JlYXRpb25UaW1wc3RhbXAgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25zdW1lckNyZWF0aW9uVGltcHN0YW1wOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBrbXNLZXkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNLTVNLZXlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgS2V5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGtleUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEga21zS2V5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLaW5lc2lzS01TS2V5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBLZXlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGtleUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzdHJlYW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNTdHJlYW1Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU3RyZWFtTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3RyZWFtTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHN0cmVhbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2luZXNpc1N0cmVhbUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3RyZWFtTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN0cmVhbU5hbWU6IHN0cmluZztcbn1cblxuY29uc3QgQ2hhbm5lbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpraW5lc2lzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2hhbm5lbFxcLyg/PGNoYW5uZWxJZD5bXjovP10rKSQvO1xuY29uc3QgQ29uc3VtZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6a2luZXNpczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOig/PHN0cmVhbVR5cGU+W146Lz9dKylcXC8oPzxzdHJlYW1OYW1lPlteOi8/XSspXFwvY29uc3VtZXJcXC8oPzxjb25zdW1lck5hbWU+W146Lz9dKyk6KD88Y29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcD5bXjovP10rKSQvO1xuY29uc3QgS01TS2V5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmttczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmtleVxcLyg/PGtleUlkPlteOi8/XSspJC87XG5jb25zdCBTdHJlYW1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6a2luZXNpczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnN0cmVhbVxcLyg/PHN0cmVhbU5hbWU+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBraW5lc2lzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEtpbmVzaXNSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNoYW5uZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2hhbm5lbChwcm9wczogS2luZXNpc0NoYW5uZWxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06a2luZXNpczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjaGFubmVsLyR7cHJvcHMuY2hhbm5lbElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjaGFubmVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDaGFubmVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENoYW5uZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2hhbm5lbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDaGFubmVsQXJuKGFybjogc3RyaW5nKTogS2luZXNpc0NoYW5uZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENoYW5uZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2hhbm5lbCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjaGFubmVsSWQ6IG1hdGNoLmdyb3VwcyEuY2hhbm5lbElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbnN1bWVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbnN1bWVyKHByb3BzOiBLaW5lc2lzQ29uc3VtZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06a2luZXNpczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifToke3Byb3BzLnN0cmVhbVR5cGV9LyR7cHJvcHMuc3RyZWFtTmFtZX0vY29uc3VtZXIvJHtwcm9wcy5jb25zdW1lck5hbWV9OiR7cHJvcHMuY29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29uc3VtZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbnN1bWVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbnN1bWVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbnN1bWVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbnN1bWVyQXJuKGFybjogc3RyaW5nKTogS2luZXNpc0NvbnN1bWVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25zdW1lckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25zdW1lciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzdHJlYW1UeXBlOiBtYXRjaC5ncm91cHMhLnN0cmVhbVR5cGUsXG5cdFx0XHRzdHJlYW1OYW1lOiBtYXRjaC5ncm91cHMhLnN0cmVhbU5hbWUsXG5cdFx0XHRjb25zdW1lck5hbWU6IG1hdGNoLmdyb3VwcyEuY29uc3VtZXJOYW1lLFxuXHRcdFx0Y29uc3VtZXJDcmVhdGlvblRpbXBzdGFtcDogbWF0Y2guZ3JvdXBzIS5jb25zdW1lckNyZWF0aW9uVGltcHN0YW1wLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGttc0tleSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBrbXNLZXkocHJvcHM6IEtpbmVzaXNLTVNLZXlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06a21zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmtleS8ke3Byb3BzLmtleUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBrbXNLZXkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEtNU0tleUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBLTVNLZXlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEga21zS2V5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUtNU0tleUFybihhcm46IHN0cmluZyk6IEtpbmVzaXNLTVNLZXlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEtNU0tleUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBrbXNLZXkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0a2V5SWQ6IG1hdGNoLmdyb3VwcyEua2V5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3RyZWFtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHN0cmVhbShwcm9wczogS2luZXNpc1N0cmVhbUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpraW5lc2lzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN0cmVhbS8ke3Byb3BzLnN0cmVhbU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHN0cmVhbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU3RyZWFtQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFN0cmVhbUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzdHJlYW0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3RyZWFtQXJuKGFybjogc3RyaW5nKTogS2luZXNpc1N0cmVhbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU3RyZWFtQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN0cmVhbSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzdHJlYW1OYW1lOiBtYXRjaC5ncm91cHMhLnN0cmVhbU5hbWUsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3Iga2luZXNpcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEtpbmVzaXNPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkVGFnc1RvU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc1RvU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6QWRkVGFnc1RvU3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDaGFubmVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2hhbm5lbDogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkFzc29jaWF0ZVN0cmVhbXNXaXRoQ2hhbm5lbFwiLFxuXHRcdFwia2luZXNpczpDcmVhdGVDaGFubmVsXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImtpbmVzaXM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3RyZWFtOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6QWRkVGFnc1RvU3RyZWFtXCIsXG5cdFx0XCJraW5lc2lzOkNyZWF0ZVN0cmVhbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6RGVjcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNoYW5uZWw6IHN0cmluZ1tdID0gW1wia2luZXNpczpEZWxldGVDaGFubmVsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6RGVsZXRlU3RyZWFtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpEZXJlZ2lzdGVyU3RyZWFtQ29uc3VtZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY2NvdW50U2V0dGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRTZXR0aW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkRlc2NyaWJlQWNjb3VudFNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2hhbm5lbDogc3RyaW5nW10gPSBbXCJraW5lc2lzOkRlc2NyaWJlQ2hhbm5lbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMaW1pdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpbWl0czogc3RyaW5nW10gPSBbXCJraW5lc2lzOkRlc2NyaWJlTGltaXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6RGVzY3JpYmVTdHJlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU3RyZWFtQ29uc3VtZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0cmVhbUNvbnN1bWVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6RGVzY3JpYmVTdHJlYW1Db25zdW1lclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVN0cmVhbVN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVN0cmVhbVN1bW1hcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpEZXNjcmliZVN0cmVhbVN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYWJsZUVuaGFuY2VkTW9uaXRvcmluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVFbmhhbmNlZE1vbml0b3Jpbmc6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpEaXNhYmxlRW5oYW5jZWRNb25pdG9yaW5nXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZzogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOkVuYWJsZUVuaGFuY2VkTW9uaXRvcmluZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWNvcmRzOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6R2V0UmVjb3Jkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6R2V0UmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNoYXJkSXRlcmF0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNoYXJkSXRlcmF0b3I6IHN0cmluZ1tdID0gW1wia2luZXNpczpHZXRTaGFyZEl0ZXJhdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbmNyZWFzZVN0cmVhbVJldGVudGlvblBlcmlvZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlU3RyZWFtUmV0ZW50aW9uUGVyaW9kOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6SW5jcmVhc2VTdHJlYW1SZXRlbnRpb25QZXJpb2RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENoYW5uZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENoYW5uZWxzOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6TGlzdENoYW5uZWxzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2hhcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNoYXJkczogc3RyaW5nW10gPSBbXCJraW5lc2lzOkxpc3RTaGFyZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdHJlYW1Db25zdW1lcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RyZWFtQ29uc3VtZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6TGlzdFN0cmVhbUNvbnN1bWVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3RyZWFtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdHJlYW1zOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6TGlzdFN0cmVhbXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclN0cmVhbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yU3RyZWFtOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6TGlzdFRhZ3NGb3JTdHJlYW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1lcmdlU2hhcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWVyZ2VTaGFyZHM6IHN0cmluZ1tdID0gW1wia2luZXNpczpNZXJnZVNoYXJkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVjb3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3JkOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6UHV0UmVjb3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVjb3Jkczogc3RyaW5nW10gPSBbXCJraW5lc2lzOlB1dFJlY29yZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1wia2luZXNpczpQdXRSZXNvdXJjZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJTdHJlYW1Db25zdW1lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyU3RyZWFtQ29uc3VtZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpSZWdpc3RlclN0cmVhbUNvbnN1bWVyXCIsXG5cdFx0XCJraW5lc2lzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbW92ZVRhZ3NGcm9tU3RyZWFtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVGFnc0Zyb21TdHJlYW06IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpSZW1vdmVUYWdzRnJvbVN0cmVhbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTcGxpdFNoYXJkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3BsaXRTaGFyZDogc3RyaW5nW10gPSBbXCJraW5lc2lzOlNwbGl0U2hhcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0U3RyZWFtRW5jcnlwdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U3RyZWFtRW5jcnlwdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJraW5lc2lzOlN0YXJ0U3RyZWFtRW5jcnlwdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wU3RyZWFtRW5jcnlwdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTdHJlYW1FbmNyeXB0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6U3RvcFN0cmVhbUVuY3J5cHRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3Vic2NyaWJlVG9TaGFyZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1YnNjcmliZVRvU2hhcmQ6IHN0cmluZ1tdID0gW1wia2luZXNpczpTdWJzY3JpYmVUb1NoYXJkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWNjb3VudFNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWNjb3VudFNldHRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6VXBkYXRlQWNjb3VudFNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNoYW5uZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDaGFubmVsOiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6VXBkYXRlQ2hhbm5lbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWF4UmVjb3JkU2l6ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1heFJlY29yZFNpemU6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpVcGRhdGVNYXhSZWNvcmRTaXplXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNoYXJkQ291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTaGFyZENvdW50OiBzdHJpbmdbXSA9IFtcImtpbmVzaXM6VXBkYXRlU2hhcmRDb3VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU3RyZWFtTW9kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN0cmVhbU1vZGU6IHN0cmluZ1tdID0gW1wia2luZXNpczpVcGRhdGVTdHJlYW1Nb2RlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTdHJlYW1XYXJtVGhyb3VnaHB1dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN0cmVhbVdhcm1UaHJvdWdocHV0OiBzdHJpbmdbXSA9IFtcblx0XHRcImtpbmVzaXM6VXBkYXRlU3RyZWFtV2FybVRocm91Z2hwdXRcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGtpbmVzaXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBLaW5lc2lzQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbmplY3RBcGlFcnJvciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbmplY3RBcGlFcnJvckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwia2luZXNpczpGaXNBY3Rpb25JZFwiLFxuXHRcdFwia2luZXNpczpGaXNJbmplY3RQZXJjZW50YWdlXCIsXG5cdFx0XCJraW5lc2lzOkZpc1RhcmdldEFybnNcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBraW5lc2lzOkZpc0FjdGlvbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGSVNfQUNUSU9OX0lEID0gXCJraW5lc2lzOkZpc0FjdGlvbklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBraW5lc2lzOkZpc0luamVjdFBlcmNlbnRhZ2UgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBGSVNfSU5KRUNUX1BFUkNFTlRBR0UgPSBcImtpbmVzaXM6RmlzSW5qZWN0UGVyY2VudGFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleToga2luZXNpczpGaXNUYXJnZXRBcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRklTX1RBUkdFVF9BUk5TID0gXCJraW5lc2lzOkZpc1RhcmdldEFybnNcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBga2luZXNpczpGaXNBY3Rpb25JZGAuXG5cdCAqL1xuXHRzdGF0aWMgZmlzQWN0aW9uSWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJraW5lc2lzOkZpc0FjdGlvbklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBraW5lc2lzOkZpc0luamVjdFBlcmNlbnRhZ2VgLlxuXHQgKi9cblx0c3RhdGljIGZpc0luamVjdFBlcmNlbnRhZ2UoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJraW5lc2lzOkZpc0luamVjdFBlcmNlbnRhZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGtpbmVzaXM6RmlzVGFyZ2V0QXJuc2AuXG5cdCAqL1xuXHRzdGF0aWMgZmlzVGFyZ2V0QXJucyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjogeyBcImtpbmVzaXM6RmlzVGFyZ2V0QXJuc1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
|
|
@@ -16,7 +16,7 @@ class KinesisanalyticsActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.KinesisanalyticsActions = KinesisanalyticsActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
KinesisanalyticsActions[_a] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsActions", version: "1.
|
|
19
|
+
KinesisanalyticsActions[_a] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsActions", version: "1.16.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
KinesisanalyticsActions.SERVICE_PREFIX = "kinesisanalytics";
|
|
22
22
|
/** [Write] kinesisanalytics:AddApplicationCloudWatchLoggingOption */
|
|
@@ -171,7 +171,7 @@ class KinesisanalyticsResources {
|
|
|
171
171
|
}
|
|
172
172
|
exports.KinesisanalyticsResources = KinesisanalyticsResources;
|
|
173
173
|
_b = JSII_RTTI_SYMBOL_1;
|
|
174
|
-
KinesisanalyticsResources[_b] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsResources", version: "1.
|
|
174
|
+
KinesisanalyticsResources[_b] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsResources", version: "1.16.0" };
|
|
175
175
|
/**
|
|
176
176
|
* API operation to required IAM actions mapping for kinesisanalytics.
|
|
177
177
|
*/
|
|
@@ -179,7 +179,7 @@ class KinesisanalyticsOperations {
|
|
|
179
179
|
}
|
|
180
180
|
exports.KinesisanalyticsOperations = KinesisanalyticsOperations;
|
|
181
181
|
_c = JSII_RTTI_SYMBOL_1;
|
|
182
|
-
KinesisanalyticsOperations[_c] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsOperations", version: "1.
|
|
182
|
+
KinesisanalyticsOperations[_c] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsOperations", version: "1.16.0" };
|
|
183
183
|
/** IAM actions required for the AddApplicationCloudWatchLoggingOption API call. */
|
|
184
184
|
KinesisanalyticsOperations.AddApplicationCloudWatchLoggingOption = [
|
|
185
185
|
"kinesisanalytics:AddApplicationCloudWatchLoggingOption",
|
|
@@ -339,7 +339,7 @@ class KinesisanalyticsConditions {
|
|
|
339
339
|
}
|
|
340
340
|
exports.KinesisanalyticsConditions = KinesisanalyticsConditions;
|
|
341
341
|
_d = JSII_RTTI_SYMBOL_1;
|
|
342
|
-
KinesisanalyticsConditions[_d] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsConditions", version: "1.
|
|
342
|
+
KinesisanalyticsConditions[_d] = { fqn: "@cdk_utils/iam.kinesisanalytics.KinesisanalyticsConditions", version: "1.16.0" };
|
|
343
343
|
/** Condition keys applicable to the CreateApplication action. */
|
|
344
344
|
KinesisanalyticsConditions.CreateApplicationConditionKeys = [
|
|
345
345
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class KinesisvideoActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.KinesisvideoActions = KinesisvideoActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
KinesisvideoActions[_a] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoActions", version: "1.
|
|
19
|
+
KinesisvideoActions[_a] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoActions", version: "1.16.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
KinesisvideoActions.SERVICE_PREFIX = "kinesisvideo";
|
|
22
22
|
/** [Write] kinesisvideo:ConnectAsMaster */
|
|
@@ -238,7 +238,7 @@ class KinesisvideoResources {
|
|
|
238
238
|
}
|
|
239
239
|
exports.KinesisvideoResources = KinesisvideoResources;
|
|
240
240
|
_b = JSII_RTTI_SYMBOL_1;
|
|
241
|
-
KinesisvideoResources[_b] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoResources", version: "1.
|
|
241
|
+
KinesisvideoResources[_b] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoResources", version: "1.16.0" };
|
|
242
242
|
/**
|
|
243
243
|
* API operation to required IAM actions mapping for kinesisvideo.
|
|
244
244
|
*/
|
|
@@ -246,7 +246,7 @@ class KinesisvideoOperations {
|
|
|
246
246
|
}
|
|
247
247
|
exports.KinesisvideoOperations = KinesisvideoOperations;
|
|
248
248
|
_c = JSII_RTTI_SYMBOL_1;
|
|
249
|
-
KinesisvideoOperations[_c] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoOperations", version: "1.
|
|
249
|
+
KinesisvideoOperations[_c] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoOperations", version: "1.16.0" };
|
|
250
250
|
/** IAM actions required for the CreateSignalingChannel API call. */
|
|
251
251
|
KinesisvideoOperations.CreateSignalingChannel = [
|
|
252
252
|
"kinesisvideo:CreateSignalingChannel",
|
|
@@ -422,7 +422,7 @@ class KinesisvideoConditions {
|
|
|
422
422
|
}
|
|
423
423
|
exports.KinesisvideoConditions = KinesisvideoConditions;
|
|
424
424
|
_d = JSII_RTTI_SYMBOL_1;
|
|
425
|
-
KinesisvideoConditions[_d] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoConditions", version: "1.
|
|
425
|
+
KinesisvideoConditions[_d] = { fqn: "@cdk_utils/iam.kinesisvideo.KinesisvideoConditions", version: "1.16.0" };
|
|
426
426
|
/** Condition keys applicable to the CreateSignalingChannel action. */
|
|
427
427
|
KinesisvideoConditions.CreateSignalingChannelConditionKeys = [
|
|
428
428
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class KMSActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.KMSActions = KMSActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
KMSActions[_a] = { fqn: "@cdk_utils/iam.kms.KMSActions", version: "1.
|
|
19
|
+
KMSActions[_a] = { fqn: "@cdk_utils/iam.kms.KMSActions", version: "1.16.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
KMSActions.SERVICE_PREFIX = "kms";
|
|
22
22
|
/** [Write] kms:CancelKeyDeletion */
|
|
@@ -267,7 +267,7 @@ class KMSResources {
|
|
|
267
267
|
}
|
|
268
268
|
exports.KMSResources = KMSResources;
|
|
269
269
|
_b = JSII_RTTI_SYMBOL_1;
|
|
270
|
-
KMSResources[_b] = { fqn: "@cdk_utils/iam.kms.KMSResources", version: "1.
|
|
270
|
+
KMSResources[_b] = { fqn: "@cdk_utils/iam.kms.KMSResources", version: "1.16.0" };
|
|
271
271
|
/**
|
|
272
272
|
* API operation to required IAM actions mapping for kms.
|
|
273
273
|
*/
|
|
@@ -275,7 +275,7 @@ class KMSOperations {
|
|
|
275
275
|
}
|
|
276
276
|
exports.KMSOperations = KMSOperations;
|
|
277
277
|
_c = JSII_RTTI_SYMBOL_1;
|
|
278
|
-
KMSOperations[_c] = { fqn: "@cdk_utils/iam.kms.KMSOperations", version: "1.
|
|
278
|
+
KMSOperations[_c] = { fqn: "@cdk_utils/iam.kms.KMSOperations", version: "1.16.0" };
|
|
279
279
|
/** IAM actions required for the CancelKeyDeletion API call. */
|
|
280
280
|
KMSOperations.CancelKeyDeletion = ["kms:CancelKeyDeletion"];
|
|
281
281
|
/** IAM actions required for the ConnectCustomKeyStore API call. */
|
|
@@ -1036,7 +1036,7 @@ class KMSConditions {
|
|
|
1036
1036
|
}
|
|
1037
1037
|
exports.KMSConditions = KMSConditions;
|
|
1038
1038
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1039
|
-
KMSConditions[_d] = { fqn: "@cdk_utils/iam.kms.KMSConditions", version: "1.
|
|
1039
|
+
KMSConditions[_d] = { fqn: "@cdk_utils/iam.kms.KMSConditions", version: "1.16.0" };
|
|
1040
1040
|
/** Condition keys applicable to the CancelKeyDeletion action. */
|
|
1041
1041
|
KMSConditions.CancelKeyDeletionConditionKeys = [
|
|
1042
1042
|
"kms:CallerAccount",
|
|
@@ -16,7 +16,7 @@ class LakeFormationActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.LakeFormationActions = LakeFormationActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
LakeFormationActions[_a] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationActions", version: "1.
|
|
19
|
+
LakeFormationActions[_a] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationActions", version: "1.16.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
LakeFormationActions.SERVICE_PREFIX = "lakeformation";
|
|
22
22
|
/** [Tagging] lakeformation:AddLFTagsToResource */
|
|
@@ -224,7 +224,7 @@ class LakeFormationOperations {
|
|
|
224
224
|
}
|
|
225
225
|
exports.LakeFormationOperations = LakeFormationOperations;
|
|
226
226
|
_b = JSII_RTTI_SYMBOL_1;
|
|
227
|
-
LakeFormationOperations[_b] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationOperations", version: "1.
|
|
227
|
+
LakeFormationOperations[_b] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationOperations", version: "1.16.0" };
|
|
228
228
|
/** IAM actions required for the AddLFTagsToResource API call. */
|
|
229
229
|
LakeFormationOperations.AddLFTagsToResource = [];
|
|
230
230
|
/** IAM actions required for the AssumeDecoratedRoleWithSAML API call. */
|
|
@@ -414,7 +414,7 @@ class LakeFormationConditions {
|
|
|
414
414
|
}
|
|
415
415
|
exports.LakeFormationConditions = LakeFormationConditions;
|
|
416
416
|
_c = JSII_RTTI_SYMBOL_1;
|
|
417
|
-
LakeFormationConditions[_c] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationConditions", version: "1.
|
|
417
|
+
LakeFormationConditions[_c] = { fqn: "@cdk_utils/iam.lakeformation.LakeFormationConditions", version: "1.16.0" };
|
|
418
418
|
/** Condition keys applicable to the GetDataAccess action. */
|
|
419
419
|
LakeFormationConditions.actionGetDataAccessConditionKeys = [
|
|
420
420
|
"lakeformation:EnabledOnlyForMetaDataAccess",
|
|
@@ -16,7 +16,7 @@ class LambdaActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.LambdaActions = LambdaActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
LambdaActions[_a] = { fqn: "@cdk_utils/iam.lambda.LambdaActions", version: "1.
|
|
19
|
+
LambdaActions[_a] = { fqn: "@cdk_utils/iam.lambda.LambdaActions", version: "1.16.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
LambdaActions.SERVICE_PREFIX = "lambda";
|
|
22
22
|
/** [PermissionManagement] lambda:AddLayerVersionPermission */
|
|
@@ -723,7 +723,7 @@ class LambdaResources {
|
|
|
723
723
|
}
|
|
724
724
|
exports.LambdaResources = LambdaResources;
|
|
725
725
|
_b = JSII_RTTI_SYMBOL_1;
|
|
726
|
-
LambdaResources[_b] = { fqn: "@cdk_utils/iam.lambda.LambdaResources", version: "1.
|
|
726
|
+
LambdaResources[_b] = { fqn: "@cdk_utils/iam.lambda.LambdaResources", version: "1.16.0" };
|
|
727
727
|
/**
|
|
728
728
|
* API operation to required IAM actions mapping for lambda.
|
|
729
729
|
*/
|
|
@@ -731,7 +731,7 @@ class LambdaOperations {
|
|
|
731
731
|
}
|
|
732
732
|
exports.LambdaOperations = LambdaOperations;
|
|
733
733
|
_c = JSII_RTTI_SYMBOL_1;
|
|
734
|
-
LambdaOperations[_c] = { fqn: "@cdk_utils/iam.lambda.LambdaOperations", version: "1.
|
|
734
|
+
LambdaOperations[_c] = { fqn: "@cdk_utils/iam.lambda.LambdaOperations", version: "1.16.0" };
|
|
735
735
|
/** IAM actions required for the AddEventSource API call. */
|
|
736
736
|
LambdaOperations.AddEventSource = ["iam:PassRole"];
|
|
737
737
|
/** IAM actions required for the AddLayerVersionPermission API call. */
|
|
@@ -1257,7 +1257,7 @@ class LambdaConditions {
|
|
|
1257
1257
|
}
|
|
1258
1258
|
exports.LambdaConditions = LambdaConditions;
|
|
1259
1259
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1260
|
-
LambdaConditions[_d] = { fqn: "@cdk_utils/iam.lambda.LambdaConditions", version: "1.
|
|
1260
|
+
LambdaConditions[_d] = { fqn: "@cdk_utils/iam.lambda.LambdaConditions", version: "1.16.0" };
|
|
1261
1261
|
/** Condition keys applicable to the AddPermission action. */
|
|
1262
1262
|
LambdaConditions.AddPermissionConditionKeys = [
|
|
1263
1263
|
"lambda:FunctionUrlAuthType",
|
|
@@ -16,7 +16,7 @@ class LaunchwizardActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.LaunchwizardActions = LaunchwizardActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
LaunchwizardActions[_a] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardActions", version: "1.
|
|
19
|
+
LaunchwizardActions[_a] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardActions", version: "1.16.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
LaunchwizardActions.SERVICE_PREFIX = "launchwizard";
|
|
22
22
|
/** [Write] launchwizard:CreateAdditionalNode */
|
|
@@ -189,7 +189,7 @@ class LaunchwizardResources {
|
|
|
189
189
|
}
|
|
190
190
|
exports.LaunchwizardResources = LaunchwizardResources;
|
|
191
191
|
_b = JSII_RTTI_SYMBOL_1;
|
|
192
|
-
LaunchwizardResources[_b] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardResources", version: "1.
|
|
192
|
+
LaunchwizardResources[_b] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardResources", version: "1.16.0" };
|
|
193
193
|
/**
|
|
194
194
|
* API operation to required IAM actions mapping for launchwizard.
|
|
195
195
|
*/
|
|
@@ -197,7 +197,7 @@ class LaunchwizardOperations {
|
|
|
197
197
|
}
|
|
198
198
|
exports.LaunchwizardOperations = LaunchwizardOperations;
|
|
199
199
|
_c = JSII_RTTI_SYMBOL_1;
|
|
200
|
-
LaunchwizardOperations[_c] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardOperations", version: "1.
|
|
200
|
+
LaunchwizardOperations[_c] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardOperations", version: "1.16.0" };
|
|
201
201
|
/** IAM actions required for the CreateDeployment API call. */
|
|
202
202
|
LaunchwizardOperations.CreateDeployment = [
|
|
203
203
|
"launchwizard:CreateDeployment",
|
|
@@ -272,7 +272,7 @@ class LaunchwizardConditions {
|
|
|
272
272
|
}
|
|
273
273
|
exports.LaunchwizardConditions = LaunchwizardConditions;
|
|
274
274
|
_d = JSII_RTTI_SYMBOL_1;
|
|
275
|
-
LaunchwizardConditions[_d] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardConditions", version: "1.
|
|
275
|
+
LaunchwizardConditions[_d] = { fqn: "@cdk_utils/iam.launchwizard.LaunchwizardConditions", version: "1.16.0" };
|
|
276
276
|
/** Condition key: aws:RequestTag/${TagKey} (String) */
|
|
277
277
|
LaunchwizardConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
|
|
278
278
|
/** Condition key: aws:ResourceTag/${TagKey} (String) */
|