@cdk_utils/iam 1.16.0 → 1.17.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 +1932 -1502
- 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.js +4 -4
- 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.js +4 -4
- 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.js +4 -4
- 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.js +8 -6
- 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 +4 -4
- 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.js +4 -4
- 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.js +4 -4
- 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.d.ts +2 -0
- package/lib/generated/services/odb.js +7 -5
- 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.d.ts +55 -0
- package/lib/generated/services/quicksight.js +58 -5
- 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.d.ts +2 -0
- package/lib/generated/services/sagemaker.js +7 -5
- 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.js +4 -4
- 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,7 +16,7 @@ class GuardDutyActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.GuardDutyActions = GuardDutyActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
GuardDutyActions[_a] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyActions", version: "1.
|
|
19
|
+
GuardDutyActions[_a] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyActions", version: "1.17.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
GuardDutyActions.SERVICE_PREFIX = "guardduty";
|
|
22
22
|
/** [Write] guardduty:AcceptAdministratorInvitation */
|
|
@@ -646,7 +646,7 @@ class GuardDutyResources {
|
|
|
646
646
|
}
|
|
647
647
|
exports.GuardDutyResources = GuardDutyResources;
|
|
648
648
|
_b = JSII_RTTI_SYMBOL_1;
|
|
649
|
-
GuardDutyResources[_b] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyResources", version: "1.
|
|
649
|
+
GuardDutyResources[_b] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyResources", version: "1.17.0" };
|
|
650
650
|
/**
|
|
651
651
|
* API operation to required IAM actions mapping for guardduty.
|
|
652
652
|
*/
|
|
@@ -654,7 +654,7 @@ class GuardDutyOperations {
|
|
|
654
654
|
}
|
|
655
655
|
exports.GuardDutyOperations = GuardDutyOperations;
|
|
656
656
|
_c = JSII_RTTI_SYMBOL_1;
|
|
657
|
-
GuardDutyOperations[_c] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyOperations", version: "1.
|
|
657
|
+
GuardDutyOperations[_c] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyOperations", version: "1.17.0" };
|
|
658
658
|
/** IAM actions required for the AcceptAdministratorInvitation API call. */
|
|
659
659
|
GuardDutyOperations.AcceptAdministratorInvitation = [
|
|
660
660
|
"guardduty:AcceptAdministratorInvitation",
|
|
@@ -967,7 +967,9 @@ GuardDutyOperations.UpdateCustomDetectionRuleAssociation = [
|
|
|
967
967
|
"guardduty:UpdateCustomDetectionRuleAssociation",
|
|
968
968
|
];
|
|
969
969
|
/** IAM actions required for the UpdateCustomDetectionRuleOrgConfiguration API call. */
|
|
970
|
-
GuardDutyOperations.UpdateCustomDetectionRuleOrgConfiguration = [
|
|
970
|
+
GuardDutyOperations.UpdateCustomDetectionRuleOrgConfiguration = [
|
|
971
|
+
"guardduty:UpdateCustomDetectionRuleOrgConfiguration",
|
|
972
|
+
];
|
|
971
973
|
/** IAM actions required for the UpdateDetector API call. */
|
|
972
974
|
GuardDutyOperations.UpdateDetector = ["guardduty:UpdateDetector"];
|
|
973
975
|
/** IAM actions required for the UpdateFilter API call. */
|
|
@@ -1036,7 +1038,7 @@ class GuardDutyConditions {
|
|
|
1036
1038
|
}
|
|
1037
1039
|
exports.GuardDutyConditions = GuardDutyConditions;
|
|
1038
1040
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1039
|
-
GuardDutyConditions[_d] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyConditions", version: "1.
|
|
1041
|
+
GuardDutyConditions[_d] = { fqn: "@cdk_utils/iam.guardduty.GuardDutyConditions", version: "1.17.0" };
|
|
1040
1042
|
/** Condition keys applicable to the CreateCustomDetectionRuleAssociation action. */
|
|
1041
1043
|
GuardDutyConditions.CreateCustomDetectionRuleAssociationConditionKeys = ["aws:RequestTag/${TagKey}", "aws:TagKeys"];
|
|
1042
1044
|
/** Condition keys applicable to the CreateDetector action. */
|
|
@@ -1097,4 +1099,4 @@ GuardDutyConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
|
|
|
1097
1099
|
GuardDutyConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
|
|
1098
1100
|
/** Condition key: aws:TagKeys (ArrayOfString) */
|
|
1099
1101
|
GuardDutyConditions.AWS_TAG_KEYS = "aws:TagKeys";
|
|
1100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmRkdXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9ndWFyZGR1dHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCOztBQUE3Qiw0Q0E2V0M7OztBQTVXQSw4QkFBOEI7QUFDZCwrQkFBYyxHQUFHLFdBQVcsQ0FBQztBQUU3QyxzREFBc0Q7QUFDdEMsOENBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHlDQUF5QztBQUN6QixpQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCw2REFBNkQ7QUFDN0MscURBQW9DLEdBQ25ELGdEQUFnRCxDQUFDO0FBQ2xELGtFQUFrRTtBQUNsRCwwREFBeUMsR0FDeEQscURBQXFELENBQUM7QUFDdkQsdUNBQXVDO0FBQ3ZCLCtCQUFjLEdBQUcsMEJBQTBCLENBQUM7QUFDNUQscUNBQXFDO0FBQ3JCLDZCQUFZLEdBQUcsd0JBQXdCLENBQUM7QUFDeEQsb0NBQW9DO0FBQ3BCLDRCQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQsNENBQTRDO0FBQzVCLG9DQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLG9EQUFvRDtBQUNwQyw0Q0FBMkIsR0FDMUMsdUNBQXVDLENBQUM7QUFDekMsc0NBQXNDO0FBQ3RCLDhCQUFhLEdBQUcseUJBQXlCLENBQUM7QUFDMUQsb0RBQW9EO0FBQ3BDLDRDQUEyQixHQUMxQyx1Q0FBdUMsQ0FBQztBQUN6Qyw2Q0FBNkM7QUFDN0IscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsOENBQThDO0FBQzlCLHNDQUFxQixHQUFHLGlDQUFpQyxDQUFD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O0NBQ2IsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCxzREFBa0MsR0FBYTtJQUM5RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixvRUFBb0U7QUFDcEQscURBQWlDLEdBQWE7SUFDN0QsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELHVEQUFtQyxHQUFhO0lBQy9ELDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsNENBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLDhDQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsdURBQXVEO0FBQ3ZDLG1DQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLG9DQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQyxnQ0FBWSxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2d1YXJkZHV0eS5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgZ3VhcmRkdXR5IHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBHdWFyZER1dHlBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiZ3VhcmRkdXR5XCI7XG5cblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkFjY2VwdEFkbWluaXN0cmF0b3JJbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRBZG1pbmlzdHJhdG9ySW52aXRhdGlvbiA9XG5cdFx0XCJndWFyZGR1dHk6QWNjZXB0QWRtaW5pc3RyYXRvckludml0YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkFjY2VwdEludml0YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdEludml0YXRpb24gPSBcImd1YXJkZHV0eTpBY2NlcHRJbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpBcmNoaXZlRmluZGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFyY2hpdmVGaW5kaW5ncyA9IFwiZ3VhcmRkdXR5OkFyY2hpdmVGaW5kaW5nc1wiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6Q3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb24gPVxuXHRcdFwiZ3VhcmRkdXR5OkNyZWF0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6Q3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uID1cblx0XHRcImd1YXJkZHV0eTpDcmVhdGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6Q3JlYXRlRGV0ZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldGVjdG9yID0gXCJndWFyZGR1dHk6Q3JlYXRlRGV0ZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkNyZWF0ZUZpbHRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmlsdGVyID0gXCJndWFyZGR1dHk6Q3JlYXRlRmlsdGVyXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpDcmVhdGVJUFNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSVBTZXQgPSBcImd1YXJkZHV0eTpDcmVhdGVJUFNldFwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6Q3JlYXRlSW52ZXN0aWdhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW52ZXN0aWdhdGlvbiA9IFwiZ3VhcmRkdXR5OkNyZWF0ZUludmVzdGlnYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkNyZWF0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuID1cblx0XHRcImd1YXJkZHV0eTpDcmVhdGVNYWx3YXJlUHJvdGVjdGlvblBsYW5cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkNyZWF0ZU1lbWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1lbWJlcnMgPSBcImd1YXJkZHV0eTpDcmVhdGVNZW1iZXJzXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpDcmVhdGVQdWJsaXNoaW5nRGVzdGluYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbiA9XG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpDcmVhdGVTYW1wbGVGaW5kaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2FtcGxlRmluZGluZ3MgPSBcImd1YXJkZHV0eTpDcmVhdGVTYW1wbGVGaW5kaW5nc1wiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6Q3JlYXRlVGhyZWF0RW50aXR5U2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUaHJlYXRFbnRpdHlTZXQgPSBcImd1YXJkZHV0eTpDcmVhdGVUaHJlYXRFbnRpdHlTZXRcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkNyZWF0ZVRocmVhdEludGVsU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUaHJlYXRJbnRlbFNldCA9IFwiZ3VhcmRkdXR5OkNyZWF0ZVRocmVhdEludGVsU2V0XCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpDcmVhdGVUcnVzdGVkRW50aXR5U2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcnVzdGVkRW50aXR5U2V0ID0gXCJndWFyZGR1dHk6Q3JlYXRlVHJ1c3RlZEVudGl0eVNldFwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6RGVjbGluZUludml0YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNsaW5lSW52aXRhdGlvbnMgPSBcImd1YXJkZHV0eTpEZWNsaW5lSW52aXRhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRlbGV0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uID1cblx0XHRcImd1YXJkZHV0eTpEZWxldGVDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRlbGV0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJndWFyZGR1dHk6RGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRlbGV0ZURldGVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEZXRlY3RvciA9IFwiZ3VhcmRkdXR5OkRlbGV0ZURldGVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEZWxldGVGaWx0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZpbHRlciA9IFwiZ3VhcmRkdXR5OkRlbGV0ZUZpbHRlclwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6RGVsZXRlSVBTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUlQU2V0ID0gXCJndWFyZGR1dHk6RGVsZXRlSVBTZXRcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRlbGV0ZUludml0YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnZpdGF0aW9ucyA9IFwiZ3VhcmRkdXR5OkRlbGV0ZUludml0YXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEZWxldGVNYWx3YXJlUHJvdGVjdGlvblBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhbiA9XG5cdFx0XCJndWFyZGR1dHk6RGVsZXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEZWxldGVNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZW1iZXJzID0gXCJndWFyZGR1dHk6RGVsZXRlTWVtYmVyc1wiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6RGVsZXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQdWJsaXNoaW5nRGVzdGluYXRpb24gPVxuXHRcdFwiZ3VhcmRkdXR5OkRlbGV0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6RGVsZXRlVGhyZWF0RW50aXR5U2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUaHJlYXRFbnRpdHlTZXQgPSBcImd1YXJkZHV0eTpEZWxldGVUaHJlYXRFbnRpdHlTZXRcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRlbGV0ZVRocmVhdEludGVsU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUaHJlYXRJbnRlbFNldCA9IFwiZ3VhcmRkdXR5OkRlbGV0ZVRocmVhdEludGVsU2V0XCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEZWxldGVUcnVzdGVkRW50aXR5U2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcnVzdGVkRW50aXR5U2V0ID0gXCJndWFyZGR1dHk6RGVsZXRlVHJ1c3RlZEVudGl0eVNldFwiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpEZXNjcmliZU1hbHdhcmVTY2FucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWx3YXJlU2NhbnMgPSBcImd1YXJkZHV0eTpEZXNjcmliZU1hbHdhcmVTY2Fuc1wiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJndWFyZGR1dHk6RGVzY3JpYmVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkRlc2NyaWJlUHVibGlzaGluZ0Rlc3RpbmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbiA9XG5cdFx0XCJndWFyZGR1dHk6RGVzY3JpYmVQdWJsaXNoaW5nRGVzdGluYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRpc2FibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQgPVxuXHRcdFwiZ3VhcmRkdXR5OkRpc2FibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnRcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRpc2Fzc29jaWF0ZUZyb21BZG1pbmlzdHJhdG9yQWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlRnJvbUFkbWluaXN0cmF0b3JBY2NvdW50ID1cblx0XHRcImd1YXJkZHV0eTpEaXNhc3NvY2lhdGVGcm9tQWRtaW5pc3RyYXRvckFjY291bnRcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRpc2Fzc29jaWF0ZUZyb21NYXN0ZXJBY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVGcm9tTWFzdGVyQWNjb3VudCA9XG5cdFx0XCJndWFyZGR1dHk6RGlzYXNzb2NpYXRlRnJvbU1hc3RlckFjY291bnRcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRpc2Fzc29jaWF0ZU1lbWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU1lbWJlcnMgPSBcImd1YXJkZHV0eTpEaXNhc3NvY2lhdGVNZW1iZXJzXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpFbmFibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudCA9XG5cdFx0XCJndWFyZGR1dHk6RW5hYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50XCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldEFkbWluaXN0cmF0b3JBY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZG1pbmlzdHJhdG9yQWNjb3VudCA9XG5cdFx0XCJndWFyZGR1dHk6R2V0QWRtaW5pc3RyYXRvckFjY291bnRcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0Q292ZXJhZ2VTdGF0aXN0aWNzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb3ZlcmFnZVN0YXRpc3RpY3MgPVxuXHRcdFwiZ3VhcmRkdXR5OkdldENvdmVyYWdlU3RhdGlzdGljc1wiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRDdXN0b21EZXRlY3Rpb25SdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDdXN0b21EZXRlY3Rpb25SdWxlID1cblx0XHRcImd1YXJkZHV0eTpHZXRDdXN0b21EZXRlY3Rpb25SdWxlXCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldEN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uID1cblx0XHRcImd1YXJkZHV0eTpHZXRDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uID1cblx0XHRcImd1YXJkZHV0eTpHZXRDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXREZXRlY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGV0ZWN0b3IgPSBcImd1YXJkZHV0eTpHZXREZXRlY3RvclwiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRGaWx0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZpbHRlciA9IFwiZ3VhcmRkdXR5OkdldEZpbHRlclwiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRGaW5kaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmluZGluZ3MgPSBcImd1YXJkZHV0eTpHZXRGaW5kaW5nc1wiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRGaW5kaW5nc1N0YXRpc3RpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZpbmRpbmdzU3RhdGlzdGljcyA9XG5cdFx0XCJndWFyZGR1dHk6R2V0RmluZGluZ3NTdGF0aXN0aWNzXCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldElQU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJUFNldCA9IFwiZ3VhcmRkdXR5OkdldElQU2V0XCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldEludmVzdGlnYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEludmVzdGlnYXRpb24gPSBcImd1YXJkZHV0eTpHZXRJbnZlc3RpZ2F0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldEludml0YXRpb25zQ291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEludml0YXRpb25zQ291bnQgPSBcImd1YXJkZHV0eTpHZXRJbnZpdGF0aW9uc0NvdW50XCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldE1hbHdhcmVQcm90ZWN0aW9uUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFsd2FyZVByb3RlY3Rpb25QbGFuID1cblx0XHRcImd1YXJkZHV0eTpHZXRNYWx3YXJlUHJvdGVjdGlvblBsYW5cIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0TWFsd2FyZVNjYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hbHdhcmVTY2FuID0gXCJndWFyZGR1dHk6R2V0TWFsd2FyZVNjYW5cIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0TWFsd2FyZVNjYW5TZXR0aW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFsd2FyZVNjYW5TZXR0aW5ncyA9XG5cdFx0XCJndWFyZGR1dHk6R2V0TWFsd2FyZVNjYW5TZXR0aW5nc1wiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRNYXN0ZXJBY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXN0ZXJBY2NvdW50ID0gXCJndWFyZGR1dHk6R2V0TWFzdGVyQWNjb3VudFwiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRNZW1iZXJEZXRlY3RvcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1lbWJlckRldGVjdG9ycyA9IFwiZ3VhcmRkdXR5OkdldE1lbWJlckRldGVjdG9yc1wiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNZW1iZXJzID0gXCJndWFyZGR1dHk6R2V0TWVtYmVyc1wiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRPcmdhbml6YXRpb25TdGF0aXN0aWNzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcmdhbml6YXRpb25TdGF0aXN0aWNzID1cblx0XHRcImd1YXJkZHV0eTpHZXRPcmdhbml6YXRpb25TdGF0aXN0aWNzXCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldFJlbWFpbmluZ0ZyZWVUcmlhbERheXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbWFpbmluZ0ZyZWVUcmlhbERheXMgPVxuXHRcdFwiZ3VhcmRkdXR5OkdldFJlbWFpbmluZ0ZyZWVUcmlhbERheXNcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0VGhyZWF0RW50aXR5U2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUaHJlYXRFbnRpdHlTZXQgPSBcImd1YXJkZHV0eTpHZXRUaHJlYXRFbnRpdHlTZXRcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0VGhyZWF0SW50ZWxTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRocmVhdEludGVsU2V0ID0gXCJndWFyZGR1dHk6R2V0VGhyZWF0SW50ZWxTZXRcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0VHJ1c3RlZEVudGl0eVNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VHJ1c3RlZEVudGl0eVNldCA9IFwiZ3VhcmRkdXR5OkdldFRydXN0ZWRFbnRpdHlTZXRcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0VXNhZ2VTdGF0aXN0aWNzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRVc2FnZVN0YXRpc3RpY3MgPSBcImd1YXJkZHV0eTpHZXRVc2FnZVN0YXRpc3RpY3NcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5Okludml0ZU1lbWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludml0ZU1lbWJlcnMgPSBcImd1YXJkZHV0eTpJbnZpdGVNZW1iZXJzXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RDb3ZlcmFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvdmVyYWdlID0gXCJndWFyZGR1dHk6TGlzdENvdmVyYWdlXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9ucyA9XG5cdFx0XCJndWFyZGR1dHk6TGlzdEN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBndWFyZGR1dHk6TGlzdEN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9ucyA9XG5cdFx0XCJndWFyZGR1dHk6TGlzdEN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0Q3VzdG9tRGV0ZWN0aW9uUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21EZXRlY3Rpb25SdWxlcyA9XG5cdFx0XCJndWFyZGR1dHk6TGlzdEN1c3RvbURldGVjdGlvblJ1bGVzXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3REZXRlY3RvcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXRlY3RvcnMgPSBcImd1YXJkZHV0eTpMaXN0RGV0ZWN0b3JzXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RGaWx0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmlsdGVycyA9IFwiZ3VhcmRkdXR5Okxpc3RGaWx0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RGaW5kaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZpbmRpbmdzID0gXCJndWFyZGR1dHk6TGlzdEZpbmRpbmdzXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RJUFNldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJUFNldHMgPSBcImd1YXJkZHV0eTpMaXN0SVBTZXRzXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RJbnZlc3RpZ2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludmVzdGlnYXRpb25zID0gXCJndWFyZGR1dHk6TGlzdEludmVzdGlnYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RJbnZpdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludml0YXRpb25zID0gXCJndWFyZGR1dHk6TGlzdEludml0YXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RNYWx3YXJlUHJvdGVjdGlvblBsYW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFsd2FyZVByb3RlY3Rpb25QbGFucyA9XG5cdFx0XCJndWFyZGR1dHk6TGlzdE1hbHdhcmVQcm90ZWN0aW9uUGxhbnNcIjtcblx0LyoqIFtMaXN0XSBndWFyZGR1dHk6TGlzdE1hbHdhcmVTY2FucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hbHdhcmVTY2FucyA9IFwiZ3VhcmRkdXR5Okxpc3RNYWx3YXJlU2NhbnNcIjtcblx0LyoqIFtMaXN0XSBndWFyZGR1dHk6TGlzdE1lbWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZW1iZXJzID0gXCJndWFyZGR1dHk6TGlzdE1lbWJlcnNcIjtcblx0LyoqIFtMaXN0XSBndWFyZGR1dHk6TGlzdE9yZ2FuaXphdGlvbkFkbWluQWNjb3VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzID1cblx0XHRcImd1YXJkZHV0eTpMaXN0T3JnYW5pemF0aW9uQWRtaW5BY2NvdW50c1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0UHVibGlzaGluZ0Rlc3RpbmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFB1Ymxpc2hpbmdEZXN0aW5hdGlvbnMgPVxuXHRcdFwiZ3VhcmRkdXR5Okxpc3RQdWJsaXNoaW5nRGVzdGluYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5Okxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImd1YXJkZHV0eTpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RUaHJlYXRFbnRpdHlTZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGhyZWF0RW50aXR5U2V0cyA9IFwiZ3VhcmRkdXR5Okxpc3RUaHJlYXRFbnRpdHlTZXRzXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RUaHJlYXRJbnRlbFNldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRJbnRlbFNldHMgPSBcImd1YXJkZHV0eTpMaXN0VGhyZWF0SW50ZWxTZXRzXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RUcnVzdGVkRW50aXR5U2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRydXN0ZWRFbnRpdHlTZXRzID0gXCJndWFyZGR1dHk6TGlzdFRydXN0ZWRFbnRpdHlTZXRzXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpTZW5kT2JqZWN0TWFsd2FyZVNjYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRPYmplY3RNYWx3YXJlU2NhbiA9IFwiZ3VhcmRkdXR5OlNlbmRPYmplY3RNYWx3YXJlU2NhblwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6U2VuZFNlY3VyaXR5VGVsZW1ldHJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kU2VjdXJpdHlUZWxlbWV0cnkgPSBcImd1YXJkZHV0eTpTZW5kU2VjdXJpdHlUZWxlbWV0cnlcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlN0YXJ0TWFsd2FyZVNjYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWFsd2FyZVNjYW4gPSBcImd1YXJkZHV0eTpTdGFydE1hbHdhcmVTY2FuXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpTdGFydE1vbml0b3JpbmdNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1vbml0b3JpbmdNZW1iZXJzID0gXCJndWFyZGR1dHk6U3RhcnRNb25pdG9yaW5nTWVtYmVyc1wiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6U3RvcE1vbml0b3JpbmdNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wTW9uaXRvcmluZ01lbWJlcnMgPSBcImd1YXJkZHV0eTpTdG9wTW9uaXRvcmluZ01lbWJlcnNcIjtcblx0LyoqIFtUYWdnaW5nXSBndWFyZGR1dHk6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJndWFyZGR1dHk6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlVuYXJjaGl2ZUZpbmRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBVbmFyY2hpdmVGaW5kaW5ncyA9IFwiZ3VhcmRkdXR5OlVuYXJjaGl2ZUZpbmRpbmdzXCI7XG5cdC8qKiBbVGFnZ2luZ10gZ3VhcmRkdXR5OlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImd1YXJkZHV0eTpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpVcGRhdGVDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbiA9XG5cdFx0XCJndWFyZGR1dHk6VXBkYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpVcGRhdGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpVcGRhdGVEZXRlY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGV0ZWN0b3IgPSBcImd1YXJkZHV0eTpVcGRhdGVEZXRlY3RvclwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6VXBkYXRlRmlsdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGaWx0ZXIgPSBcImd1YXJkZHV0eTpVcGRhdGVGaWx0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlVwZGF0ZUZpbmRpbmdzRmVlZGJhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZpbmRpbmdzRmVlZGJhY2sgPSBcImd1YXJkZHV0eTpVcGRhdGVGaW5kaW5nc0ZlZWRiYWNrXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpVcGRhdGVJUFNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSVBTZXQgPSBcImd1YXJkZHV0eTpVcGRhdGVJUFNldFwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6VXBkYXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYWx3YXJlUHJvdGVjdGlvblBsYW4gPVxuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhblwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6VXBkYXRlTWFsd2FyZVNjYW5TZXR0aW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFsd2FyZVNjYW5TZXR0aW5ncyA9XG5cdFx0XCJndWFyZGR1dHk6VXBkYXRlTWFsd2FyZVNjYW5TZXR0aW5nc1wiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6VXBkYXRlTWVtYmVyRGV0ZWN0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNZW1iZXJEZXRlY3RvcnMgPSBcImd1YXJkZHV0eTpVcGRhdGVNZW1iZXJEZXRlY3RvcnNcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlVwZGF0ZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlVwZGF0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uID1cblx0XHRcImd1YXJkZHV0eTpVcGRhdGVQdWJsaXNoaW5nRGVzdGluYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlVwZGF0ZVRocmVhdEVudGl0eVNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGhyZWF0RW50aXR5U2V0ID0gXCJndWFyZGR1dHk6VXBkYXRlVGhyZWF0RW50aXR5U2V0XCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpVcGRhdGVUaHJlYXRJbnRlbFNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGhyZWF0SW50ZWxTZXQgPSBcImd1YXJkZHV0eTpVcGRhdGVUaHJlYXRJbnRlbFNldFwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6VXBkYXRlVHJ1c3RlZEVudGl0eVNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJ1c3RlZEVudGl0eVNldCA9IFwiZ3VhcmRkdXR5OlVwZGF0ZVRydXN0ZWRFbnRpdHlTZXRcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlc2NyaWJlTWFsd2FyZVNjYW5zLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVzY3JpYmVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVzY3JpYmVQdWJsaXNoaW5nRGVzdGluYXRpb24sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRBZG1pbmlzdHJhdG9yQWNjb3VudCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldENvdmVyYWdlU3RhdGlzdGljcyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldEN1c3RvbURldGVjdGlvblJ1bGUsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb24sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldERldGVjdG9yLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0RmlsdGVyLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0RmluZGluZ3MsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRGaW5kaW5nc1N0YXRpc3RpY3MsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRJUFNldCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldEludmVzdGlnYXRpb24sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRJbnZpdGF0aW9uc0NvdW50LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0TWFsd2FyZVByb3RlY3Rpb25QbGFuLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0TWFsd2FyZVNjYW4sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRNYWx3YXJlU2NhblNldHRpbmdzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0TWFzdGVyQWNjb3VudCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldE1lbWJlckRldGVjdG9ycyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldE1lbWJlcnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRPcmdhbml6YXRpb25TdGF0aXN0aWNzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0UmVtYWluaW5nRnJlZVRyaWFsRGF5cyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldFRocmVhdEVudGl0eVNldCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldFRocmVhdEludGVsU2V0LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0VHJ1c3RlZEVudGl0eVNldCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldFVzYWdlU3RhdGlzdGljcyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5BY2NlcHRBZG1pbmlzdHJhdG9ySW52aXRhdGlvbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkFjY2VwdEludml0YXRpb24sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5BcmNoaXZlRmluZGluZ3MsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5DcmVhdGVDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb24sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5DcmVhdGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkNyZWF0ZURldGVjdG9yLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQ3JlYXRlRmlsdGVyLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQ3JlYXRlSVBTZXQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5DcmVhdGVJbnZlc3RpZ2F0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQ3JlYXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQ3JlYXRlTWVtYmVycyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkNyZWF0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkNyZWF0ZVNhbXBsZUZpbmRpbmdzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQ3JlYXRlVGhyZWF0RW50aXR5U2V0LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQ3JlYXRlVGhyZWF0SW50ZWxTZXQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5DcmVhdGVUcnVzdGVkRW50aXR5U2V0LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVjbGluZUludml0YXRpb25zLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5EZWxldGVEZXRlY3Rvcixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlbGV0ZUZpbHRlcixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlbGV0ZUlQU2V0LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVsZXRlSW52aXRhdGlvbnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5EZWxldGVNYWx3YXJlUHJvdGVjdGlvblBsYW4sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5EZWxldGVNZW1iZXJzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVsZXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVsZXRlVGhyZWF0RW50aXR5U2V0LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVsZXRlVGhyZWF0SW50ZWxTZXQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5EZWxldGVUcnVzdGVkRW50aXR5U2V0LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGlzYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRpc2Fzc29jaWF0ZUZyb21BZG1pbmlzdHJhdG9yQWNjb3VudCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRpc2Fzc29jaWF0ZUZyb21NYXN0ZXJBY2NvdW50LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGlzYXNzb2NpYXRlTWVtYmVycyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkVuYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkludml0ZU1lbWJlcnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5TZW5kT2JqZWN0TWFsd2FyZVNjYW4sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5TZW5kU2VjdXJpdHlUZWxlbWV0cnksXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5TdGFydE1hbHdhcmVTY2FuLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuU3RhcnRNb25pdG9yaW5nTWVtYmVycyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLlN0b3BNb25pdG9yaW5nTWVtYmVycyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLlVuYXJjaGl2ZUZpbmRpbmdzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVXBkYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVXBkYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5VcGRhdGVEZXRlY3Rvcixcblx0XHRHdWFyZER1dHlBY3Rpb25zLlVwZGF0ZUZpbHRlcixcblx0XHRHdWFyZER1dHlBY3Rpb25zLlVwZGF0ZUZpbmRpbmdzRmVlZGJhY2ssXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5VcGRhdGVJUFNldCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLlVwZGF0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLlVwZGF0ZU1hbHdhcmVTY2FuU2V0dGluZ3MsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5VcGRhdGVNZW1iZXJEZXRlY3RvcnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5VcGRhdGVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVXBkYXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVXBkYXRlVGhyZWF0RW50aXR5U2V0LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVXBkYXRlVGhyZWF0SW50ZWxTZXQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5VcGRhdGVUcnVzdGVkRW50aXR5U2V0LFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3RDb3ZlcmFnZSxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3RDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb25zLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuTGlzdEN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9ucyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3RDdXN0b21EZXRlY3Rpb25SdWxlcyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3REZXRlY3RvcnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0RmlsdGVycyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3RGaW5kaW5ncyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3RJUFNldHMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0SW52ZXN0aWdhdGlvbnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0SW52aXRhdGlvbnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0TWFsd2FyZVByb3RlY3Rpb25QbGFucyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3RNYWx3YXJlU2NhbnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0TWVtYmVycyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuTGlzdFB1Ymxpc2hpbmdEZXN0aW5hdGlvbnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0VGhyZWF0RW50aXR5U2V0cyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3RUaHJlYXRJbnRlbFNldHMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0VHJ1c3RlZEVudGl0eVNldHMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY3VzdG9tZGV0ZWN0aW9ucnVsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5Q3VzdG9tZGV0ZWN0aW9ucnVsZUFyblByb3BzIHtcblx0LyoqIFRoZSBSdWxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJ1bGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGN1c3RvbWRldGVjdGlvbnJ1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEd1YXJkRHV0eUN1c3RvbWRldGVjdGlvbnJ1bGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJ1bGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJ1bGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlDdXN0b21kZXRlY3Rpb25ydWxlYXNzb2NpYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUnVsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBydWxlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBBc3NvY2lhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhc3NvY2lhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlDdXN0b21kZXRlY3Rpb25ydWxlYXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJ1bGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJ1bGVJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFzc29jaWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhc3NvY2lhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkZXRlY3RvciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5RGV0ZWN0b3JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGV0ZWN0b3JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGV0ZWN0b3JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRldGVjdG9yIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlEZXRlY3RvckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV0ZWN0b3JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRldGVjdG9ySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGZpbHRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5RmlsdGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIERldGVjdG9ySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldGVjdG9ySWQ6IHN0cmluZztcblx0LyoqIFRoZSBGaWx0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBmaWx0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmlsdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlGaWx0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERldGVjdG9ySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRmlsdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZpbHRlck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGlwc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlJcHNldEFyblByb3BzIHtcblx0LyoqIFRoZSBEZXRlY3RvcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgSVBTZXRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaXBTZXRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGlwc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlJcHNldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV0ZWN0b3JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRldGVjdG9ySWQ6IHN0cmluZztcblx0LyoqIFRoZSBJUFNldElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaXBTZXRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbWFsd2FyZXByb3RlY3Rpb25wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlNYWx3YXJlcHJvdGVjdGlvbnBsYW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWFsd2FyZVByb3RlY3Rpb25QbGFuSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1hbHdhcmVQcm90ZWN0aW9uUGxhbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbWFsd2FyZXByb3RlY3Rpb25wbGFuIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlNYWx3YXJlcHJvdGVjdGlvbnBsYW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1hbHdhcmVQcm90ZWN0aW9uUGxhbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbWFsd2FyZVByb3RlY3Rpb25QbGFuSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHB1Ymxpc2hpbmdEZXN0aW5hdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5UHVibGlzaGluZ0Rlc3RpbmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIERldGVjdG9ySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldGVjdG9ySWQ6IHN0cmluZztcblx0LyoqIFRoZSBQdWJsaXNoaW5nRGVzdGluYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHVibGlzaGluZ0Rlc3RpbmF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwdWJsaXNoaW5nRGVzdGluYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEd1YXJkRHV0eVB1Ymxpc2hpbmdEZXN0aW5hdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV0ZWN0b3JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRldGVjdG9ySWQ6IHN0cmluZztcblx0LyoqIFRoZSBQdWJsaXNoaW5nRGVzdGluYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHB1Ymxpc2hpbmdEZXN0aW5hdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0aHJlYXRlbnRpdHlzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEd1YXJkRHV0eVRocmVhdGVudGl0eXNldEFyblByb3BzIHtcblx0LyoqIFRoZSBEZXRlY3RvcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGhyZWF0RW50aXR5U2V0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRocmVhdEVudGl0eVNldElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdGhyZWF0ZW50aXR5c2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlUaHJlYXRlbnRpdHlzZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERldGVjdG9ySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGhyZWF0RW50aXR5U2V0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0aHJlYXRFbnRpdHlTZXRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdGhyZWF0aW50ZWxzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEd1YXJkRHV0eVRocmVhdGludGVsc2V0QXJuUHJvcHMge1xuXHQvKiogVGhlIERldGVjdG9ySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldGVjdG9ySWQ6IHN0cmluZztcblx0LyoqIFRoZSBUaHJlYXRJbnRlbFNldElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0aHJlYXRJbnRlbFNldElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdGhyZWF0aW50ZWxzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEd1YXJkRHV0eVRocmVhdGludGVsc2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEZXRlY3RvcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGV0ZWN0b3JJZDogc3RyaW5nO1xuXHQvKiogVGhlIFRocmVhdEludGVsU2V0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0aHJlYXRJbnRlbFNldElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cnVzdGVkZW50aXR5c2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlUcnVzdGVkZW50aXR5c2V0QXJuUHJvcHMge1xuXHQvKiogVGhlIERldGVjdG9ySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldGVjdG9ySWQ6IHN0cmluZztcblx0LyoqIFRoZSBUcnVzdGVkRW50aXR5U2V0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRydXN0ZWRFbnRpdHlTZXRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRydXN0ZWRlbnRpdHlzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEd1YXJkRHV0eVRydXN0ZWRlbnRpdHlzZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERldGVjdG9ySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJ1c3RlZEVudGl0eVNldElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJ1c3RlZEVudGl0eVNldElkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEN1c3RvbWRldGVjdGlvbnJ1bGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Z3VhcmRkdXR5Ojphd3M6ZGV0ZWN0aW9uLXJ1bGVcXC9jdXN0b21cXC8oPzxydWxlSWQ+W146Lz9dKykkLztcbmNvbnN0IEN1c3RvbWRldGVjdGlvbnJ1bGVhc3NvY2lhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpndWFyZGR1dHk6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkZXRlY3Rpb24tcnVsZVxcL2N1c3RvbVxcLyg/PHJ1bGVJZD5bXjovP10rKVxcL2Fzc29jaWF0aW9uXFwvKD88YXNzb2NpYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgRGV0ZWN0b3JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Z3VhcmRkdXR5Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGV0ZWN0b3JcXC8oPzxkZXRlY3RvcklkPlteOi8/XSspJC87XG5jb25zdCBGaWx0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Z3VhcmRkdXR5Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGV0ZWN0b3JcXC8oPzxkZXRlY3RvcklkPlteOi8/XSspXFwvZmlsdGVyXFwvKD88ZmlsdGVyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSXBzZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Z3VhcmRkdXR5Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGV0ZWN0b3JcXC8oPzxkZXRlY3RvcklkPlteOi8/XSspXFwvaXBzZXRcXC8oPzxpcFNldElkPlteOi8/XSspJC87XG5jb25zdCBNYWx3YXJlcHJvdGVjdGlvbnBsYW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Z3VhcmRkdXR5Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWFsd2FyZS1wcm90ZWN0aW9uLXBsYW5cXC8oPzxtYWx3YXJlUHJvdGVjdGlvblBsYW5JZD5bXjovP10rKSQvO1xuY29uc3QgUHVibGlzaGluZ0Rlc3RpbmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmd1YXJkZHV0eTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldGVjdG9yXFwvKD88ZGV0ZWN0b3JJZD5bXjovP10rKVxcL3B1Ymxpc2hpbmdkZXN0aW5hdGlvblxcLyg/PHB1Ymxpc2hpbmdEZXN0aW5hdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBUaHJlYXRlbnRpdHlzZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Z3VhcmRkdXR5Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGV0ZWN0b3JcXC8oPzxkZXRlY3RvcklkPlteOi8/XSspXFwvdGhyZWF0ZW50aXR5c2V0XFwvKD88dGhyZWF0RW50aXR5U2V0SWQ+W146Lz9dKykkLztcbmNvbnN0IFRocmVhdGludGVsc2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmd1YXJkZHV0eTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldGVjdG9yXFwvKD88ZGV0ZWN0b3JJZD5bXjovP10rKVxcL3RocmVhdGludGVsc2V0XFwvKD88dGhyZWF0SW50ZWxTZXRJZD5bXjovP10rKSQvO1xuY29uc3QgVHJ1c3RlZGVudGl0eXNldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpndWFyZGR1dHk6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkZXRlY3RvclxcLyg/PGRldGVjdG9ySWQ+W146Lz9dKylcXC90cnVzdGVkZW50aXR5c2V0XFwvKD88dHJ1c3RlZEVudGl0eVNldElkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgZ3VhcmRkdXR5IHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEd1YXJkRHV0eVJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY3VzdG9tZGV0ZWN0aW9ucnVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjdXN0b21kZXRlY3Rpb25ydWxlKFxuXHRcdHByb3BzOiBHdWFyZER1dHlDdXN0b21kZXRlY3Rpb25ydWxlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Z3VhcmRkdXR5Ojphd3M6ZGV0ZWN0aW9uLXJ1bGUvY3VzdG9tLyR7cHJvcHMucnVsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjdXN0b21kZXRlY3Rpb25ydWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDdXN0b21kZXRlY3Rpb25ydWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEN1c3RvbWRldGVjdGlvbnJ1bGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY3VzdG9tZGV0ZWN0aW9ucnVsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDdXN0b21kZXRlY3Rpb25ydWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBHdWFyZER1dHlDdXN0b21kZXRlY3Rpb25ydWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDdXN0b21kZXRlY3Rpb25ydWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGN1c3RvbWRldGVjdGlvbnJ1bGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cnVsZUlkOiBtYXRjaC5ncm91cHMhLnJ1bGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjdXN0b21kZXRlY3Rpb25ydWxlYXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uKFxuXHRcdHByb3BzOiBHdWFyZER1dHlDdXN0b21kZXRlY3Rpb25ydWxlYXNzb2NpYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpndWFyZGR1dHk6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGV0ZWN0aW9uLXJ1bGUvY3VzdG9tLyR7cHJvcHMucnVsZUlkfS9hc3NvY2lhdGlvbi8ke3Byb3BzLmFzc29jaWF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGN1c3RvbWRldGVjdGlvbnJ1bGVhc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEN1c3RvbWRldGVjdGlvbnJ1bGVhc3NvY2lhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjdXN0b21kZXRlY3Rpb25ydWxlYXNzb2NpYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBHdWFyZER1dHlDdXN0b21kZXRlY3Rpb25ydWxlYXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEN1c3RvbWRldGVjdGlvbnJ1bGVhc3NvY2lhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjdXN0b21kZXRlY3Rpb25ydWxlYXNzb2NpYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cnVsZUlkOiBtYXRjaC5ncm91cHMhLnJ1bGVJZCxcblx0XHRcdGFzc29jaWF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuYXNzb2NpYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkZXRlY3RvciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkZXRlY3Rvcihwcm9wczogR3VhcmREdXR5RGV0ZWN0b3JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Z3VhcmRkdXR5OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRldGVjdG9yLyR7cHJvcHMuZGV0ZWN0b3JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGV0ZWN0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERldGVjdG9yQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERldGVjdG9yQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRldGVjdG9yIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURldGVjdG9yQXJuKGFybjogc3RyaW5nKTogR3VhcmREdXR5RGV0ZWN0b3JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERldGVjdG9yQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRldGVjdG9yIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRldGVjdG9ySWQ6IG1hdGNoLmdyb3VwcyEuZGV0ZWN0b3JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmaWx0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmlsdGVyKHByb3BzOiBHdWFyZER1dHlGaWx0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Z3VhcmRkdXR5OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRldGVjdG9yLyR7cHJvcHMuZGV0ZWN0b3JJZH0vZmlsdGVyLyR7cHJvcHMuZmlsdGVyTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZmlsdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGaWx0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmlsdGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZpbHRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGaWx0ZXJBcm4oYXJuOiBzdHJpbmcpOiBHdWFyZER1dHlGaWx0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZpbHRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmaWx0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGV0ZWN0b3JJZDogbWF0Y2guZ3JvdXBzIS5kZXRlY3RvcklkLFxuXHRcdFx0ZmlsdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5maWx0ZXJOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGlwc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlwc2V0KHByb3BzOiBHdWFyZER1dHlJcHNldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpndWFyZGR1dHk6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGV0ZWN0b3IvJHtwcm9wcy5kZXRlY3RvcklkfS9pcHNldC8ke3Byb3BzLmlwU2V0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGlwc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJcHNldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJcHNldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpcHNldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJcHNldEFybihhcm46IHN0cmluZyk6IEd1YXJkRHV0eUlwc2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJcHNldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpcHNldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkZXRlY3RvcklkOiBtYXRjaC5ncm91cHMhLmRldGVjdG9ySWQsXG5cdFx0XHRpcFNldElkOiBtYXRjaC5ncm91cHMhLmlwU2V0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbWFsd2FyZXByb3RlY3Rpb25wbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1hbHdhcmVwcm90ZWN0aW9ucGxhbihcblx0XHRwcm9wczogR3VhcmREdXR5TWFsd2FyZXByb3RlY3Rpb25wbGFuQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Z3VhcmRkdXR5OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1hbHdhcmUtcHJvdGVjdGlvbi1wbGFuLyR7cHJvcHMubWFsd2FyZVByb3RlY3Rpb25QbGFuSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1hbHdhcmVwcm90ZWN0aW9ucGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWFsd2FyZXByb3RlY3Rpb25wbGFuQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1hbHdhcmVwcm90ZWN0aW9ucGxhbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtYWx3YXJlcHJvdGVjdGlvbnBsYW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWFsd2FyZXByb3RlY3Rpb25wbGFuQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBHdWFyZER1dHlNYWx3YXJlcHJvdGVjdGlvbnBsYW5Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1hbHdhcmVwcm90ZWN0aW9ucGxhbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtYWx3YXJlcHJvdGVjdGlvbnBsYW4gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWFsd2FyZVByb3RlY3Rpb25QbGFuSWQ6IG1hdGNoLmdyb3VwcyEubWFsd2FyZVByb3RlY3Rpb25QbGFuSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHVibGlzaGluZ0Rlc3RpbmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHB1Ymxpc2hpbmdEZXN0aW5hdGlvbihcblx0XHRwcm9wczogR3VhcmREdXR5UHVibGlzaGluZ0Rlc3RpbmF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Z3VhcmRkdXR5OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRldGVjdG9yLyR7cHJvcHMuZGV0ZWN0b3JJZH0vcHVibGlzaGluZ2Rlc3RpbmF0aW9uLyR7cHJvcHMucHVibGlzaGluZ0Rlc3RpbmF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHB1Ymxpc2hpbmdEZXN0aW5hdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHVibGlzaGluZ0Rlc3RpbmF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFB1Ymxpc2hpbmdEZXN0aW5hdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwdWJsaXNoaW5nRGVzdGluYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHVibGlzaGluZ0Rlc3RpbmF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBHdWFyZER1dHlQdWJsaXNoaW5nRGVzdGluYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFB1Ymxpc2hpbmdEZXN0aW5hdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwdWJsaXNoaW5nRGVzdGluYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGV0ZWN0b3JJZDogbWF0Y2guZ3JvdXBzIS5kZXRlY3RvcklkLFxuXHRcdFx0cHVibGlzaGluZ0Rlc3RpbmF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEucHVibGlzaGluZ0Rlc3RpbmF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGhyZWF0ZW50aXR5c2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRocmVhdGVudGl0eXNldChwcm9wczogR3VhcmREdXR5VGhyZWF0ZW50aXR5c2V0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Omd1YXJkZHV0eToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkZXRlY3Rvci8ke3Byb3BzLmRldGVjdG9ySWR9L3RocmVhdGVudGl0eXNldC8ke3Byb3BzLnRocmVhdEVudGl0eVNldElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0aHJlYXRlbnRpdHlzZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRocmVhdGVudGl0eXNldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUaHJlYXRlbnRpdHlzZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdGhyZWF0ZW50aXR5c2V0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRocmVhdGVudGl0eXNldEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogR3VhcmREdXR5VGhyZWF0ZW50aXR5c2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUaHJlYXRlbnRpdHlzZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGhyZWF0ZW50aXR5c2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRldGVjdG9ySWQ6IG1hdGNoLmdyb3VwcyEuZGV0ZWN0b3JJZCxcblx0XHRcdHRocmVhdEVudGl0eVNldElkOiBtYXRjaC5ncm91cHMhLnRocmVhdEVudGl0eVNldElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRocmVhdGludGVsc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRocmVhdGludGVsc2V0KHByb3BzOiBHdWFyZER1dHlUaHJlYXRpbnRlbHNldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpndWFyZGR1dHk6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGV0ZWN0b3IvJHtwcm9wcy5kZXRlY3RvcklkfS90aHJlYXRpbnRlbHNldC8ke3Byb3BzLnRocmVhdEludGVsU2V0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRocmVhdGludGVsc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUaHJlYXRpbnRlbHNldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUaHJlYXRpbnRlbHNldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0aHJlYXRpbnRlbHNldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUaHJlYXRpbnRlbHNldEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogR3VhcmREdXR5VGhyZWF0aW50ZWxzZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRocmVhdGludGVsc2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRocmVhdGludGVsc2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRldGVjdG9ySWQ6IG1hdGNoLmdyb3VwcyEuZGV0ZWN0b3JJZCxcblx0XHRcdHRocmVhdEludGVsU2V0SWQ6IG1hdGNoLmdyb3VwcyEudGhyZWF0SW50ZWxTZXRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0cnVzdGVkZW50aXR5c2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRydXN0ZWRlbnRpdHlzZXQocHJvcHM6IEd1YXJkRHV0eVRydXN0ZWRlbnRpdHlzZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Z3VhcmRkdXR5OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRldGVjdG9yLyR7cHJvcHMuZGV0ZWN0b3JJZH0vdHJ1c3RlZGVudGl0eXNldC8ke3Byb3BzLnRydXN0ZWRFbnRpdHlTZXRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdHJ1c3RlZGVudGl0eXNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVHJ1c3RlZGVudGl0eXNldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUcnVzdGVkZW50aXR5c2V0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRydXN0ZWRlbnRpdHlzZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVHJ1c3RlZGVudGl0eXNldEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogR3VhcmREdXR5VHJ1c3RlZGVudGl0eXNldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVHJ1c3RlZGVudGl0eXNldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0cnVzdGVkZW50aXR5c2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRldGVjdG9ySWQ6IG1hdGNoLmdyb3VwcyEuZGV0ZWN0b3JJZCxcblx0XHRcdHRydXN0ZWRFbnRpdHlTZXRJZDogbWF0Y2guZ3JvdXBzIS50cnVzdGVkRW50aXR5U2V0SWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgZ3VhcmRkdXR5LlxuICovXG5leHBvcnQgY2xhc3MgR3VhcmREdXR5T3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFjY2VwdEFkbWluaXN0cmF0b3JJbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0QWRtaW5pc3RyYXRvckludml0YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkFjY2VwdEFkbWluaXN0cmF0b3JJbnZpdGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFjY2VwdEludml0YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRJbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpBY2NlcHRJbnZpdGF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBcmNoaXZlRmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBcmNoaXZlRmluZGluZ3M6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OkFyY2hpdmVGaW5kaW5nc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpDcmVhdGVDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb25cIixcblx0XHRcImd1YXJkZHV0eTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpDcmVhdGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEZXRlY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldGVjdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpDcmVhdGVEZXRlY3RvclwiLFxuXHRcdFwiZ3VhcmRkdXR5OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUZpbHRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZpbHRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlRmlsdGVyXCIsXG5cdFx0XCJndWFyZGR1dHk6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSVBTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJUFNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlSVBTZXRcIixcblx0XHRcImd1YXJkZHV0eTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnZlc3RpZ2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW52ZXN0aWdhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlSW52ZXN0aWdhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNYWx3YXJlUHJvdGVjdGlvblBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYWx3YXJlUHJvdGVjdGlvblBsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkNyZWF0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJndWFyZGR1dHk6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1lbWJlcnM6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OkNyZWF0ZU1lbWJlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uXCIsXG5cdFx0XCJndWFyZGR1dHk6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2FtcGxlRmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTYW1wbGVGaW5kaW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlU2FtcGxlRmluZGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVGhyZWF0RW50aXR5U2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGhyZWF0RW50aXR5U2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpDcmVhdGVUaHJlYXRFbnRpdHlTZXRcIixcblx0XHRcImd1YXJkZHV0eTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUaHJlYXRJbnRlbFNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRocmVhdEludGVsU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpDcmVhdGVUaHJlYXRJbnRlbFNldFwiLFxuXHRcdFwiZ3VhcmRkdXR5OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRydXN0ZWRFbnRpdHlTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcnVzdGVkRW50aXR5U2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpDcmVhdGVUcnVzdGVkRW50aXR5U2V0XCIsXG5cdFx0XCJndWFyZGR1dHk6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVjbGluZUludml0YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjbGluZUludml0YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpEZWNsaW5lSW52aXRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpEZWxldGVDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6RGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGV0ZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEZXRlY3Rvcjogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6RGVsZXRlRGV0ZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUZpbHRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZpbHRlcjogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6RGVsZXRlRmlsdGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJUFNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUlQU2V0OiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpEZWxldGVJUFNldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW52aXRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnZpdGF0aW9uczogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6RGVsZXRlSW52aXRhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6RGVsZXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1lbWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZW1iZXJzOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpEZWxldGVNZW1iZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQdWJsaXNoaW5nRGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQdWJsaXNoaW5nRGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkRlbGV0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUaHJlYXRFbnRpdHlTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUaHJlYXRFbnRpdHlTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkRlbGV0ZVRocmVhdEVudGl0eVNldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUaHJlYXRJbnRlbFNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRocmVhdEludGVsU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpEZWxldGVUaHJlYXRJbnRlbFNldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUcnVzdGVkRW50aXR5U2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJ1c3RlZEVudGl0eVNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6RGVsZXRlVHJ1c3RlZEVudGl0eVNldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1hbHdhcmVTY2FucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFsd2FyZVNjYW5zOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpEZXNjcmliZU1hbHdhcmVTY2Fuc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHVibGlzaGluZ0Rlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpEZXNjcmliZVB1Ymxpc2hpbmdEZXN0aW5hdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6RGlzYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVGcm9tQWRtaW5pc3RyYXRvckFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVGcm9tQWRtaW5pc3RyYXRvckFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkRpc2Fzc29jaWF0ZUZyb21BZG1pbmlzdHJhdG9yQWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVGcm9tTWFzdGVyQWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUZyb21NYXN0ZXJBY2NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpEaXNhc3NvY2lhdGVGcm9tTWFzdGVyQWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlTWVtYmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6RGlzYXNzb2NpYXRlTWVtYmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkVuYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZG1pbmlzdHJhdG9yQWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWRtaW5pc3RyYXRvckFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldEFkbWluaXN0cmF0b3JBY2NvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvdmVyYWdlU3RhdGlzdGljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q292ZXJhZ2VTdGF0aXN0aWNzOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpHZXRDb3ZlcmFnZVN0YXRpc3RpY3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGV0ZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERldGVjdG9yOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpHZXREZXRlY3RvclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmlsdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGaWx0ZXI6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OkdldEZpbHRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZpbmRpbmdzOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpHZXRGaW5kaW5nc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmluZGluZ3NTdGF0aXN0aWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGaW5kaW5nc1N0YXRpc3RpY3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldEZpbmRpbmdzU3RhdGlzdGljc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJUFNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SVBTZXQ6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OkdldElQU2V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnZlc3RpZ2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnZlc3RpZ2F0aW9uOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpHZXRJbnZlc3RpZ2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnZpdGF0aW9uc0NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnZpdGF0aW9uc0NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpHZXRJbnZpdGF0aW9uc0NvdW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1hbHdhcmVQcm90ZWN0aW9uUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWFsd2FyZVByb3RlY3Rpb25QbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpHZXRNYWx3YXJlUHJvdGVjdGlvblBsYW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFsd2FyZVNjYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hbHdhcmVTY2FuOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpHZXRNYWx3YXJlU2NhblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFsd2FyZVNjYW5TZXR0aW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWFsd2FyZVNjYW5TZXR0aW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0TWFsd2FyZVNjYW5TZXR0aW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYXN0ZXJBY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNYXN0ZXJBY2NvdW50OiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpHZXRNYXN0ZXJBY2NvdW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNZW1iZXJEZXRlY3RvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1lbWJlckRldGVjdG9yczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0TWVtYmVyRGV0ZWN0b3JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1lbWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1lbWJlcnM6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OkdldE1lbWJlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9yZ2FuaXphdGlvblN0YXRpc3RpY3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9yZ2FuaXphdGlvblN0YXRpc3RpY3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldE9yZ2FuaXphdGlvblN0YXRpc3RpY3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVtYWluaW5nRnJlZVRyaWFsRGF5cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVtYWluaW5nRnJlZVRyaWFsRGF5czogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0UmVtYWluaW5nRnJlZVRyaWFsRGF5c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUaHJlYXRFbnRpdHlTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFRocmVhdEVudGl0eVNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0VGhyZWF0RW50aXR5U2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFRocmVhdEludGVsU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUaHJlYXRJbnRlbFNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0VGhyZWF0SW50ZWxTZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VHJ1c3RlZEVudGl0eVNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VHJ1c3RlZEVudGl0eVNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0VHJ1c3RlZEVudGl0eVNldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRVc2FnZVN0YXRpc3RpY3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFVzYWdlU3RhdGlzdGljczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0VXNhZ2VTdGF0aXN0aWNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEludml0ZU1lbWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZpdGVNZW1iZXJzOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpJbnZpdGVNZW1iZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q292ZXJhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q292ZXJhZ2U6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5Okxpc3RDb3ZlcmFnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6TGlzdEN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5Okxpc3RDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEN1c3RvbURldGVjdGlvblJ1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbURldGVjdGlvblJ1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpMaXN0Q3VzdG9tRGV0ZWN0aW9uUnVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERldGVjdG9ycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXRlY3RvcnM6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5Okxpc3REZXRlY3RvcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGaWx0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZpbHRlcnM6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5Okxpc3RGaWx0ZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmluZGluZ3M6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5Okxpc3RGaW5kaW5nc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdElQU2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJUFNldHM6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5Okxpc3RJUFNldHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnZlc3RpZ2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZlc3RpZ2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6TGlzdEludmVzdGlnYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnZpdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZpdGF0aW9uczogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6TGlzdEludml0YXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWFsd2FyZVByb3RlY3Rpb25QbGFucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYWx3YXJlUHJvdGVjdGlvblBsYW5zOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpMaXN0TWFsd2FyZVByb3RlY3Rpb25QbGFuc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWFsd2FyZVNjYW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hbHdhcmVTY2Fuczogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6TGlzdE1hbHdhcmVTY2Fuc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1lbWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWVtYmVyczogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6TGlzdE1lbWJlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9yZ2FuaXphdGlvbkFkbWluQWNjb3VudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5Okxpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQdWJsaXNoaW5nRGVzdGluYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFB1Ymxpc2hpbmdEZXN0aW5hdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5Okxpc3RQdWJsaXNoaW5nRGVzdGluYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUaHJlYXRFbnRpdHlTZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRocmVhdEVudGl0eVNldHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5Okxpc3RUaHJlYXRFbnRpdHlTZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUaHJlYXRJbnRlbFNldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGhyZWF0SW50ZWxTZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpMaXN0VGhyZWF0SW50ZWxTZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcnVzdGVkRW50aXR5U2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcnVzdGVkRW50aXR5U2V0czogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6TGlzdFRydXN0ZWRFbnRpdHlTZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRPYmplY3RNYWx3YXJlU2NhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRPYmplY3RNYWx3YXJlU2Nhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6U2VuZE9iamVjdE1hbHdhcmVTY2FuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWFsd2FyZVNjYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1hbHdhcmVTY2FuOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZ3VhcmRkdXR5OlN0YXJ0TWFsd2FyZVNjYW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNb25pdG9yaW5nTWVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TW9uaXRvcmluZ01lbWJlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OlN0YXJ0TW9uaXRvcmluZ01lbWJlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcE1vbml0b3JpbmdNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1vbml0b3JpbmdNZW1iZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpTdG9wTW9uaXRvcmluZ01lbWJlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVuYXJjaGl2ZUZpbmRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW5hcmNoaXZlRmluZGluZ3M6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OlVuYXJjaGl2ZUZpbmRpbmdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpVcGRhdGVDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGV0ZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXRlY3Rvcjogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6VXBkYXRlRGV0ZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZpbHRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZpbHRlcjogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6VXBkYXRlRmlsdGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVGaW5kaW5nc0ZlZWRiYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmluZGluZ3NGZWVkYmFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6VXBkYXRlRmluZGluZ3NGZWVkYmFja1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJUFNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUlQU2V0OiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpVcGRhdGVJUFNldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNYWx3YXJlU2NhblNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFsd2FyZVNjYW5TZXR0aW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6VXBkYXRlTWFsd2FyZVNjYW5TZXR0aW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNZW1iZXJEZXRlY3RvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNZW1iZXJEZXRlY3RvcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZU1lbWJlckRldGVjdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6VXBkYXRlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQdWJsaXNoaW5nRGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQdWJsaXNoaW5nRGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUaHJlYXRFbnRpdHlTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUaHJlYXRFbnRpdHlTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZVRocmVhdEVudGl0eVNldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUaHJlYXRJbnRlbFNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRocmVhdEludGVsU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpVcGRhdGVUaHJlYXRJbnRlbFNldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUcnVzdGVkRW50aXR5U2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJ1c3RlZEVudGl0eVNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6VXBkYXRlVHJ1c3RlZEVudGl0eVNldFwiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgZ3VhcmRkdXR5LlxuICovXG5leHBvcnQgY2xhc3MgR3VhcmREdXR5Q29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLCBcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGV0ZWN0b3IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGV0ZWN0b3JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUZpbHRlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGaWx0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUlQU2V0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUlQU2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNYWx3YXJlUHJvdGVjdGlvblBsYW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQdWJsaXNoaW5nRGVzdGluYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUaHJlYXRFbnRpdHlTZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGhyZWF0RW50aXR5U2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUaHJlYXRJbnRlbFNldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUaHJlYXRJbnRlbFNldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVHJ1c3RlZEVudGl0eVNldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcnVzdGVkRW50aXR5U2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
|
|
1102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmRkdXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9ndWFyZGR1dHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCOztBQUE3Qiw0Q0E2V0M7OztBQTVXQSw4QkFBOEI7QUFDZCwrQkFBYyxHQUFHLFdBQVcsQ0FBQztBQUU3QyxzREFBc0Q7QUFDdEMsOENBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHlDQUF5QztBQUN6QixpQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSx3Q0FBd0M7QUFDeEIsZ0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCw2REFBNkQ7QUFDN0MscURBQW9DLEdBQ25ELGdEQUFnRCxDQUFDO0FBQ2xELGtFQUFrRTtBQUNsRCwwREFBeUMsR0FDeEQscURBQXFELENBQUM7QUFDdkQsdUNBQXVDO0FBQ3ZCLCtCQUFjLEdBQUcsMEJBQTBCLENBQUM7QUFDNUQscUNBQXFDO0FBQ3JCLDZCQUFZLEdBQUcsd0JBQXdCLENBQUM7QUFDeEQsb0NBQW9DO0FBQ3BCLDRCQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFDdEQsNENBQTRDO0FBQzVCLG9DQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLG9EQUFvRDtBQUNwQyw0Q0FBMkIsR0FDMUMsdUNBQXVDLENBQUM7QUFDekMsc0NBQXNDO0FBQ3RCLDhCQUFhLEdBQUcseUJBQXlCLENBQUM7QUFDMUQsb0RBQW9EO0FBQ3BDLDRDQUEyQixHQUMxQyx1Q0FBdUMsQ0FBQztBQUN6Qyw2Q0FBNkM7QUFDN0IscUNBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsOENBQThDO0FBQzlCLHNDQUFxQixHQUFHLGlDQUFpQyxDQUFD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MkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFDRixxRUFBcUU7QUFDckQsc0RBQWtDLEdBQWE7SUFDOUQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHFEQUFpQyxHQUFhO0lBQzdELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCx1REFBbUMsR0FBYTtJQUMvRCwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLDRDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw4Q0FBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2QyxtQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxvQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsZ0NBQVksR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9ndWFyZGR1dHkuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGd1YXJkZHV0eSBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgR3VhcmREdXR5QWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImd1YXJkZHV0eVwiO1xuXG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpBY2NlcHRBZG1pbmlzdHJhdG9ySW52aXRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0QWRtaW5pc3RyYXRvckludml0YXRpb24gPVxuXHRcdFwiZ3VhcmRkdXR5OkFjY2VwdEFkbWluaXN0cmF0b3JJbnZpdGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpBY2NlcHRJbnZpdGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRJbnZpdGF0aW9uID0gXCJndWFyZGR1dHk6QWNjZXB0SW52aXRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6QXJjaGl2ZUZpbmRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBBcmNoaXZlRmluZGluZ3MgPSBcImd1YXJkZHV0eTpBcmNoaXZlRmluZGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkNyZWF0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uID1cblx0XHRcImd1YXJkZHV0eTpDcmVhdGVDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkNyZWF0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkNyZWF0ZURldGVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEZXRlY3RvciA9IFwiZ3VhcmRkdXR5OkNyZWF0ZURldGVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpDcmVhdGVGaWx0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZpbHRlciA9IFwiZ3VhcmRkdXR5OkNyZWF0ZUZpbHRlclwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6Q3JlYXRlSVBTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUlQU2V0ID0gXCJndWFyZGR1dHk6Q3JlYXRlSVBTZXRcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkNyZWF0ZUludmVzdGlnYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludmVzdGlnYXRpb24gPSBcImd1YXJkZHV0eTpDcmVhdGVJbnZlc3RpZ2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpDcmVhdGVNYWx3YXJlUHJvdGVjdGlvblBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhbiA9XG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpDcmVhdGVNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNZW1iZXJzID0gXCJndWFyZGR1dHk6Q3JlYXRlTWVtYmVyc1wiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6Q3JlYXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQdWJsaXNoaW5nRGVzdGluYXRpb24gPVxuXHRcdFwiZ3VhcmRkdXR5OkNyZWF0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6Q3JlYXRlU2FtcGxlRmluZGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNhbXBsZUZpbmRpbmdzID0gXCJndWFyZGR1dHk6Q3JlYXRlU2FtcGxlRmluZGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkNyZWF0ZVRocmVhdEVudGl0eVNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGhyZWF0RW50aXR5U2V0ID0gXCJndWFyZGR1dHk6Q3JlYXRlVGhyZWF0RW50aXR5U2V0XCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpDcmVhdGVUaHJlYXRJbnRlbFNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGhyZWF0SW50ZWxTZXQgPSBcImd1YXJkZHV0eTpDcmVhdGVUaHJlYXRJbnRlbFNldFwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6Q3JlYXRlVHJ1c3RlZEVudGl0eVNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJ1c3RlZEVudGl0eVNldCA9IFwiZ3VhcmRkdXR5OkNyZWF0ZVRydXN0ZWRFbnRpdHlTZXRcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRlY2xpbmVJbnZpdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjbGluZUludml0YXRpb25zID0gXCJndWFyZGR1dHk6RGVjbGluZUludml0YXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEZWxldGVDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbiA9XG5cdFx0XCJndWFyZGR1dHk6RGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEZWxldGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiZ3VhcmRkdXR5OkRlbGV0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEZWxldGVEZXRlY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGV0ZWN0b3IgPSBcImd1YXJkZHV0eTpEZWxldGVEZXRlY3RvclwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6RGVsZXRlRmlsdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGaWx0ZXIgPSBcImd1YXJkZHV0eTpEZWxldGVGaWx0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRlbGV0ZUlQU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJUFNldCA9IFwiZ3VhcmRkdXR5OkRlbGV0ZUlQU2V0XCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEZWxldGVJbnZpdGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW52aXRhdGlvbnMgPSBcImd1YXJkZHV0eTpEZWxldGVJbnZpdGF0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6RGVsZXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNYWx3YXJlUHJvdGVjdGlvblBsYW4gPVxuXHRcdFwiZ3VhcmRkdXR5OkRlbGV0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhblwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6RGVsZXRlTWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVtYmVycyA9IFwiZ3VhcmRkdXR5OkRlbGV0ZU1lbWJlcnNcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRlbGV0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uID1cblx0XHRcImd1YXJkZHV0eTpEZWxldGVQdWJsaXNoaW5nRGVzdGluYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OkRlbGV0ZVRocmVhdEVudGl0eVNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGhyZWF0RW50aXR5U2V0ID0gXCJndWFyZGR1dHk6RGVsZXRlVGhyZWF0RW50aXR5U2V0XCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEZWxldGVUaHJlYXRJbnRlbFNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGhyZWF0SW50ZWxTZXQgPSBcImd1YXJkZHV0eTpEZWxldGVUaHJlYXRJbnRlbFNldFwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6RGVsZXRlVHJ1c3RlZEVudGl0eVNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJ1c3RlZEVudGl0eVNldCA9IFwiZ3VhcmRkdXR5OkRlbGV0ZVRydXN0ZWRFbnRpdHlTZXRcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6RGVzY3JpYmVNYWx3YXJlU2NhbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFsd2FyZVNjYW5zID0gXCJndWFyZGR1dHk6RGVzY3JpYmVNYWx3YXJlU2NhbnNcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6RGVzY3JpYmVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwiZ3VhcmRkdXR5OkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpEZXNjcmliZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQdWJsaXNoaW5nRGVzdGluYXRpb24gPVxuXHRcdFwiZ3VhcmRkdXR5OkRlc2NyaWJlUHVibGlzaGluZ0Rlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEaXNhYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50ID1cblx0XHRcImd1YXJkZHV0eTpEaXNhYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50XCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEaXNhc3NvY2lhdGVGcm9tQWRtaW5pc3RyYXRvckFjY291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUZyb21BZG1pbmlzdHJhdG9yQWNjb3VudCA9XG5cdFx0XCJndWFyZGR1dHk6RGlzYXNzb2NpYXRlRnJvbUFkbWluaXN0cmF0b3JBY2NvdW50XCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEaXNhc3NvY2lhdGVGcm9tTWFzdGVyQWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlRnJvbU1hc3RlckFjY291bnQgPVxuXHRcdFwiZ3VhcmRkdXR5OkRpc2Fzc29jaWF0ZUZyb21NYXN0ZXJBY2NvdW50XCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpEaXNhc3NvY2lhdGVNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVNZW1iZXJzID0gXCJndWFyZGR1dHk6RGlzYXNzb2NpYXRlTWVtYmVyc1wiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6RW5hYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQgPVxuXHRcdFwiZ3VhcmRkdXR5OkVuYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudFwiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRBZG1pbmlzdHJhdG9yQWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWRtaW5pc3RyYXRvckFjY291bnQgPVxuXHRcdFwiZ3VhcmRkdXR5OkdldEFkbWluaXN0cmF0b3JBY2NvdW50XCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldENvdmVyYWdlU3RhdGlzdGljcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q292ZXJhZ2VTdGF0aXN0aWNzID1cblx0XHRcImd1YXJkZHV0eTpHZXRDb3ZlcmFnZVN0YXRpc3RpY3NcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZSA9XG5cdFx0XCJndWFyZGR1dHk6R2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZVwiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbiA9XG5cdFx0XCJndWFyZGR1dHk6R2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldEN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJndWFyZGR1dHk6R2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0RGV0ZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERldGVjdG9yID0gXCJndWFyZGR1dHk6R2V0RGV0ZWN0b3JcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0RmlsdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGaWx0ZXIgPSBcImd1YXJkZHV0eTpHZXRGaWx0ZXJcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0RmluZGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZpbmRpbmdzID0gXCJndWFyZGR1dHk6R2V0RmluZGluZ3NcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0RmluZGluZ3NTdGF0aXN0aWNzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGaW5kaW5nc1N0YXRpc3RpY3MgPVxuXHRcdFwiZ3VhcmRkdXR5OkdldEZpbmRpbmdzU3RhdGlzdGljc1wiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRJUFNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SVBTZXQgPSBcImd1YXJkZHV0eTpHZXRJUFNldFwiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRJbnZlc3RpZ2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnZlc3RpZ2F0aW9uID0gXCJndWFyZGR1dHk6R2V0SW52ZXN0aWdhdGlvblwiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRJbnZpdGF0aW9uc0NvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnZpdGF0aW9uc0NvdW50ID0gXCJndWFyZGR1dHk6R2V0SW52aXRhdGlvbnNDb3VudFwiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRNYWx3YXJlUHJvdGVjdGlvblBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hbHdhcmVQcm90ZWN0aW9uUGxhbiA9XG5cdFx0XCJndWFyZGR1dHk6R2V0TWFsd2FyZVByb3RlY3Rpb25QbGFuXCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldE1hbHdhcmVTY2FuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYWx3YXJlU2NhbiA9IFwiZ3VhcmRkdXR5OkdldE1hbHdhcmVTY2FuXCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldE1hbHdhcmVTY2FuU2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hbHdhcmVTY2FuU2V0dGluZ3MgPVxuXHRcdFwiZ3VhcmRkdXR5OkdldE1hbHdhcmVTY2FuU2V0dGluZ3NcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0TWFzdGVyQWNjb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFzdGVyQWNjb3VudCA9IFwiZ3VhcmRkdXR5OkdldE1hc3RlckFjY291bnRcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0TWVtYmVyRGV0ZWN0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNZW1iZXJEZXRlY3RvcnMgPSBcImd1YXJkZHV0eTpHZXRNZW1iZXJEZXRlY3RvcnNcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0TWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWVtYmVycyA9IFwiZ3VhcmRkdXR5OkdldE1lbWJlcnNcIjtcblx0LyoqIFtSZWFkXSBndWFyZGR1dHk6R2V0T3JnYW5pemF0aW9uU3RhdGlzdGljcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3JnYW5pemF0aW9uU3RhdGlzdGljcyA9XG5cdFx0XCJndWFyZGR1dHk6R2V0T3JnYW5pemF0aW9uU3RhdGlzdGljc1wiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpHZXRSZW1haW5pbmdGcmVlVHJpYWxEYXlzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZW1haW5pbmdGcmVlVHJpYWxEYXlzID1cblx0XHRcImd1YXJkZHV0eTpHZXRSZW1haW5pbmdGcmVlVHJpYWxEYXlzXCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldFRocmVhdEVudGl0eVNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VGhyZWF0RW50aXR5U2V0ID0gXCJndWFyZGR1dHk6R2V0VGhyZWF0RW50aXR5U2V0XCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldFRocmVhdEludGVsU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUaHJlYXRJbnRlbFNldCA9IFwiZ3VhcmRkdXR5OkdldFRocmVhdEludGVsU2V0XCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldFRydXN0ZWRFbnRpdHlTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRydXN0ZWRFbnRpdHlTZXQgPSBcImd1YXJkZHV0eTpHZXRUcnVzdGVkRW50aXR5U2V0XCI7XG5cdC8qKiBbUmVhZF0gZ3VhcmRkdXR5OkdldFVzYWdlU3RhdGlzdGljcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VXNhZ2VTdGF0aXN0aWNzID0gXCJndWFyZGR1dHk6R2V0VXNhZ2VTdGF0aXN0aWNzXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpJbnZpdGVNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBJbnZpdGVNZW1iZXJzID0gXCJndWFyZGR1dHk6SW52aXRlTWVtYmVyc1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0Q292ZXJhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb3ZlcmFnZSA9IFwiZ3VhcmRkdXR5Okxpc3RDb3ZlcmFnZVwiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0Q3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbnMgPVxuXHRcdFwiZ3VhcmRkdXR5Okxpc3RDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbnMgPVxuXHRcdFwiZ3VhcmRkdXR5Okxpc3RDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBndWFyZGR1dHk6TGlzdEN1c3RvbURldGVjdGlvblJ1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q3VzdG9tRGV0ZWN0aW9uUnVsZXMgPVxuXHRcdFwiZ3VhcmRkdXR5Okxpc3RDdXN0b21EZXRlY3Rpb25SdWxlc1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0RGV0ZWN0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGV0ZWN0b3JzID0gXCJndWFyZGR1dHk6TGlzdERldGVjdG9yc1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0RmlsdGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZpbHRlcnMgPSBcImd1YXJkZHV0eTpMaXN0RmlsdGVyc1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0RmluZGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGaW5kaW5ncyA9IFwiZ3VhcmRkdXR5Okxpc3RGaW5kaW5nc1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0SVBTZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SVBTZXRzID0gXCJndWFyZGR1dHk6TGlzdElQU2V0c1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0SW52ZXN0aWdhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZlc3RpZ2F0aW9ucyA9IFwiZ3VhcmRkdXR5Okxpc3RJbnZlc3RpZ2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0SW52aXRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnZpdGF0aW9ucyA9IFwiZ3VhcmRkdXR5Okxpc3RJbnZpdGF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0TWFsd2FyZVByb3RlY3Rpb25QbGFucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1hbHdhcmVQcm90ZWN0aW9uUGxhbnMgPVxuXHRcdFwiZ3VhcmRkdXR5Okxpc3RNYWx3YXJlUHJvdGVjdGlvblBsYW5zXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RNYWx3YXJlU2NhbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYWx3YXJlU2NhbnMgPSBcImd1YXJkZHV0eTpMaXN0TWFsd2FyZVNjYW5zXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RNZW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWVtYmVycyA9IFwiZ3VhcmRkdXR5Okxpc3RNZW1iZXJzXCI7XG5cdC8qKiBbTGlzdF0gZ3VhcmRkdXR5Okxpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3JnYW5pemF0aW9uQWRtaW5BY2NvdW50cyA9XG5cdFx0XCJndWFyZGR1dHk6TGlzdE9yZ2FuaXphdGlvbkFkbWluQWNjb3VudHNcIjtcblx0LyoqIFtMaXN0XSBndWFyZGR1dHk6TGlzdFB1Ymxpc2hpbmdEZXN0aW5hdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQdWJsaXNoaW5nRGVzdGluYXRpb25zID1cblx0XHRcImd1YXJkZHV0eTpMaXN0UHVibGlzaGluZ0Rlc3RpbmF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGd1YXJkZHV0eTpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJndWFyZGR1dHk6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0VGhyZWF0RW50aXR5U2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRocmVhdEVudGl0eVNldHMgPSBcImd1YXJkZHV0eTpMaXN0VGhyZWF0RW50aXR5U2V0c1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0VGhyZWF0SW50ZWxTZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGhyZWF0SW50ZWxTZXRzID0gXCJndWFyZGR1dHk6TGlzdFRocmVhdEludGVsU2V0c1wiO1xuXHQvKiogW0xpc3RdIGd1YXJkZHV0eTpMaXN0VHJ1c3RlZEVudGl0eVNldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcnVzdGVkRW50aXR5U2V0cyA9IFwiZ3VhcmRkdXR5Okxpc3RUcnVzdGVkRW50aXR5U2V0c1wiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6U2VuZE9iamVjdE1hbHdhcmVTY2FuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kT2JqZWN0TWFsd2FyZVNjYW4gPSBcImd1YXJkZHV0eTpTZW5kT2JqZWN0TWFsd2FyZVNjYW5cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlNlbmRTZWN1cml0eVRlbGVtZXRyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFNlY3VyaXR5VGVsZW1ldHJ5ID0gXCJndWFyZGR1dHk6U2VuZFNlY3VyaXR5VGVsZW1ldHJ5XCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpTdGFydE1hbHdhcmVTY2FuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1hbHdhcmVTY2FuID0gXCJndWFyZGR1dHk6U3RhcnRNYWx3YXJlU2NhblwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6U3RhcnRNb25pdG9yaW5nTWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNb25pdG9yaW5nTWVtYmVycyA9IFwiZ3VhcmRkdXR5OlN0YXJ0TW9uaXRvcmluZ01lbWJlcnNcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlN0b3BNb25pdG9yaW5nTWVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcE1vbml0b3JpbmdNZW1iZXJzID0gXCJndWFyZGR1dHk6U3RvcE1vbml0b3JpbmdNZW1iZXJzXCI7XG5cdC8qKiBbVGFnZ2luZ10gZ3VhcmRkdXR5OlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwiZ3VhcmRkdXR5OlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpVbmFyY2hpdmVGaW5kaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW5hcmNoaXZlRmluZGluZ3MgPSBcImd1YXJkZHV0eTpVbmFyY2hpdmVGaW5kaW5nc1wiO1xuXHQvKiogW1RhZ2dpbmddIGd1YXJkZHV0eTpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJndWFyZGR1dHk6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6VXBkYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb24gPVxuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6VXBkYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uID1cblx0XHRcImd1YXJkZHV0eTpVcGRhdGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6VXBkYXRlRGV0ZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURldGVjdG9yID0gXCJndWFyZGR1dHk6VXBkYXRlRGV0ZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlVwZGF0ZUZpbHRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmlsdGVyID0gXCJndWFyZGR1dHk6VXBkYXRlRmlsdGVyXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpVcGRhdGVGaW5kaW5nc0ZlZWRiYWNrICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGaW5kaW5nc0ZlZWRiYWNrID0gXCJndWFyZGR1dHk6VXBkYXRlRmluZGluZ3NGZWVkYmFja1wiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6VXBkYXRlSVBTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUlQU2V0ID0gXCJndWFyZGR1dHk6VXBkYXRlSVBTZXRcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlVwZGF0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuID1cblx0XHRcImd1YXJkZHV0eTpVcGRhdGVNYWx3YXJlUHJvdGVjdGlvblBsYW5cIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlVwZGF0ZU1hbHdhcmVTY2FuU2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hbHdhcmVTY2FuU2V0dGluZ3MgPVxuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZU1hbHdhcmVTY2FuU2V0dGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlVwZGF0ZU1lbWJlckRldGVjdG9ycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWVtYmVyRGV0ZWN0b3JzID0gXCJndWFyZGR1dHk6VXBkYXRlTWVtYmVyRGV0ZWN0b3JzXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpVcGRhdGVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcImd1YXJkZHV0eTpVcGRhdGVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpVcGRhdGVQdWJsaXNoaW5nRGVzdGluYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbiA9XG5cdFx0XCJndWFyZGR1dHk6VXBkYXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGd1YXJkZHV0eTpVcGRhdGVUaHJlYXRFbnRpdHlTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRocmVhdEVudGl0eVNldCA9IFwiZ3VhcmRkdXR5OlVwZGF0ZVRocmVhdEVudGl0eVNldFwiO1xuXHQvKiogW1dyaXRlXSBndWFyZGR1dHk6VXBkYXRlVGhyZWF0SW50ZWxTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRocmVhdEludGVsU2V0ID0gXCJndWFyZGR1dHk6VXBkYXRlVGhyZWF0SW50ZWxTZXRcIjtcblx0LyoqIFtXcml0ZV0gZ3VhcmRkdXR5OlVwZGF0ZVRydXN0ZWRFbnRpdHlTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRydXN0ZWRFbnRpdHlTZXQgPSBcImd1YXJkZHV0eTpVcGRhdGVUcnVzdGVkRW50aXR5U2V0XCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5EZXNjcmliZU1hbHdhcmVTY2Fucyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlc2NyaWJlUHVibGlzaGluZ0Rlc3RpbmF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0QWRtaW5pc3RyYXRvckFjY291bnQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRDb3ZlcmFnZVN0YXRpc3RpY3MsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRDdXN0b21EZXRlY3Rpb25SdWxlLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXREZXRlY3Rvcixcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldEZpbHRlcixcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldEZpbmRpbmdzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0RmluZGluZ3NTdGF0aXN0aWNzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0SVBTZXQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRJbnZlc3RpZ2F0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0SW52aXRhdGlvbnNDb3VudCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldE1hbHdhcmVQcm90ZWN0aW9uUGxhbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldE1hbHdhcmVTY2FuLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0TWFsd2FyZVNjYW5TZXR0aW5ncyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldE1hc3RlckFjY291bnQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRNZW1iZXJEZXRlY3RvcnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRNZW1iZXJzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuYWN0aW9uR2V0T3JnYW5pemF0aW9uU3RhdGlzdGljcyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldFJlbWFpbmluZ0ZyZWVUcmlhbERheXMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRUaHJlYXRFbnRpdHlTZXQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRUaHJlYXRJbnRlbFNldCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLmFjdGlvbkdldFRydXN0ZWRFbnRpdHlTZXQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5hY3Rpb25HZXRVc2FnZVN0YXRpc3RpY3MsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQWNjZXB0QWRtaW5pc3RyYXRvckludml0YXRpb24sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5BY2NlcHRJbnZpdGF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQXJjaGl2ZUZpbmRpbmdzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQ3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQ3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5DcmVhdGVEZXRlY3Rvcixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkNyZWF0ZUZpbHRlcixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkNyZWF0ZUlQU2V0LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQ3JlYXRlSW52ZXN0aWdhdGlvbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkNyZWF0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkNyZWF0ZU1lbWJlcnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5DcmVhdGVQdWJsaXNoaW5nRGVzdGluYXRpb24sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5DcmVhdGVTYW1wbGVGaW5kaW5ncyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkNyZWF0ZVRocmVhdEVudGl0eVNldCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkNyZWF0ZVRocmVhdEludGVsU2V0LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuQ3JlYXRlVHJ1c3RlZEVudGl0eVNldCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlY2xpbmVJbnZpdGF0aW9ucyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlbGV0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlbGV0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVsZXRlRGV0ZWN0b3IsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5EZWxldGVGaWx0ZXIsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5EZWxldGVJUFNldCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlbGV0ZUludml0YXRpb25zLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVsZXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVsZXRlTWVtYmVycyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlbGV0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlbGV0ZVRocmVhdEVudGl0eVNldCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRlbGV0ZVRocmVhdEludGVsU2V0LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuRGVsZXRlVHJ1c3RlZEVudGl0eVNldCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRpc2FibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5EaXNhc3NvY2lhdGVGcm9tQWRtaW5pc3RyYXRvckFjY291bnQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5EaXNhc3NvY2lhdGVGcm9tTWFzdGVyQWNjb3VudCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkRpc2Fzc29jaWF0ZU1lbWJlcnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5FbmFibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5JbnZpdGVNZW1iZXJzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuU2VuZE9iamVjdE1hbHdhcmVTY2FuLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuU2VuZFNlY3VyaXR5VGVsZW1ldHJ5LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuU3RhcnRNYWx3YXJlU2Nhbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLlN0YXJ0TW9uaXRvcmluZ01lbWJlcnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5TdG9wTW9uaXRvcmluZ01lbWJlcnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5VbmFyY2hpdmVGaW5kaW5ncyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLlVwZGF0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLlVwZGF0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVXBkYXRlRGV0ZWN0b3IsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5VcGRhdGVGaWx0ZXIsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5VcGRhdGVGaW5kaW5nc0ZlZWRiYWNrLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVXBkYXRlSVBTZXQsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5VcGRhdGVNYWx3YXJlUHJvdGVjdGlvblBsYW4sXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5VcGRhdGVNYWx3YXJlU2NhblNldHRpbmdzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVXBkYXRlTWVtYmVyRGV0ZWN0b3JzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVXBkYXRlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLlVwZGF0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbixcblx0XHRHdWFyZER1dHlBY3Rpb25zLlVwZGF0ZVRocmVhdEVudGl0eVNldCxcblx0XHRHdWFyZER1dHlBY3Rpb25zLlVwZGF0ZVRocmVhdEludGVsU2V0LFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVXBkYXRlVHJ1c3RlZEVudGl0eVNldCxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0Q292ZXJhZ2UsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0Q3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9ucyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3RDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0Q3VzdG9tRGV0ZWN0aW9uUnVsZXMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0RGV0ZWN0b3JzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuTGlzdEZpbHRlcnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0RmluZGluZ3MsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0SVBTZXRzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuTGlzdEludmVzdGlnYXRpb25zLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuTGlzdEludml0YXRpb25zLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuTGlzdE1hbHdhcmVQcm90ZWN0aW9uUGxhbnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0TWFsd2FyZVNjYW5zLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuTGlzdE1lbWJlcnMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0T3JnYW5pemF0aW9uQWRtaW5BY2NvdW50cyxcblx0XHRHdWFyZER1dHlBY3Rpb25zLkxpc3RQdWJsaXNoaW5nRGVzdGluYXRpb25zLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuTGlzdFRocmVhdEVudGl0eVNldHMsXG5cdFx0R3VhcmREdXR5QWN0aW9ucy5MaXN0VGhyZWF0SW50ZWxTZXRzLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuTGlzdFRydXN0ZWRFbnRpdHlTZXRzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRHdWFyZER1dHlBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdEd1YXJkRHV0eUFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGN1c3RvbWRldGVjdGlvbnJ1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEd1YXJkRHV0eUN1c3RvbWRldGVjdGlvbnJ1bGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUnVsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBydWxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjdXN0b21kZXRlY3Rpb25ydWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlDdXN0b21kZXRlY3Rpb25ydWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSdWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBydWxlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGN1c3RvbWRldGVjdGlvbnJ1bGVhc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5Q3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFJ1bGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcnVsZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXNzb2NpYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXNzb2NpYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGN1c3RvbWRldGVjdGlvbnJ1bGVhc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5Q3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSdWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBydWxlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBBc3NvY2lhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXNzb2NpYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGV0ZWN0b3IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEd1YXJkRHV0eURldGVjdG9yQXJuUHJvcHMge1xuXHQvKiogVGhlIERldGVjdG9ySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRldGVjdG9ySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkZXRlY3RvciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5RGV0ZWN0b3JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERldGVjdG9ySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmaWx0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEd1YXJkRHV0eUZpbHRlckFyblByb3BzIHtcblx0LyoqIFRoZSBEZXRlY3RvcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgRmlsdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmlsdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZpbHRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5RmlsdGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEZXRlY3RvcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGV0ZWN0b3JJZDogc3RyaW5nO1xuXHQvKiogVGhlIEZpbHRlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBmaWx0ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpcHNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5SXBzZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGV0ZWN0b3JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGV0ZWN0b3JJZDogc3RyaW5nO1xuXHQvKiogVGhlIElQU2V0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlwU2V0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpcHNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5SXBzZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERldGVjdG9ySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgSVBTZXRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlwU2V0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1hbHdhcmVwcm90ZWN0aW9ucGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5TWFsd2FyZXByb3RlY3Rpb25wbGFuQXJuUHJvcHMge1xuXHQvKiogVGhlIE1hbHdhcmVQcm90ZWN0aW9uUGxhbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtYWx3YXJlUHJvdGVjdGlvblBsYW5JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1hbHdhcmVwcm90ZWN0aW9ucGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5TWFsd2FyZXByb3RlY3Rpb25wbGFuQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBNYWx3YXJlUHJvdGVjdGlvblBsYW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1hbHdhcmVQcm90ZWN0aW9uUGxhbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwdWJsaXNoaW5nRGVzdGluYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEd1YXJkRHV0eVB1Ymxpc2hpbmdEZXN0aW5hdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBEZXRlY3RvcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHVibGlzaGluZ0Rlc3RpbmF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHB1Ymxpc2hpbmdEZXN0aW5hdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHVibGlzaGluZ0Rlc3RpbmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlQdWJsaXNoaW5nRGVzdGluYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERldGVjdG9ySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHVibGlzaGluZ0Rlc3RpbmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwdWJsaXNoaW5nRGVzdGluYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdGhyZWF0ZW50aXR5c2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlUaHJlYXRlbnRpdHlzZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGV0ZWN0b3JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGV0ZWN0b3JJZDogc3RyaW5nO1xuXHQvKiogVGhlIFRocmVhdEVudGl0eVNldElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0aHJlYXRFbnRpdHlTZXRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRocmVhdGVudGl0eXNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5VGhyZWF0ZW50aXR5c2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEZXRlY3RvcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGV0ZWN0b3JJZDogc3RyaW5nO1xuXHQvKiogVGhlIFRocmVhdEVudGl0eVNldElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGhyZWF0RW50aXR5U2V0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRocmVhdGludGVsc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlUaHJlYXRpbnRlbHNldEFyblByb3BzIHtcblx0LyoqIFRoZSBEZXRlY3RvcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGhyZWF0SW50ZWxTZXRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGhyZWF0SW50ZWxTZXRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRocmVhdGludGVsc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlUaHJlYXRpbnRlbHNldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGV0ZWN0b3JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRldGVjdG9ySWQ6IHN0cmluZztcblx0LyoqIFRoZSBUaHJlYXRJbnRlbFNldElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGhyZWF0SW50ZWxTZXRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdHJ1c3RlZGVudGl0eXNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3VhcmREdXR5VHJ1c3RlZGVudGl0eXNldEFyblByb3BzIHtcblx0LyoqIFRoZSBEZXRlY3RvcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkZXRlY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJ1c3RlZEVudGl0eVNldElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cnVzdGVkRW50aXR5U2V0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0cnVzdGVkZW50aXR5c2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHdWFyZER1dHlUcnVzdGVkZW50aXR5c2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEZXRlY3RvcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGV0ZWN0b3JJZDogc3RyaW5nO1xuXHQvKiogVGhlIFRydXN0ZWRFbnRpdHlTZXRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRydXN0ZWRFbnRpdHlTZXRJZDogc3RyaW5nO1xufVxuXG5jb25zdCBDdXN0b21kZXRlY3Rpb25ydWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmd1YXJkZHV0eTo6YXdzOmRldGVjdGlvbi1ydWxlXFwvY3VzdG9tXFwvKD88cnVsZUlkPlteOi8/XSspJC87XG5jb25zdCBDdXN0b21kZXRlY3Rpb25ydWxlYXNzb2NpYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Z3VhcmRkdXR5Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGV0ZWN0aW9uLXJ1bGVcXC9jdXN0b21cXC8oPzxydWxlSWQ+W146Lz9dKylcXC9hc3NvY2lhdGlvblxcLyg/PGFzc29jaWF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IERldGVjdG9yQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmd1YXJkZHV0eTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldGVjdG9yXFwvKD88ZGV0ZWN0b3JJZD5bXjovP10rKSQvO1xuY29uc3QgRmlsdGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmd1YXJkZHV0eTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldGVjdG9yXFwvKD88ZGV0ZWN0b3JJZD5bXjovP10rKVxcL2ZpbHRlclxcLyg/PGZpbHRlck5hbWU+W146Lz9dKykkLztcbmNvbnN0IElwc2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmd1YXJkZHV0eTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldGVjdG9yXFwvKD88ZGV0ZWN0b3JJZD5bXjovP10rKVxcL2lwc2V0XFwvKD88aXBTZXRJZD5bXjovP10rKSQvO1xuY29uc3QgTWFsd2FyZXByb3RlY3Rpb25wbGFuQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmd1YXJkZHV0eTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1hbHdhcmUtcHJvdGVjdGlvbi1wbGFuXFwvKD88bWFsd2FyZVByb3RlY3Rpb25QbGFuSWQ+W146Lz9dKykkLztcbmNvbnN0IFB1Ymxpc2hpbmdEZXN0aW5hdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpndWFyZGR1dHk6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkZXRlY3RvclxcLyg/PGRldGVjdG9ySWQ+W146Lz9dKylcXC9wdWJsaXNoaW5nZGVzdGluYXRpb25cXC8oPzxwdWJsaXNoaW5nRGVzdGluYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgVGhyZWF0ZW50aXR5c2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmd1YXJkZHV0eTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRldGVjdG9yXFwvKD88ZGV0ZWN0b3JJZD5bXjovP10rKVxcL3RocmVhdGVudGl0eXNldFxcLyg/PHRocmVhdEVudGl0eVNldElkPlteOi8/XSspJC87XG5jb25zdCBUaHJlYXRpbnRlbHNldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpndWFyZGR1dHk6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkZXRlY3RvclxcLyg/PGRldGVjdG9ySWQ+W146Lz9dKylcXC90aHJlYXRpbnRlbHNldFxcLyg/PHRocmVhdEludGVsU2V0SWQ+W146Lz9dKykkLztcbmNvbnN0IFRydXN0ZWRlbnRpdHlzZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Z3VhcmRkdXR5Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGV0ZWN0b3JcXC8oPzxkZXRlY3RvcklkPlteOi8/XSspXFwvdHJ1c3RlZGVudGl0eXNldFxcLyg/PHRydXN0ZWRFbnRpdHlTZXRJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGd1YXJkZHV0eSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHdWFyZER1dHlSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGN1c3RvbWRldGVjdGlvbnJ1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY3VzdG9tZGV0ZWN0aW9ucnVsZShcblx0XHRwcm9wczogR3VhcmREdXR5Q3VzdG9tZGV0ZWN0aW9ucnVsZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Omd1YXJkZHV0eTo6YXdzOmRldGVjdGlvbi1ydWxlL2N1c3RvbS8ke3Byb3BzLnJ1bGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY3VzdG9tZGV0ZWN0aW9ucnVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ3VzdG9tZGV0ZWN0aW9ucnVsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDdXN0b21kZXRlY3Rpb25ydWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGN1c3RvbWRldGVjdGlvbnJ1bGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ3VzdG9tZGV0ZWN0aW9ucnVsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogR3VhcmREdXR5Q3VzdG9tZGV0ZWN0aW9ucnVsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ3VzdG9tZGV0ZWN0aW9ucnVsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjdXN0b21kZXRlY3Rpb25ydWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJ1bGVJZDogbWF0Y2guZ3JvdXBzIS5ydWxlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbWRldGVjdGlvbnJ1bGVhc3NvY2lhdGlvbihcblx0XHRwcm9wczogR3VhcmREdXR5Q3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Z3VhcmRkdXR5OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRldGVjdGlvbi1ydWxlL2N1c3RvbS8ke3Byb3BzLnJ1bGVJZH0vYXNzb2NpYXRpb24vJHtwcm9wcy5hc3NvY2lhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjdXN0b21kZXRlY3Rpb25ydWxlYXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEN1c3RvbWRldGVjdGlvbnJ1bGVhc3NvY2lhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDdXN0b21kZXRlY3Rpb25ydWxlYXNzb2NpYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUN1c3RvbWRldGVjdGlvbnJ1bGVhc3NvY2lhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogR3VhcmREdXR5Q3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDdXN0b21kZXRlY3Rpb25ydWxlYXNzb2NpYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3VzdG9tZGV0ZWN0aW9ucnVsZWFzc29jaWF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJ1bGVJZDogbWF0Y2guZ3JvdXBzIS5ydWxlSWQsXG5cdFx0XHRhc3NvY2lhdGlvbklkOiBtYXRjaC5ncm91cHMhLmFzc29jaWF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGV0ZWN0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGV0ZWN0b3IocHJvcHM6IEd1YXJkRHV0eURldGVjdG9yQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Omd1YXJkZHV0eToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkZXRlY3Rvci8ke3Byb3BzLmRldGVjdG9ySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRldGVjdG9yIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREZXRlY3RvckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEZXRlY3RvckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkZXRlY3RvciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEZXRlY3RvckFybihhcm46IHN0cmluZyk6IEd1YXJkRHV0eURldGVjdG9yQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEZXRlY3RvckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZXRlY3RvciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkZXRlY3RvcklkOiBtYXRjaC5ncm91cHMhLmRldGVjdG9ySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmlsdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZpbHRlcihwcm9wczogR3VhcmREdXR5RmlsdGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Omd1YXJkZHV0eToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkZXRlY3Rvci8ke3Byb3BzLmRldGVjdG9ySWR9L2ZpbHRlci8ke3Byb3BzLmZpbHRlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZpbHRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmlsdGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEZpbHRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmaWx0ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmlsdGVyQXJuKGFybjogc3RyaW5nKTogR3VhcmREdXR5RmlsdGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGaWx0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmlsdGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRldGVjdG9ySWQ6IG1hdGNoLmdyb3VwcyEuZGV0ZWN0b3JJZCxcblx0XHRcdGZpbHRlck5hbWU6IG1hdGNoLmdyb3VwcyEuZmlsdGVyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpcHNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpcHNldChwcm9wczogR3VhcmREdXR5SXBzZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Z3VhcmRkdXR5OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRldGVjdG9yLyR7cHJvcHMuZGV0ZWN0b3JJZH0vaXBzZXQvJHtwcm9wcy5pcFNldElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpcHNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSXBzZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSXBzZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaXBzZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSXBzZXRBcm4oYXJuOiBzdHJpbmcpOiBHdWFyZER1dHlJcHNldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSXBzZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaXBzZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGV0ZWN0b3JJZDogbWF0Y2guZ3JvdXBzIS5kZXRlY3RvcklkLFxuXHRcdFx0aXBTZXRJZDogbWF0Y2guZ3JvdXBzIS5pcFNldElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1hbHdhcmVwcm90ZWN0aW9ucGxhbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtYWx3YXJlcHJvdGVjdGlvbnBsYW4oXG5cdFx0cHJvcHM6IEd1YXJkRHV0eU1hbHdhcmVwcm90ZWN0aW9ucGxhbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Omd1YXJkZHV0eToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptYWx3YXJlLXByb3RlY3Rpb24tcGxhbi8ke3Byb3BzLm1hbHdhcmVQcm90ZWN0aW9uUGxhbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtYWx3YXJlcHJvdGVjdGlvbnBsYW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1hbHdhcmVwcm90ZWN0aW9ucGxhbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNYWx3YXJlcHJvdGVjdGlvbnBsYW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbWFsd2FyZXByb3RlY3Rpb25wbGFuIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1hbHdhcmVwcm90ZWN0aW9ucGxhbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogR3VhcmREdXR5TWFsd2FyZXByb3RlY3Rpb25wbGFuQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNYWx3YXJlcHJvdGVjdGlvbnBsYW5Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWFsd2FyZXByb3RlY3Rpb25wbGFuIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1hbHdhcmVQcm90ZWN0aW9uUGxhbklkOiBtYXRjaC5ncm91cHMhLm1hbHdhcmVQcm90ZWN0aW9uUGxhbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHB1Ymxpc2hpbmdEZXN0aW5hdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwdWJsaXNoaW5nRGVzdGluYXRpb24oXG5cdFx0cHJvcHM6IEd1YXJkRHV0eVB1Ymxpc2hpbmdEZXN0aW5hdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Omd1YXJkZHV0eToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkZXRlY3Rvci8ke3Byb3BzLmRldGVjdG9ySWR9L3B1Ymxpc2hpbmdkZXN0aW5hdGlvbi8ke3Byb3BzLnB1Ymxpc2hpbmdEZXN0aW5hdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwdWJsaXNoaW5nRGVzdGluYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFB1Ymxpc2hpbmdEZXN0aW5hdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQdWJsaXNoaW5nRGVzdGluYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHVibGlzaGluZ0Rlc3RpbmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogR3VhcmREdXR5UHVibGlzaGluZ0Rlc3RpbmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQdWJsaXNoaW5nRGVzdGluYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHVibGlzaGluZ0Rlc3RpbmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRldGVjdG9ySWQ6IG1hdGNoLmdyb3VwcyEuZGV0ZWN0b3JJZCxcblx0XHRcdHB1Ymxpc2hpbmdEZXN0aW5hdGlvbklkOiBtYXRjaC5ncm91cHMhLnB1Ymxpc2hpbmdEZXN0aW5hdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRocmVhdGVudGl0eXNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0aHJlYXRlbnRpdHlzZXQocHJvcHM6IEd1YXJkRHV0eVRocmVhdGVudGl0eXNldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpndWFyZGR1dHk6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGV0ZWN0b3IvJHtwcm9wcy5kZXRlY3RvcklkfS90aHJlYXRlbnRpdHlzZXQvJHtwcm9wcy50aHJlYXRFbnRpdHlTZXRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdGhyZWF0ZW50aXR5c2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUaHJlYXRlbnRpdHlzZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVGhyZWF0ZW50aXR5c2V0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRocmVhdGVudGl0eXNldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUaHJlYXRlbnRpdHlzZXRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEd1YXJkRHV0eVRocmVhdGVudGl0eXNldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVGhyZWF0ZW50aXR5c2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRocmVhdGVudGl0eXNldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkZXRlY3RvcklkOiBtYXRjaC5ncm91cHMhLmRldGVjdG9ySWQsXG5cdFx0XHR0aHJlYXRFbnRpdHlTZXRJZDogbWF0Y2guZ3JvdXBzIS50aHJlYXRFbnRpdHlTZXRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0aHJlYXRpbnRlbHNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0aHJlYXRpbnRlbHNldChwcm9wczogR3VhcmREdXR5VGhyZWF0aW50ZWxzZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Z3VhcmRkdXR5OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRldGVjdG9yLyR7cHJvcHMuZGV0ZWN0b3JJZH0vdGhyZWF0aW50ZWxzZXQvJHtwcm9wcy50aHJlYXRJbnRlbFNldElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0aHJlYXRpbnRlbHNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGhyZWF0aW50ZWxzZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVGhyZWF0aW50ZWxzZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdGhyZWF0aW50ZWxzZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGhyZWF0aW50ZWxzZXRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEd1YXJkRHV0eVRocmVhdGludGVsc2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUaHJlYXRpbnRlbHNldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0aHJlYXRpbnRlbHNldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkZXRlY3RvcklkOiBtYXRjaC5ncm91cHMhLmRldGVjdG9ySWQsXG5cdFx0XHR0aHJlYXRJbnRlbFNldElkOiBtYXRjaC5ncm91cHMhLnRocmVhdEludGVsU2V0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdHJ1c3RlZGVudGl0eXNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0cnVzdGVkZW50aXR5c2V0KHByb3BzOiBHdWFyZER1dHlUcnVzdGVkZW50aXR5c2V0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Omd1YXJkZHV0eToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkZXRlY3Rvci8ke3Byb3BzLmRldGVjdG9ySWR9L3RydXN0ZWRlbnRpdHlzZXQvJHtwcm9wcy50cnVzdGVkRW50aXR5U2V0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRydXN0ZWRlbnRpdHlzZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRydXN0ZWRlbnRpdHlzZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVHJ1c3RlZGVudGl0eXNldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cnVzdGVkZW50aXR5c2V0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRydXN0ZWRlbnRpdHlzZXRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEd1YXJkRHV0eVRydXN0ZWRlbnRpdHlzZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRydXN0ZWRlbnRpdHlzZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJ1c3RlZGVudGl0eXNldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkZXRlY3RvcklkOiBtYXRjaC5ncm91cHMhLmRldGVjdG9ySWQsXG5cdFx0XHR0cnVzdGVkRW50aXR5U2V0SWQ6IG1hdGNoLmdyb3VwcyEudHJ1c3RlZEVudGl0eVNldElkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGd1YXJkZHV0eS5cbiAqL1xuZXhwb3J0IGNsYXNzIEd1YXJkRHV0eU9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBY2NlcHRBZG1pbmlzdHJhdG9ySW52aXRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdEFkbWluaXN0cmF0b3JJbnZpdGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpBY2NlcHRBZG1pbmlzdHJhdG9ySW52aXRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBY2NlcHRJbnZpdGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0SW52aXRhdGlvbjogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6QWNjZXB0SW52aXRhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXJjaGl2ZUZpbmRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXJjaGl2ZUZpbmRpbmdzOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpBcmNoaXZlRmluZGluZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uXCIsXG5cdFx0XCJndWFyZGR1dHk6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGV0ZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEZXRlY3Rvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlRGV0ZWN0b3JcIixcblx0XHRcImd1YXJkZHV0eTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGaWx0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVGaWx0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkNyZWF0ZUZpbHRlclwiLFxuXHRcdFwiZ3VhcmRkdXR5OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUlQU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSVBTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkNyZWF0ZUlQU2V0XCIsXG5cdFx0XCJndWFyZGR1dHk6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW52ZXN0aWdhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludmVzdGlnYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkNyZWF0ZUludmVzdGlnYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpDcmVhdGVNYWx3YXJlUHJvdGVjdGlvblBsYW5cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZ3VhcmRkdXR5OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1lbWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNZW1iZXJzOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpDcmVhdGVNZW1iZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQdWJsaXNoaW5nRGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQdWJsaXNoaW5nRGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkNyZWF0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvblwiLFxuXHRcdFwiZ3VhcmRkdXR5OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNhbXBsZUZpbmRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2FtcGxlRmluZGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkNyZWF0ZVNhbXBsZUZpbmRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRocmVhdEVudGl0eVNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRocmVhdEVudGl0eVNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlVGhyZWF0RW50aXR5U2V0XCIsXG5cdFx0XCJndWFyZGR1dHk6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVGhyZWF0SW50ZWxTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUaHJlYXRJbnRlbFNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlVGhyZWF0SW50ZWxTZXRcIixcblx0XHRcImd1YXJkZHV0eTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcnVzdGVkRW50aXR5U2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJ1c3RlZEVudGl0eVNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6Q3JlYXRlVHJ1c3RlZEVudGl0eVNldFwiLFxuXHRcdFwiZ3VhcmRkdXR5OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlY2xpbmVJbnZpdGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY2xpbmVJbnZpdGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6RGVjbGluZUludml0YXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6RGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkRlbGV0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURldGVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGV0ZWN0b3I6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OkRlbGV0ZURldGVjdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGaWx0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGaWx0ZXI6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OkRlbGV0ZUZpbHRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSVBTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJUFNldDogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6RGVsZXRlSVBTZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUludml0YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW52aXRhdGlvbnM6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OkRlbGV0ZUludml0YXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNYWx3YXJlUHJvdGVjdGlvblBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNYWx3YXJlUHJvdGVjdGlvblBsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkRlbGV0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVtYmVyczogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6RGVsZXRlTWVtYmVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpEZWxldGVQdWJsaXNoaW5nRGVzdGluYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGhyZWF0RW50aXR5U2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGhyZWF0RW50aXR5U2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpEZWxldGVUaHJlYXRFbnRpdHlTZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGhyZWF0SW50ZWxTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUaHJlYXRJbnRlbFNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6RGVsZXRlVGhyZWF0SW50ZWxTZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVHJ1c3RlZEVudGl0eVNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRydXN0ZWRFbnRpdHlTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkRlbGV0ZVRydXN0ZWRFbnRpdHlTZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNYWx3YXJlU2NhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1hbHdhcmVTY2Fuczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6RGVzY3JpYmVNYWx3YXJlU2NhbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcmdhbml6YXRpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQdWJsaXNoaW5nRGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6RGVzY3JpYmVQdWJsaXNoaW5nRGVzdGluYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYWJsZU9yZ2FuaXphdGlvbkFkbWluQWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkRpc2FibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlRnJvbUFkbWluaXN0cmF0b3JBY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlRnJvbUFkbWluaXN0cmF0b3JBY2NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpEaXNhc3NvY2lhdGVGcm9tQWRtaW5pc3RyYXRvckFjY291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlRnJvbU1hc3RlckFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVGcm9tTWFzdGVyQWNjb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6RGlzYXNzb2NpYXRlRnJvbU1hc3RlckFjY291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlTWVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU1lbWJlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkRpc2Fzc29jaWF0ZU1lbWJlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRW5hYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlT3JnYW5pemF0aW9uQWRtaW5BY2NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpFbmFibGVPcmdhbml6YXRpb25BZG1pbkFjY291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWRtaW5pc3RyYXRvckFjY291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFkbWluaXN0cmF0b3JBY2NvdW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpHZXRBZG1pbmlzdHJhdG9yQWNjb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb3ZlcmFnZVN0YXRpc3RpY3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvdmVyYWdlU3RhdGlzdGljczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0Q292ZXJhZ2VTdGF0aXN0aWNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEN1c3RvbURldGVjdGlvblJ1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEN1c3RvbURldGVjdGlvblJ1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldEN1c3RvbURldGVjdGlvblJ1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldEN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldEN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERldGVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZXRlY3Rvcjogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6R2V0RGV0ZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZpbHRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RmlsdGVyOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpHZXRGaWx0ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZpbmRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGaW5kaW5nczogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6R2V0RmluZGluZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZpbmRpbmdzU3RhdGlzdGljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RmluZGluZ3NTdGF0aXN0aWNzOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpHZXRGaW5kaW5nc1N0YXRpc3RpY3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SVBTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldElQU2V0OiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpHZXRJUFNldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW52ZXN0aWdhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW52ZXN0aWdhdGlvbjogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6R2V0SW52ZXN0aWdhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW52aXRhdGlvbnNDb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW52aXRhdGlvbnNDb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0SW52aXRhdGlvbnNDb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYWx3YXJlUHJvdGVjdGlvblBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hbHdhcmVQcm90ZWN0aW9uUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6R2V0TWFsd2FyZVByb3RlY3Rpb25QbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1hbHdhcmVTY2FuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNYWx3YXJlU2Nhbjogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6R2V0TWFsd2FyZVNjYW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1hbHdhcmVTY2FuU2V0dGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1hbHdhcmVTY2FuU2V0dGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldE1hbHdhcmVTY2FuU2V0dGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFzdGVyQWNjb3VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWFzdGVyQWNjb3VudDogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6R2V0TWFzdGVyQWNjb3VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWVtYmVyRGV0ZWN0b3JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNZW1iZXJEZXRlY3RvcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldE1lbWJlckRldGVjdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNZW1iZXJzOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpHZXRNZW1iZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcmdhbml6YXRpb25TdGF0aXN0aWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPcmdhbml6YXRpb25TdGF0aXN0aWNzOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpHZXRPcmdhbml6YXRpb25TdGF0aXN0aWNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlbWFpbmluZ0ZyZWVUcmlhbERheXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlbWFpbmluZ0ZyZWVUcmlhbERheXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldFJlbWFpbmluZ0ZyZWVUcmlhbERheXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VGhyZWF0RW50aXR5U2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUaHJlYXRFbnRpdHlTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldFRocmVhdEVudGl0eVNldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUaHJlYXRJbnRlbFNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VGhyZWF0SW50ZWxTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldFRocmVhdEludGVsU2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFRydXN0ZWRFbnRpdHlTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFRydXN0ZWRFbnRpdHlTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldFRydXN0ZWRFbnRpdHlTZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXNhZ2VTdGF0aXN0aWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVc2FnZVN0YXRpc3RpY3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OkdldFVzYWdlU3RhdGlzdGljc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbnZpdGVNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW52aXRlTWVtYmVyczogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6SW52aXRlTWVtYmVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvdmVyYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvdmVyYWdlOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpMaXN0Q292ZXJhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5Okxpc3RDdXN0b21EZXRlY3Rpb25SdWxlQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDdXN0b21EZXRlY3Rpb25SdWxlT3JnQ29uZmlndXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpMaXN0Q3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDdXN0b21EZXRlY3Rpb25SdWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21EZXRlY3Rpb25SdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6TGlzdEN1c3RvbURldGVjdGlvblJ1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REZXRlY3RvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGV0ZWN0b3JzOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpMaXN0RGV0ZWN0b3JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RmlsdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGaWx0ZXJzOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpMaXN0RmlsdGVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZpbmRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZpbmRpbmdzOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpMaXN0RmluZGluZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJUFNldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SVBTZXRzOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpMaXN0SVBTZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW52ZXN0aWdhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52ZXN0aWdhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5Okxpc3RJbnZlc3RpZ2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW52aXRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52aXRhdGlvbnM6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5Okxpc3RJbnZpdGF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1hbHdhcmVQcm90ZWN0aW9uUGxhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWFsd2FyZVByb3RlY3Rpb25QbGFuczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6TGlzdE1hbHdhcmVQcm90ZWN0aW9uUGxhbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1hbHdhcmVTY2FucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNYWx3YXJlU2NhbnM6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5Okxpc3RNYWx3YXJlU2NhbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNZW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnM6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5Okxpc3RNZW1iZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T3JnYW5pemF0aW9uQWRtaW5BY2NvdW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcmdhbml6YXRpb25BZG1pbkFjY291bnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpMaXN0T3JnYW5pemF0aW9uQWRtaW5BY2NvdW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHVibGlzaGluZ0Rlc3RpbmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQdWJsaXNoaW5nRGVzdGluYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpMaXN0UHVibGlzaGluZ0Rlc3RpbmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGhyZWF0RW50aXR5U2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRFbnRpdHlTZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpMaXN0VGhyZWF0RW50aXR5U2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGhyZWF0SW50ZWxTZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRocmVhdEludGVsU2V0czogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6TGlzdFRocmVhdEludGVsU2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJ1c3RlZEVudGl0eVNldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJ1c3RlZEVudGl0eVNldHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5Okxpc3RUcnVzdGVkRW50aXR5U2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kT2JqZWN0TWFsd2FyZVNjYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kT2JqZWN0TWFsd2FyZVNjYW46IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OlNlbmRPYmplY3RNYWx3YXJlU2NhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydE1hbHdhcmVTY2FuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNYWx3YXJlU2Nhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImd1YXJkZHV0eTpTdGFydE1hbHdhcmVTY2FuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TW9uaXRvcmluZ01lbWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1vbml0b3JpbmdNZW1iZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpTdGFydE1vbml0b3JpbmdNZW1iZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BNb25pdG9yaW5nTWVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BNb25pdG9yaW5nTWVtYmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6U3RvcE1vbml0b3JpbmdNZW1iZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbmFyY2hpdmVGaW5kaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVuYXJjaGl2ZUZpbmRpbmdzOiBzdHJpbmdbXSA9IFtcImd1YXJkZHV0eTpVbmFyY2hpdmVGaW5kaW5nc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6VXBkYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZU9yZ0NvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZUN1c3RvbURldGVjdGlvblJ1bGVPcmdDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURldGVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGV0ZWN0b3I6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OlVwZGF0ZURldGVjdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVGaWx0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGaWx0ZXI6IHN0cmluZ1tdID0gW1wiZ3VhcmRkdXR5OlVwZGF0ZUZpbHRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmluZGluZ3NGZWVkYmFjayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZpbmRpbmdzRmVlZGJhY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZUZpbmRpbmdzRmVlZGJhY2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSVBTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJUFNldDogc3RyaW5nW10gPSBbXCJndWFyZGR1dHk6VXBkYXRlSVBTZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImd1YXJkZHV0eTpVcGRhdGVNYWx3YXJlUHJvdGVjdGlvblBsYW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWFsd2FyZVNjYW5TZXR0aW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hbHdhcmVTY2FuU2V0dGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZU1hbHdhcmVTY2FuU2V0dGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWVtYmVyRGV0ZWN0b3JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWVtYmVyRGV0ZWN0b3JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpVcGRhdGVNZW1iZXJEZXRlY3RvcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlT3JnYW5pemF0aW9uQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZU9yZ2FuaXphdGlvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpVcGRhdGVQdWJsaXNoaW5nRGVzdGluYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVGhyZWF0RW50aXR5U2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGhyZWF0RW50aXR5U2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImd1YXJkZHV0eTpVcGRhdGVUaHJlYXRFbnRpdHlTZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVGhyZWF0SW50ZWxTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUaHJlYXRJbnRlbFNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJndWFyZGR1dHk6VXBkYXRlVGhyZWF0SW50ZWxTZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVHJ1c3RlZEVudGl0eVNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRydXN0ZWRFbnRpdHlTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZ3VhcmRkdXR5OlVwZGF0ZVRydXN0ZWRFbnRpdHlTZXRcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGd1YXJkZHV0eS5cbiAqL1xuZXhwb3J0IGNsYXNzIEd1YXJkRHV0eUNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ3VzdG9tRGV0ZWN0aW9uUnVsZUFzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbURldGVjdGlvblJ1bGVBc3NvY2lhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIiwgXCJhd3M6VGFnS2V5c1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURldGVjdG9yIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURldGVjdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVGaWx0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmlsdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJUFNldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJUFNldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTWFsd2FyZVByb3RlY3Rpb25QbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1hbHdhcmVQcm90ZWN0aW9uUGxhbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHVibGlzaGluZ0Rlc3RpbmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVB1Ymxpc2hpbmdEZXN0aW5hdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVGhyZWF0RW50aXR5U2V0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRocmVhdEVudGl0eVNldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVGhyZWF0SW50ZWxTZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGhyZWF0SW50ZWxTZXRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRydXN0ZWRFbnRpdHlTZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJ1c3RlZEVudGl0eVNldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
|