@cdk_utils/iam 1.15.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 +11513 -8625
- package/lib/generated/services/a2c.js +1 -1
- package/lib/generated/services/a4b.js +3 -3
- package/lib/generated/services/access-analyzer.js +4 -4
- package/lib/generated/services/account-access.js +4 -4
- package/lib/generated/services/account.js +4 -4
- package/lib/generated/services/acm-pca.js +4 -4
- package/lib/generated/services/acm.js +4 -4
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +4 -4
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.js +4 -4
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.js +4 -4
- package/lib/generated/services/appfabric.js +4 -4
- package/lib/generated/services/appflow.js +4 -4
- package/lib/generated/services/application-autoscaling.js +4 -4
- package/lib/generated/services/application-signals-mcp.js +3 -3
- package/lib/generated/services/application-signals.js +4 -4
- package/lib/generated/services/application-transformation.js +1 -1
- package/lib/generated/services/applicationinsights.js +3 -3
- package/lib/generated/services/appmesh-preview.js +2 -2
- package/lib/generated/services/appmesh.js +4 -4
- package/lib/generated/services/apprunner.js +4 -4
- package/lib/generated/services/appstream.js +4 -4
- package/lib/generated/services/appstudio.js +2 -2
- package/lib/generated/services/appsync.js +4 -4
- package/lib/generated/services/apptest.js +3 -3
- package/lib/generated/services/aps.js +4 -4
- package/lib/generated/services/arc-region-switch.js +4 -4
- package/lib/generated/services/arc-zonal-shift.js +4 -4
- package/lib/generated/services/arsenal.js +1 -1
- package/lib/generated/services/artifact.js +4 -4
- package/lib/generated/services/athena.js +4 -4
- package/lib/generated/services/auditmanager.js +4 -4
- package/lib/generated/services/autoscaling-plans.js +2 -2
- package/lib/generated/services/autoscaling.js +4 -4
- package/lib/generated/services/aws-external-anthropic.js +3 -3
- package/lib/generated/services/aws-marketplace-management.js +1 -1
- package/lib/generated/services/aws-marketplace.js +4 -4
- package/lib/generated/services/aws-portal.js +1 -1
- package/lib/generated/services/awsconnector.js +1 -1
- package/lib/generated/services/b2bi.js +4 -4
- package/lib/generated/services/backup-gateway.js +4 -4
- package/lib/generated/services/backup-search.js +4 -4
- package/lib/generated/services/backup-storage.js +1 -1
- package/lib/generated/services/backup.js +4 -4
- package/lib/generated/services/batch.js +4 -4
- package/lib/generated/services/bcm-dashboards.js +4 -4
- package/lib/generated/services/bcm-data-exports.js +4 -4
- package/lib/generated/services/bcm-pricing-calculator.js +4 -4
- package/lib/generated/services/bcm-recommended-actions.js +2 -2
- package/lib/generated/services/bedrock-agentcore.js +4 -4
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.js +4 -4
- package/lib/generated/services/billing.js +4 -4
- package/lib/generated/services/billingconductor.js +4 -4
- package/lib/generated/services/braket.js +4 -4
- package/lib/generated/services/budgets.js +4 -4
- package/lib/generated/services/bugbust.js +3 -3
- package/lib/generated/services/cases.js +4 -4
- package/lib/generated/services/cassandra.js +4 -4
- package/lib/generated/services/ce.js +4 -4
- package/lib/generated/services/chatbot.js +4 -4
- package/lib/generated/services/chime.js +4 -4
- package/lib/generated/services/cleanrooms-ml.js +4 -4
- package/lib/generated/services/cleanrooms.js +4 -4
- package/lib/generated/services/cloud9.js +4 -4
- package/lib/generated/services/clouddirectory.js +3 -3
- package/lib/generated/services/cloudformation.js +4 -4
- package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
- package/lib/generated/services/cloudfront.js +4 -4
- package/lib/generated/services/cloudhsm.js +4 -4
- package/lib/generated/services/cloudsearch.js +3 -3
- package/lib/generated/services/cloudshell.js +3 -3
- package/lib/generated/services/cloudtrail-data.js +4 -4
- package/lib/generated/services/cloudtrail.js +4 -4
- package/lib/generated/services/cloudwatch.js +4 -4
- package/lib/generated/services/codeartifact.js +4 -4
- package/lib/generated/services/codebuild.js +4 -4
- package/lib/generated/services/codecatalyst.js +4 -4
- package/lib/generated/services/codecommit.js +4 -4
- package/lib/generated/services/codeconnections.js +4 -4
- package/lib/generated/services/codedeploy-commands-secure.js +1 -1
- package/lib/generated/services/codedeploy.js +4 -4
- package/lib/generated/services/codeguru-profiler.js +4 -4
- package/lib/generated/services/codeguru-reviewer.js +4 -4
- package/lib/generated/services/codeguru-security.js +4 -4
- package/lib/generated/services/codeguru.js +1 -1
- package/lib/generated/services/codepipeline.js +4 -4
- package/lib/generated/services/codestar-connections.js +4 -4
- package/lib/generated/services/codestar-notifications.js +4 -4
- package/lib/generated/services/codestar.js +3 -3
- package/lib/generated/services/codewhisperer.js +3 -3
- package/lib/generated/services/cognito-identity.js +4 -4
- package/lib/generated/services/cognito-idp.d.ts +2 -0
- package/lib/generated/services/cognito-idp.js +14 -7
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +4 -4
- package/lib/generated/services/comprehendmedical.js +3 -3
- package/lib/generated/services/compute-optimizer.js +3 -3
- package/lib/generated/services/config.js +4 -4
- package/lib/generated/services/connect-campaigns.js +4 -4
- package/lib/generated/services/connect.d.ts +8 -0
- package/lib/generated/services/connect.js +25 -7
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +4 -4
- package/lib/generated/services/datapipeline.js +4 -4
- package/lib/generated/services/datasync.js +4 -4
- package/lib/generated/services/datazone.js +4 -4
- package/lib/generated/services/dax.js +4 -4
- package/lib/generated/services/dbqms.js +1 -1
- package/lib/generated/services/deadline.js +4 -4
- package/lib/generated/services/detective.js +4 -4
- package/lib/generated/services/devicefarm.js +4 -4
- package/lib/generated/services/devops-guru.js +4 -4
- package/lib/generated/services/directconnect.js +4 -4
- package/lib/generated/services/discovery.js +3 -3
- package/lib/generated/services/dlm.js +4 -4
- package/lib/generated/services/dms.js +4 -4
- package/lib/generated/services/docdb-elastic.js +4 -4
- package/lib/generated/services/drs.js +4 -4
- package/lib/generated/services/ds-data.js +4 -4
- package/lib/generated/services/ds.js +4 -4
- package/lib/generated/services/dsql.js +4 -4
- package/lib/generated/services/dynamodb.js +4 -4
- package/lib/generated/services/ebs.js +4 -4
- package/lib/generated/services/ec2-instance-connect.js +4 -4
- package/lib/generated/services/ec2.d.ts +103 -0
- package/lib/generated/services/ec2.js +179 -21
- package/lib/generated/services/ec2messages.js +2 -2
- package/lib/generated/services/ecr-public.js +4 -4
- package/lib/generated/services/ecr.js +4 -4
- package/lib/generated/services/ecs-mcp.js +1 -1
- package/lib/generated/services/ecs.js +4 -4
- package/lib/generated/services/eks-auth.js +4 -4
- package/lib/generated/services/eks-mcp.js +1 -1
- package/lib/generated/services/eks.js +4 -4
- package/lib/generated/services/elasticache.js +4 -4
- package/lib/generated/services/elasticbeanstalk.js +4 -4
- package/lib/generated/services/elasticfilesystem.js +4 -4
- package/lib/generated/services/elasticloadbalancing.js +4 -4
- package/lib/generated/services/elasticmapreduce.js +4 -4
- package/lib/generated/services/elastictranscoder.js +2 -2
- package/lib/generated/services/elemental-activations.js +1 -1
- package/lib/generated/services/elemental-appliances-software.js +2 -2
- package/lib/generated/services/elemental-inference.js +4 -4
- package/lib/generated/services/elemental-support-cases.js +3 -3
- package/lib/generated/services/elemental-support-content.js +1 -1
- package/lib/generated/services/emr-containers.js +4 -4
- package/lib/generated/services/emr-serverless.js +4 -4
- package/lib/generated/services/entityresolution.js +4 -4
- package/lib/generated/services/es.js +4 -4
- package/lib/generated/services/events.js +4 -4
- package/lib/generated/services/eventsbilltoaws.js +3 -3
- package/lib/generated/services/evidently.js +3 -3
- package/lib/generated/services/evs.js +4 -4
- package/lib/generated/services/execute-api.js +4 -4
- package/lib/generated/services/finops-agent.js +1 -1
- package/lib/generated/services/finspace-api.js +3 -3
- package/lib/generated/services/finspace.js +4 -4
- package/lib/generated/services/firehose.js +4 -4
- package/lib/generated/services/fis.js +4 -4
- package/lib/generated/services/fms.js +4 -4
- package/lib/generated/services/forecast.js +4 -4
- package/lib/generated/services/frauddetector.js +4 -4
- package/lib/generated/services/freertos.js +3 -3
- package/lib/generated/services/freetier.js +2 -2
- package/lib/generated/services/fsx.js +4 -4
- package/lib/generated/services/gamelift.js +4 -4
- package/lib/generated/services/gameliftstreams.js +4 -4
- package/lib/generated/services/geo-maps.js +3 -3
- package/lib/generated/services/geo-places.js +3 -3
- package/lib/generated/services/geo-routes.js +3 -3
- package/lib/generated/services/geo.js +4 -4
- package/lib/generated/services/glacier.js +4 -4
- package/lib/generated/services/globalaccelerator.js +4 -4
- package/lib/generated/services/glue.js +4 -4
- package/lib/generated/services/grafana.js +4 -4
- package/lib/generated/services/greengrass.js +4 -4
- package/lib/generated/services/groundstation.js +4 -4
- package/lib/generated/services/groundtruthlabeling.js +1 -1
- package/lib/generated/services/guardduty.d.ts +132 -0
- package/lib/generated/services/guardduty.js +151 -5
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.js +4 -4
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +9 -6
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.d.ts +51 -0
- package/lib/generated/services/kinesis.js +58 -9
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.js +4 -4
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.d.ts +2 -0
- package/lib/generated/services/lightsail.js +7 -5
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.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 +59 -6
- package/lib/generated/services/ram.js +4 -4
- package/lib/generated/services/rbin.js +4 -4
- package/lib/generated/services/rds-data.js +4 -4
- package/lib/generated/services/rds-db.js +2 -2
- package/lib/generated/services/rds.js +4 -4
- package/lib/generated/services/redshift-data.js +4 -4
- package/lib/generated/services/redshift-serverless.js +4 -4
- package/lib/generated/services/redshift.js +4 -4
- package/lib/generated/services/refactor-spaces.js +4 -4
- package/lib/generated/services/rekognition.js +4 -4
- package/lib/generated/services/repostspace.js +4 -4
- package/lib/generated/services/researchstudio.js +1 -1
- package/lib/generated/services/resiliencehub.js +4 -4
- package/lib/generated/services/resource-explorer-2.js +4 -4
- package/lib/generated/services/resource-explorer.js +1 -1
- package/lib/generated/services/resource-groups.js +4 -4
- package/lib/generated/services/rhelkb.js +1 -1
- package/lib/generated/services/robomaker.js +3 -3
- package/lib/generated/services/rolesanywhere.js +4 -4
- package/lib/generated/services/route53-recovery-cluster.js +4 -4
- package/lib/generated/services/route53-recovery-control-config.js +4 -4
- package/lib/generated/services/route53-recovery-readiness.js +4 -4
- package/lib/generated/services/route53.js +4 -4
- package/lib/generated/services/route53domains.js +2 -2
- package/lib/generated/services/route53globalresolver.js +4 -4
- package/lib/generated/services/route53profiles.js +4 -4
- package/lib/generated/services/route53resolver.js +4 -4
- package/lib/generated/services/rtbfabric.js +4 -4
- package/lib/generated/services/rum.js +4 -4
- package/lib/generated/services/s3-object-lambda.js +3 -3
- package/lib/generated/services/s3-outposts.js +4 -4
- package/lib/generated/services/s3.js +4 -4
- package/lib/generated/services/s3express.js +3 -3
- package/lib/generated/services/s3files.js +4 -4
- package/lib/generated/services/s3tables.js +4 -4
- package/lib/generated/services/s3vectors.js +4 -4
- package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
- package/lib/generated/services/sagemaker-geospatial.js +4 -4
- package/lib/generated/services/sagemaker-mlflow.js +3 -3
- package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
- package/lib/generated/services/sagemaker.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.d.ts +8 -0
- package/lib/generated/services/ses.js +13 -5
- package/lib/generated/services/shield.js +4 -4
- package/lib/generated/services/signer.js +4 -4
- package/lib/generated/services/signin.js +4 -4
- package/lib/generated/services/simspaceweaver.js +3 -3
- package/lib/generated/services/sms-voice.js +4 -4
- package/lib/generated/services/sms.js +1 -1
- package/lib/generated/services/snow-device-management.js +4 -4
- package/lib/generated/services/snowball.js +2 -2
- package/lib/generated/services/sns.js +4 -4
- package/lib/generated/services/social-messaging.js +4 -4
- package/lib/generated/services/sqlworkbench.js +3 -3
- package/lib/generated/services/sqs.js +4 -4
- package/lib/generated/services/ssm-contacts.js +4 -4
- package/lib/generated/services/ssm-guiconnect.js +2 -2
- package/lib/generated/services/ssm-incidents.js +4 -4
- package/lib/generated/services/ssm-quicksetup.js +4 -4
- package/lib/generated/services/ssm-sap.js +4 -4
- package/lib/generated/services/ssm.js +4 -4
- package/lib/generated/services/ssmmessages.js +2 -2
- package/lib/generated/services/sso-directory.js +1 -1
- package/lib/generated/services/sso-oauth.js +3 -3
- package/lib/generated/services/sso.js +4 -4
- package/lib/generated/services/states.js +4 -4
- package/lib/generated/services/storagegateway.js +4 -4
- package/lib/generated/services/sts.js +4 -4
- package/lib/generated/services/support-console.js +1 -1
- package/lib/generated/services/support.js +2 -2
- package/lib/generated/services/supportapp.js +2 -2
- package/lib/generated/services/supportauthz.js +4 -4
- package/lib/generated/services/supportplans.js +1 -1
- package/lib/generated/services/sustainability.js +2 -2
- package/lib/generated/services/swf.js +4 -4
- package/lib/generated/services/synthetics.js +4 -4
- package/lib/generated/services/tag.js +2 -2
- package/lib/generated/services/tax.js +2 -2
- package/lib/generated/services/textract.js +4 -4
- package/lib/generated/services/thinclient.js +4 -4
- package/lib/generated/services/timestream-influxdb.js +4 -4
- package/lib/generated/services/timestream.js +4 -4
- package/lib/generated/services/tiros.js +1 -1
- package/lib/generated/services/tnb.js +4 -4
- package/lib/generated/services/transcribe.js +4 -4
- package/lib/generated/services/transfer.js +4 -4
- package/lib/generated/services/transform-custom.js +3 -3
- package/lib/generated/services/transform.js +3 -3
- package/lib/generated/services/translate.js +4 -4
- package/lib/generated/services/trustedadvisor.js +3 -3
- package/lib/generated/services/ts.js +3 -3
- package/lib/generated/services/user-subscriptions.js +2 -2
- package/lib/generated/services/uxc.js +2 -2
- package/lib/generated/services/vendor-insights.js +3 -3
- package/lib/generated/services/verified-access.js +1 -1
- package/lib/generated/services/verifiedpermissions.js +4 -4
- package/lib/generated/services/voiceid.js +4 -4
- package/lib/generated/services/vpc-lattice-svcs.js +3 -3
- package/lib/generated/services/vpc-lattice.js +4 -4
- package/lib/generated/services/vpce.js +2 -2
- package/lib/generated/services/waf-regional.js +4 -4
- package/lib/generated/services/waf.js +4 -4
- package/lib/generated/services/wafv2.js +4 -4
- package/lib/generated/services/wam.js +1 -1
- package/lib/generated/services/wellarchitected.js +4 -4
- package/lib/generated/services/wickr.js +4 -4
- package/lib/generated/services/wisdom.js +4 -4
- package/lib/generated/services/workdocs.js +3 -3
- package/lib/generated/services/worklink.js +3 -3
- package/lib/generated/services/workmail.js +4 -4
- package/lib/generated/services/workmailmessageflow.js +3 -3
- package/lib/generated/services/workspaces-instances.js +4 -4
- package/lib/generated/services/workspaces-web.js +4 -4
- package/lib/generated/services/workspaces.js +4 -4
- package/lib/generated/services/xray.js +4 -4
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ class LightSailActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.LightSailActions = LightSailActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
LightSailActions[_a] = { fqn: "@cdk_utils/iam.lightsail.LightSailActions", version: "1.
|
|
19
|
+
LightSailActions[_a] = { fqn: "@cdk_utils/iam.lightsail.LightSailActions", version: "1.17.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
LightSailActions.SERVICE_PREFIX = "lightsail";
|
|
22
22
|
/** [Write] lightsail:AllocateStaticIp */
|
|
@@ -1073,7 +1073,7 @@ class LightSailResources {
|
|
|
1073
1073
|
}
|
|
1074
1074
|
exports.LightSailResources = LightSailResources;
|
|
1075
1075
|
_b = JSII_RTTI_SYMBOL_1;
|
|
1076
|
-
LightSailResources[_b] = { fqn: "@cdk_utils/iam.lightsail.LightSailResources", version: "1.
|
|
1076
|
+
LightSailResources[_b] = { fqn: "@cdk_utils/iam.lightsail.LightSailResources", version: "1.17.0" };
|
|
1077
1077
|
/**
|
|
1078
1078
|
* API operation to required IAM actions mapping for lightsail.
|
|
1079
1079
|
*/
|
|
@@ -1081,7 +1081,7 @@ class LightSailOperations {
|
|
|
1081
1081
|
}
|
|
1082
1082
|
exports.LightSailOperations = LightSailOperations;
|
|
1083
1083
|
_c = JSII_RTTI_SYMBOL_1;
|
|
1084
|
-
LightSailOperations[_c] = { fqn: "@cdk_utils/iam.lightsail.LightSailOperations", version: "1.
|
|
1084
|
+
LightSailOperations[_c] = { fqn: "@cdk_utils/iam.lightsail.LightSailOperations", version: "1.17.0" };
|
|
1085
1085
|
/** IAM actions required for the AllocateStaticIp API call. */
|
|
1086
1086
|
LightSailOperations.AllocateStaticIp = ["lightsail:AllocateStaticIp"];
|
|
1087
1087
|
/** IAM actions required for the AttachCertificateToDistribution API call. */
|
|
@@ -1451,6 +1451,8 @@ LightSailOperations.opGetOperations = ["lightsail:GetOperations"];
|
|
|
1451
1451
|
LightSailOperations.opGetOperationsForResource = [
|
|
1452
1452
|
"lightsail:GetOperationsForResource",
|
|
1453
1453
|
];
|
|
1454
|
+
/** IAM actions required for the GetProfile API call. */
|
|
1455
|
+
LightSailOperations.opGetProfile = [];
|
|
1454
1456
|
/** IAM actions required for the GetRegions API call. */
|
|
1455
1457
|
LightSailOperations.opGetRegions = ["lightsail:GetRegions"];
|
|
1456
1458
|
/** IAM actions required for the GetRelationalDatabase API call. */
|
|
@@ -1641,7 +1643,7 @@ class LightSailConditions {
|
|
|
1641
1643
|
}
|
|
1642
1644
|
exports.LightSailConditions = LightSailConditions;
|
|
1643
1645
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1644
|
-
LightSailConditions[_d] = { fqn: "@cdk_utils/iam.lightsail.LightSailConditions", version: "1.
|
|
1646
|
+
LightSailConditions[_d] = { fqn: "@cdk_utils/iam.lightsail.LightSailConditions", version: "1.17.0" };
|
|
1645
1647
|
/** Condition keys applicable to the CreateBucket action. */
|
|
1646
1648
|
LightSailConditions.CreateBucketConditionKeys = [
|
|
1647
1649
|
"aws:RequestTag/${TagKey}",
|
|
@@ -1742,4 +1744,4 @@ LightSailConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
|
|
|
1742
1744
|
LightSailConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
|
|
1743
1745
|
/** Condition key: aws:TagKeys (ArrayOfString) */
|
|
1744
1746
|
LightSailConditions.AWS_TAG_KEYS = "aws:TagKeys";
|
|
1745
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRzYWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9saWdodHNhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCOztBQUE3Qiw0Q0EyaUJDOzs7QUExaUJBLDhCQUE4QjtBQUNkLCtCQUFjLEdBQUcsV0FBVyxDQUFDO0FBRTdDLHlDQUF5QztBQUN6QixpQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSx3REFBd0Q7QUFDeEMsZ0RBQStCLEdBQzlDLDJDQUEyQyxDQUFDO0FBQzdDLG1DQUFtQztBQUNuQiwyQkFBVSxHQUFHLHNCQUFzQixDQUFDO0FBQ3BELHNEQUFzRDtBQUN0Qyw4Q0FBNkIsR0FDNUMseUNBQXlDLENBQUM7QUFDM0MseURBQXlEO0FBQ3pDLGlEQUFnQyxHQUMvQyw0Q0FBNEMsQ0FBQztBQUM5Qyx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxpREFBaUQ7QUFDakMseUNBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLHFDQUFxQztBQUNyQiw2QkFBWSxHQUFHLHdCQUF3QixDQUFDO0FBQ3hELHFDQUFxQztBQUNyQiw2QkFBWSxHQUFHLHdCQUF3QixDQUFDO0FBQ3hELDhDQUE4QztBQUM5QixzQ0FBcUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUMxRSwwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsa0RBQWtEO0FBQ2xDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2Qyw0Q0FBNEM7QUFDNUIsb0NBQW1CLEdBQUcsK0JBQStCLENBQUM7QUFDdEUsK0NBQStDO0FBQy9CLHVDQUFzQixHQUFHLGtDQUFrQyxD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RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwyRUFBMkU7QUFDM0QsNERBQXdDLEdBQWE7SUFDcEUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLDhDQUEwQixHQUFhO0lBQ3RELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCxtREFBK0IsR0FBYTtJQUMzRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRix3RUFBd0U7QUFDeEQseURBQXFDLEdBQWE7SUFDakUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysb0ZBQW9GO0FBQ3BFLHFFQUFpRCxHQUNoRSxDQUFDLDBCQUEwQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQzdDLGdGQUFnRjtBQUNoRSxpRUFBNkMsR0FBYTtJQUN6RSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRix3REFBd0Q7QUFDeEMseUNBQXFCLEdBQWE7SUFDakQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLDRDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw4Q0FBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2QyxtQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxvQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsZ0NBQVksR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9saWdodHNhaWwuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGxpZ2h0c2FpbCBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgTGlnaHRTYWlsQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImxpZ2h0c2FpbFwiO1xuXG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpBbGxvY2F0ZVN0YXRpY0lwICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxvY2F0ZVN0YXRpY0lwID0gXCJsaWdodHNhaWw6QWxsb2NhdGVTdGF0aWNJcFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6QXR0YWNoQ2VydGlmaWNhdGVUb0Rpc3RyaWJ1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoQ2VydGlmaWNhdGVUb0Rpc3RyaWJ1dGlvbiA9XG5cdFx0XCJsaWdodHNhaWw6QXR0YWNoQ2VydGlmaWNhdGVUb0Rpc3RyaWJ1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6QXR0YWNoRGlzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoRGlzayA9IFwibGlnaHRzYWlsOkF0dGFjaERpc2tcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkF0dGFjaEluc3RhbmNlc1RvTG9hZEJhbGFuY2VyICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hJbnN0YW5jZXNUb0xvYWRCYWxhbmNlciA9XG5cdFx0XCJsaWdodHNhaWw6QXR0YWNoSW5zdGFuY2VzVG9Mb2FkQmFsYW5jZXJcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkF0dGFjaExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSA9XG5cdFx0XCJsaWdodHNhaWw6QXR0YWNoTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkF0dGFjaFN0YXRpY0lwICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hTdGF0aWNJcCA9IFwibGlnaHRzYWlsOkF0dGFjaFN0YXRpY0lwXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDbG9zZUluc3RhbmNlUHVibGljUG9ydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENsb3NlSW5zdGFuY2VQdWJsaWNQb3J0cyA9XG5cdFx0XCJsaWdodHNhaWw6Q2xvc2VJbnN0YW5jZVB1YmxpY1BvcnRzXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDb3B5U25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTbmFwc2hvdCA9IFwibGlnaHRzYWlsOkNvcHlTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlQnVja2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCdWNrZXQgPSBcImxpZ2h0c2FpbDpDcmVhdGVCdWNrZXRcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZUJ1Y2tldEFjY2Vzc0tleSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQnVja2V0QWNjZXNzS2V5ID0gXCJsaWdodHNhaWw6Q3JlYXRlQnVja2V0QWNjZXNzS2V5XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVDZXJ0aWZpY2F0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2VydGlmaWNhdGUgPSBcImxpZ2h0c2FpbDpDcmVhdGVDZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlQ2xvdWRGb3JtYXRpb25TdGFjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2xvdWRGb3JtYXRpb25TdGFjayA9XG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlQ2xvdWRGb3JtYXRpb25TdGFja1wiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlQ29udGFjdE1ldGhvZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udGFjdE1ldGhvZCA9IFwibGlnaHRzYWlsOkNyZWF0ZUNvbnRhY3RNZXRob2RcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZUNvbnRhaW5lclNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRhaW5lclNlcnZpY2UgPSBcImxpZ2h0c2FpbDpDcmVhdGVDb250YWluZXJTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVDb250YWluZXJTZXJ2aWNlRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udGFpbmVyU2VydmljZURlcGxveW1lbnQgPVxuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUNvbnRhaW5lclNlcnZpY2VEZXBsb3ltZW50XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVDb250YWluZXJTZXJ2aWNlUmVnaXN0cnlMb2dpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udGFpbmVyU2VydmljZVJlZ2lzdHJ5TG9naW4gPVxuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUNvbnRhaW5lclNlcnZpY2VSZWdpc3RyeUxvZ2luXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVEaXNrICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEaXNrID0gXCJsaWdodHNhaWw6Q3JlYXRlRGlza1wiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlRGlza0Zyb21TbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGlza0Zyb21TbmFwc2hvdCA9IFwibGlnaHRzYWlsOkNyZWF0ZURpc2tGcm9tU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZURpc2tTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGlza1NuYXBzaG90ID0gXCJsaWdodHNhaWw6Q3JlYXRlRGlza1NuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVEaXN0cmlidXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURpc3RyaWJ1dGlvbiA9IFwibGlnaHRzYWlsOkNyZWF0ZURpc3RyaWJ1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW4gPSBcImxpZ2h0c2FpbDpDcmVhdGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZURvbWFpbkVudHJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW5FbnRyeSA9IFwibGlnaHRzYWlsOkNyZWF0ZURvbWFpbkVudHJ5XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVHVUlTZXNzaW9uQWNjZXNzRGV0YWlscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR1VJU2Vzc2lvbkFjY2Vzc0RldGFpbHMgPVxuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUdVSVNlc3Npb25BY2Nlc3NEZXRhaWxzXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVJbnN0YW5jZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnN0YW5jZVNuYXBzaG90ID0gXCJsaWdodHNhaWw6Q3JlYXRlSW5zdGFuY2VTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlSW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnN0YW5jZXMgPSBcImxpZ2h0c2FpbDpDcmVhdGVJbnN0YW5jZXNcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZUluc3RhbmNlc0Zyb21TbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5zdGFuY2VzRnJvbVNuYXBzaG90ID1cblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVJbnN0YW5jZXNGcm9tU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZUtleVBhaXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUtleVBhaXIgPSBcImxpZ2h0c2FpbDpDcmVhdGVLZXlQYWlyXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVMb2FkQmFsYW5jZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxvYWRCYWxhbmNlciA9IFwibGlnaHRzYWlsOkNyZWF0ZUxvYWRCYWxhbmNlclwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlID1cblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlUmVsYXRpb25hbERhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2UgPVxuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlUmVsYXRpb25hbERhdGFiYXNlRnJvbVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VGcm9tU25hcHNob3QgPVxuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZUZyb21TbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90ID1cblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlQWxhcm0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsYXJtID0gXCJsaWdodHNhaWw6RGVsZXRlQWxhcm1cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZUF1dG9TbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b1NuYXBzaG90ID0gXCJsaWdodHNhaWw6RGVsZXRlQXV0b1NuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVCdWNrZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJ1Y2tldCA9IFwibGlnaHRzYWlsOkRlbGV0ZUJ1Y2tldFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlQnVja2V0QWNjZXNzS2V5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCdWNrZXRBY2Nlc3NLZXkgPSBcImxpZ2h0c2FpbDpEZWxldGVCdWNrZXRBY2Nlc3NLZXlcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZUNlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDZXJ0aWZpY2F0ZSA9IFwibGlnaHRzYWlsOkRlbGV0ZUNlcnRpZmljYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVDb250YWN0TWV0aG9kICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb250YWN0TWV0aG9kID0gXCJsaWdodHNhaWw6RGVsZXRlQ29udGFjdE1ldGhvZFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlQ29udGFpbmVySW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbnRhaW5lckltYWdlID0gXCJsaWdodHNhaWw6RGVsZXRlQ29udGFpbmVySW1hZ2VcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZUNvbnRhaW5lclNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbnRhaW5lclNlcnZpY2UgPSBcImxpZ2h0c2FpbDpEZWxldGVDb250YWluZXJTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVEaXNrICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEaXNrID0gXCJsaWdodHNhaWw6RGVsZXRlRGlza1wiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlRGlza1NuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEaXNrU25hcHNob3QgPSBcImxpZ2h0c2FpbDpEZWxldGVEaXNrU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZURpc3RyaWJ1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGlzdHJpYnV0aW9uID0gXCJsaWdodHNhaWw6RGVsZXRlRGlzdHJpYnV0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVEb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbiA9IFwibGlnaHRzYWlsOkRlbGV0ZURvbWFpblwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlRG9tYWluRW50cnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpbkVudHJ5ID0gXCJsaWdodHNhaWw6RGVsZXRlRG9tYWluRW50cnlcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZUluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnN0YW5jZSA9IFwibGlnaHRzYWlsOkRlbGV0ZUluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVJbnN0YW5jZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnN0YW5jZVNuYXBzaG90ID0gXCJsaWdodHNhaWw6RGVsZXRlSW5zdGFuY2VTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlS2V5UGFpciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS2V5UGFpciA9IFwibGlnaHRzYWlsOkRlbGV0ZUtleVBhaXJcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZUtub3duSG9zdEtleXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtub3duSG9zdEtleXMgPSBcImxpZ2h0c2FpbDpEZWxldGVLbm93bkhvc3RLZXlzXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVMb2FkQmFsYW5jZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxvYWRCYWxhbmNlciA9IFwibGlnaHRzYWlsOkRlbGV0ZUxvYWRCYWxhbmNlclwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlID1cblx0XHRcImxpZ2h0c2FpbDpEZWxldGVMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlUmVsYXRpb25hbERhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWxhdGlvbmFsRGF0YWJhc2UgPVxuXHRcdFwibGlnaHRzYWlsOkRlbGV0ZVJlbGF0aW9uYWxEYXRhYmFzZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90ID1cblx0XHRcImxpZ2h0c2FpbDpEZWxldGVSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGV0YWNoQ2VydGlmaWNhdGVGcm9tRGlzdHJpYnV0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRhY2hDZXJ0aWZpY2F0ZUZyb21EaXN0cmlidXRpb24gPVxuXHRcdFwibGlnaHRzYWlsOkRldGFjaENlcnRpZmljYXRlRnJvbURpc3RyaWJ1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGV0YWNoRGlzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoRGlzayA9IFwibGlnaHRzYWlsOkRldGFjaERpc2tcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRldGFjaEluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaEluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXIgPVxuXHRcdFwibGlnaHRzYWlsOkRldGFjaEluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXJcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRldGFjaFN0YXRpY0lwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRhY2hTdGF0aWNJcCA9IFwibGlnaHRzYWlsOkRldGFjaFN0YXRpY0lwXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEaXNhYmxlQWRkT24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVBZGRPbiA9IFwibGlnaHRzYWlsOkRpc2FibGVBZGRPblwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RG93bmxvYWREZWZhdWx0S2V5UGFpciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRG93bmxvYWREZWZhdWx0S2V5UGFpciA9IFwibGlnaHRzYWlsOkRvd25sb2FkRGVmYXVsdEtleVBhaXJcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkVuYWJsZUFkZE9uICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVBZGRPbiA9IFwibGlnaHRzYWlsOkVuYWJsZUFkZE9uXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpFeHBvcnRTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0U25hcHNob3QgPSBcImxpZ2h0c2FpbDpFeHBvcnRTbmFwc2hvdFwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRBY3RpdmVOYW1lcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWN0aXZlTmFtZXMgPSBcImxpZ2h0c2FpbDpHZXRBY3RpdmVOYW1lc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRBbGFybXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFsYXJtcyA9IFwibGlnaHRzYWlsOkdldEFsYXJtc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRBdXRvU25hcHNob3RzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvU25hcHNob3RzID0gXCJsaWdodHNhaWw6R2V0QXV0b1NuYXBzaG90c1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRCbHVlcHJpbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCbHVlcHJpbnRzID0gXCJsaWdodHNhaWw6R2V0Qmx1ZXByaW50c1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRCdWNrZXRBY2Nlc3NLZXlzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCdWNrZXRBY2Nlc3NLZXlzID0gXCJsaWdodHNhaWw6R2V0QnVja2V0QWNjZXNzS2V5c1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRCdWNrZXRCdW5kbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCdWNrZXRCdW5kbGVzID0gXCJsaWdodHNhaWw6R2V0QnVja2V0QnVuZGxlc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRCdWNrZXRNZXRyaWNEYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCdWNrZXRNZXRyaWNEYXRhID0gXCJsaWdodHNhaWw6R2V0QnVja2V0TWV0cmljRGF0YVwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRCdWNrZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCdWNrZXRzID0gXCJsaWdodHNhaWw6R2V0QnVja2V0c1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRCdW5kbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCdW5kbGVzID0gXCJsaWdodHNhaWw6R2V0QnVuZGxlc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRDZXJ0aWZpY2F0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENlcnRpZmljYXRlcyA9IFwibGlnaHRzYWlsOkdldENlcnRpZmljYXRlc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2xvdWRGb3JtYXRpb25TdGFja1JlY29yZHMgPVxuXHRcdFwibGlnaHRzYWlsOkdldENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldENvbnRhY3RNZXRob2RzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb250YWN0TWV0aG9kcyA9IFwibGlnaHRzYWlsOkdldENvbnRhY3RNZXRob2RzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldENvbnRhaW5lckFQSU1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb250YWluZXJBUElNZXRhZGF0YSA9XG5cdFx0XCJsaWdodHNhaWw6R2V0Q29udGFpbmVyQVBJTWV0YWRhdGFcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0Q29udGFpbmVySW1hZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb250YWluZXJJbWFnZXMgPSBcImxpZ2h0c2FpbDpHZXRDb250YWluZXJJbWFnZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0Q29udGFpbmVyTG9nICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb250YWluZXJMb2cgPSBcImxpZ2h0c2FpbDpHZXRDb250YWluZXJMb2dcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0Q29udGFpbmVyU2VydmljZURlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb250YWluZXJTZXJ2aWNlRGVwbG95bWVudHMgPVxuXHRcdFwibGlnaHRzYWlsOkdldENvbnRhaW5lclNlcnZpY2VEZXBsb3ltZW50c1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRDb250YWluZXJTZXJ2aWNlTWV0cmljRGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29udGFpbmVyU2VydmljZU1ldHJpY0RhdGEgPVxuXHRcdFwibGlnaHRzYWlsOkdldENvbnRhaW5lclNlcnZpY2VNZXRyaWNEYXRhXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldENvbnRhaW5lclNlcnZpY2VQb3dlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbnRhaW5lclNlcnZpY2VQb3dlcnMgPVxuXHRcdFwibGlnaHRzYWlsOkdldENvbnRhaW5lclNlcnZpY2VQb3dlcnNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0Q29udGFpbmVyU2VydmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbnRhaW5lclNlcnZpY2VzID0gXCJsaWdodHNhaWw6R2V0Q29udGFpbmVyU2VydmljZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0Q29zdEVzdGltYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb3N0RXN0aW1hdGUgPSBcImxpZ2h0c2FpbDpHZXRDb3N0RXN0aW1hdGVcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0RGlzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGlzayA9IFwibGlnaHRzYWlsOkdldERpc2tcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0RGlza1NuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREaXNrU25hcHNob3QgPSBcImxpZ2h0c2FpbDpHZXREaXNrU25hcHNob3RcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0RGlza1NuYXBzaG90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGlza1NuYXBzaG90cyA9IFwibGlnaHRzYWlsOkdldERpc2tTbmFwc2hvdHNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0RGlza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERpc2tzID0gXCJsaWdodHNhaWw6R2V0RGlza3NcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0RGlzdHJpYnV0aW9uQnVuZGxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGlzdHJpYnV0aW9uQnVuZGxlcyA9XG5cdFx0XCJsaWdodHNhaWw6R2V0RGlzdHJpYnV0aW9uQnVuZGxlc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXREaXN0cmlidXRpb25MYXRlc3RDYWNoZVJlc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREaXN0cmlidXRpb25MYXRlc3RDYWNoZVJlc2V0ID1cblx0XHRcImxpZ2h0c2FpbDpHZXREaXN0cmlidXRpb25MYXRlc3RDYWNoZVJlc2V0XCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldERpc3RyaWJ1dGlvbk1ldHJpY0RhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERpc3RyaWJ1dGlvbk1ldHJpY0RhdGEgPVxuXHRcdFwibGlnaHRzYWlsOkdldERpc3RyaWJ1dGlvbk1ldHJpY0RhdGFcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0RGlzdHJpYnV0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGlzdHJpYnV0aW9ucyA9IFwibGlnaHRzYWlsOkdldERpc3RyaWJ1dGlvbnNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0RG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb21haW4gPSBcImxpZ2h0c2FpbDpHZXREb21haW5cIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0RG9tYWlucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RG9tYWlucyA9IFwibGlnaHRzYWlsOkdldERvbWFpbnNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0RXhwb3J0U25hcHNob3RSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFeHBvcnRTbmFwc2hvdFJlY29yZHMgPVxuXHRcdFwibGlnaHRzYWlsOkdldEV4cG9ydFNuYXBzaG90UmVjb3Jkc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5zdGFuY2UgPSBcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6R2V0SW5zdGFuY2VBY2Nlc3NEZXRhaWxzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnN0YW5jZUFjY2Vzc0RldGFpbHMgPVxuXHRcdFwibGlnaHRzYWlsOkdldEluc3RhbmNlQWNjZXNzRGV0YWlsc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRJbnN0YW5jZU1ldHJpY0RhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluc3RhbmNlTWV0cmljRGF0YSA9XG5cdFx0XCJsaWdodHNhaWw6R2V0SW5zdGFuY2VNZXRyaWNEYXRhXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldEluc3RhbmNlUG9ydFN0YXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5zdGFuY2VQb3J0U3RhdGVzID1cblx0XHRcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZVBvcnRTdGF0ZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0SW5zdGFuY2VTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5zdGFuY2VTbmFwc2hvdCA9IFwibGlnaHRzYWlsOkdldEluc3RhbmNlU25hcHNob3RcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0SW5zdGFuY2VTbmFwc2hvdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluc3RhbmNlU25hcHNob3RzID0gXCJsaWdodHNhaWw6R2V0SW5zdGFuY2VTbmFwc2hvdHNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0SW5zdGFuY2VTdGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5zdGFuY2VTdGF0ZSA9IFwibGlnaHRzYWlsOkdldEluc3RhbmNlU3RhdGVcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0SW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnN0YW5jZXMgPSBcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0S2V5UGFpciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0S2V5UGFpciA9IFwibGlnaHRzYWlsOkdldEtleVBhaXJcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0S2V5UGFpcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEtleVBhaXJzID0gXCJsaWdodHNhaWw6R2V0S2V5UGFpcnNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0TG9hZEJhbGFuY2VyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMb2FkQmFsYW5jZXIgPSBcImxpZ2h0c2FpbDpHZXRMb2FkQmFsYW5jZXJcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0TG9hZEJhbGFuY2VyTWV0cmljRGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TG9hZEJhbGFuY2VyTWV0cmljRGF0YSA9XG5cdFx0XCJsaWdodHNhaWw6R2V0TG9hZEJhbGFuY2VyTWV0cmljRGF0YVwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlcyA9XG5cdFx0XCJsaWdodHNhaWw6R2V0TG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGVzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldExvYWRCYWxhbmNlclRsc1BvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMb2FkQmFsYW5jZXJUbHNQb2xpY2llcyA9XG5cdFx0XCJsaWdodHNhaWw6R2V0TG9hZEJhbGFuY2VyVGxzUG9saWNpZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0TG9hZEJhbGFuY2VycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TG9hZEJhbGFuY2VycyA9IFwibGlnaHRzYWlsOkdldExvYWRCYWxhbmNlcnNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0T3BlcmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcGVyYXRpb24gPSBcImxpZ2h0c2FpbDpHZXRPcGVyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0T3BlcmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3BlcmF0aW9ucyA9IFwibGlnaHRzYWlsOkdldE9wZXJhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0T3BlcmF0aW9uc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcGVyYXRpb25zRm9yUmVzb3VyY2UgPVxuXHRcdFwibGlnaHRzYWlsOkdldE9wZXJhdGlvbnNGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRSZWdpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWdpb25zID0gXCJsaWdodHNhaWw6R2V0UmVnaW9uc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZSA9XG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUJsdWVwcmludHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZUJsdWVwcmludHMgPVxuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUJsdWVwcmludHNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlQnVuZGxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlQnVuZGxlcyA9XG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlQnVuZGxlc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZUV2ZW50cyA9XG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlRXZlbnRzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUxvZ0V2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlTG9nRXZlbnRzID1cblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VMb2dFdmVudHNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlTG9nU3RyZWFtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlTG9nU3RyZWFtcyA9XG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlTG9nU3RyZWFtc1wiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlTWFzdGVyVXNlclBhc3N3b3JkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VNYXN0ZXJVc2VyUGFzc3dvcmQgPVxuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZU1hc3RlclVzZXJQYXNzd29yZFwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VNZXRyaWNEYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VNZXRyaWNEYXRhID1cblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VNZXRyaWNEYXRhXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZVBhcmFtZXRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZVBhcmFtZXRlcnMgPVxuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZVBhcmFtZXRlcnNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90ID1cblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdFwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90cyA9XG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZXMgPVxuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0U2V0dXBIaXN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXR1cEhpc3RvcnkgPSBcImxpZ2h0c2FpbDpHZXRTZXR1cEhpc3RvcnlcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0U3RhdGljSXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFN0YXRpY0lwID0gXCJsaWdodHNhaWw6R2V0U3RhdGljSXBcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0U3RhdGljSXBzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTdGF0aWNJcHMgPSBcImxpZ2h0c2FpbDpHZXRTdGF0aWNJcHNcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkltcG9ydEtleVBhaXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEtleVBhaXIgPSBcImxpZ2h0c2FpbDpJbXBvcnRLZXlQYWlyXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOklzVnBjUGVlcmVkICovXG5cdHN0YXRpYyByZWFkb25seSBJc1ZwY1BlZXJlZCA9IFwibGlnaHRzYWlsOklzVnBjUGVlcmVkXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpPcGVuSW5zdGFuY2VQdWJsaWNQb3J0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT3Blbkluc3RhbmNlUHVibGljUG9ydHMgPSBcImxpZ2h0c2FpbDpPcGVuSW5zdGFuY2VQdWJsaWNQb3J0c1wiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6UGVlclZwYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUGVlclZwYyA9IFwibGlnaHRzYWlsOlBlZXJWcGNcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlB1dEFsYXJtICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBbGFybSA9IFwibGlnaHRzYWlsOlB1dEFsYXJtXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpQdXRJbnN0YW5jZVB1YmxpY1BvcnRzICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRJbnN0YW5jZVB1YmxpY1BvcnRzID0gXCJsaWdodHNhaWw6UHV0SW5zdGFuY2VQdWJsaWNQb3J0c1wiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6UmVib290SW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYm9vdEluc3RhbmNlID0gXCJsaWdodHNhaWw6UmVib290SW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlJlYm9vdFJlbGF0aW9uYWxEYXRhYmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290UmVsYXRpb25hbERhdGFiYXNlID1cblx0XHRcImxpZ2h0c2FpbDpSZWJvb3RSZWxhdGlvbmFsRGF0YWJhc2VcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlJlZ2lzdGVyQ29udGFpbmVySW1hZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyQ29udGFpbmVySW1hZ2UgPSBcImxpZ2h0c2FpbDpSZWdpc3RlckNvbnRhaW5lckltYWdlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpSZWxlYXNlU3RhdGljSXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbGVhc2VTdGF0aWNJcCA9IFwibGlnaHRzYWlsOlJlbGVhc2VTdGF0aWNJcFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6UmVzZXREaXN0cmlidXRpb25DYWNoZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzZXREaXN0cmlidXRpb25DYWNoZSA9IFwibGlnaHRzYWlsOlJlc2V0RGlzdHJpYnV0aW9uQ2FjaGVcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlNlbmRDb250YWN0TWV0aG9kVmVyaWZpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQ29udGFjdE1ldGhvZFZlcmlmaWNhdGlvbiA9XG5cdFx0XCJsaWdodHNhaWw6U2VuZENvbnRhY3RNZXRob2RWZXJpZmljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlNldElwQWRkcmVzc1R5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldElwQWRkcmVzc1R5cGUgPSBcImxpZ2h0c2FpbDpTZXRJcEFkZHJlc3NUeXBlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpTZXRSZXNvdXJjZUFjY2Vzc0ZvckJ1Y2tldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0UmVzb3VyY2VBY2Nlc3NGb3JCdWNrZXQgPVxuXHRcdFwibGlnaHRzYWlsOlNldFJlc291cmNlQWNjZXNzRm9yQnVja2V0XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpTZXR1cEluc3RhbmNlSHR0cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNldHVwSW5zdGFuY2VIdHRwcyA9IFwibGlnaHRzYWlsOlNldHVwSW5zdGFuY2VIdHRwc1wiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6U3RhcnRHVUlTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEdVSVNlc3Npb24gPSBcImxpZ2h0c2FpbDpTdGFydEdVSVNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlN0YXJ0SW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW5zdGFuY2UgPSBcImxpZ2h0c2FpbDpTdGFydEluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpTdGFydFJlbGF0aW9uYWxEYXRhYmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZWxhdGlvbmFsRGF0YWJhc2UgPSBcImxpZ2h0c2FpbDpTdGFydFJlbGF0aW9uYWxEYXRhYmFzZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6U3RvcEdVSVNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BHVUlTZXNzaW9uID0gXCJsaWdodHNhaWw6U3RvcEdVSVNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlN0b3BJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluc3RhbmNlID0gXCJsaWdodHNhaWw6U3RvcEluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpTdG9wUmVsYXRpb25hbERhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUmVsYXRpb25hbERhdGFiYXNlID0gXCJsaWdodHNhaWw6U3RvcFJlbGF0aW9uYWxEYXRhYmFzZVwiO1xuXHQvKiogW1RhZ2dpbmddIGxpZ2h0c2FpbDpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6VGVzdEFsYXJtICovXG5cdHN0YXRpYyByZWFkb25seSBUZXN0QWxhcm0gPSBcImxpZ2h0c2FpbDpUZXN0QWxhcm1cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlVucGVlclZwYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW5wZWVyVnBjID0gXCJsaWdodHNhaWw6VW5wZWVyVnBjXCI7XG5cdC8qKiBbVGFnZ2luZ10gbGlnaHRzYWlsOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImxpZ2h0c2FpbDpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpVcGRhdGVCdWNrZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJ1Y2tldCA9IFwibGlnaHRzYWlsOlVwZGF0ZUJ1Y2tldFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6VXBkYXRlQnVja2V0QnVuZGxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCdWNrZXRCdW5kbGUgPSBcImxpZ2h0c2FpbDpVcGRhdGVCdWNrZXRCdW5kbGVcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlVwZGF0ZUNvbnRhaW5lclNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRhaW5lclNlcnZpY2UgPSBcImxpZ2h0c2FpbDpVcGRhdGVDb250YWluZXJTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpVcGRhdGVEaXN0cmlidXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURpc3RyaWJ1dGlvbiA9IFwibGlnaHRzYWlsOlVwZGF0ZURpc3RyaWJ1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6VXBkYXRlRGlzdHJpYnV0aW9uQnVuZGxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEaXN0cmlidXRpb25CdW5kbGUgPVxuXHRcdFwibGlnaHRzYWlsOlVwZGF0ZURpc3RyaWJ1dGlvbkJ1bmRsZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6VXBkYXRlRG9tYWluRW50cnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvbWFpbkVudHJ5ID0gXCJsaWdodHNhaWw6VXBkYXRlRG9tYWluRW50cnlcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlVwZGF0ZUluc3RhbmNlTWV0YWRhdGFPcHRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbnN0YW5jZU1ldGFkYXRhT3B0aW9ucyA9XG5cdFx0XCJsaWdodHNhaWw6VXBkYXRlSW5zdGFuY2VNZXRhZGF0YU9wdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlVwZGF0ZUxvYWRCYWxhbmNlckF0dHJpYnV0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTG9hZEJhbGFuY2VyQXR0cmlidXRlID1cblx0XHRcImxpZ2h0c2FpbDpVcGRhdGVMb2FkQmFsYW5jZXJBdHRyaWJ1dGVcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlVwZGF0ZVJlbGF0aW9uYWxEYXRhYmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVsYXRpb25hbERhdGFiYXNlID1cblx0XHRcImxpZ2h0c2FpbDpVcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2VcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlVwZGF0ZVJlbGF0aW9uYWxEYXRhYmFzZVBhcmFtZXRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlbGF0aW9uYWxEYXRhYmFzZVBhcmFtZXRlcnMgPVxuXHRcdFwibGlnaHRzYWlsOlVwZGF0ZVJlbGF0aW9uYWxEYXRhYmFzZVBhcmFtZXRlcnNcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEFjdGl2ZU5hbWVzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0QWxhcm1zLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0QXV0b1NuYXBzaG90cyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEJsdWVwcmludHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRCdWNrZXRBY2Nlc3NLZXlzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0QnVja2V0QnVuZGxlcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEJ1Y2tldE1ldHJpY0RhdGEsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRCdWNrZXRzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0QnVuZGxlcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldENlcnRpZmljYXRlcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0Q29udGFjdE1ldGhvZHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRDb250YWluZXJBUElNZXRhZGF0YSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldENvbnRhaW5lckltYWdlcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldENvbnRhaW5lckxvZyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldENvbnRhaW5lclNlcnZpY2VEZXBsb3ltZW50cyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldENvbnRhaW5lclNlcnZpY2VNZXRyaWNEYXRhLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0Q29udGFpbmVyU2VydmljZVBvd2Vycyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldENvbnRhaW5lclNlcnZpY2VzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0Q29zdEVzdGltYXRlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0RGlzayxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldERpc2tTbmFwc2hvdCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldERpc2tTbmFwc2hvdHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXREaXNrcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldERpc3RyaWJ1dGlvbkJ1bmRsZXMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXREaXN0cmlidXRpb25MYXRlc3RDYWNoZVJlc2V0LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0RGlzdHJpYnV0aW9uTWV0cmljRGF0YSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldERpc3RyaWJ1dGlvbnMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXREb21haW4sXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXREb21haW5zLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0RXhwb3J0U25hcHNob3RSZWNvcmRzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0SW5zdGFuY2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRJbnN0YW5jZU1ldHJpY0RhdGEsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRJbnN0YW5jZVBvcnRTdGF0ZXMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRJbnN0YW5jZVNuYXBzaG90LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0SW5zdGFuY2VTbmFwc2hvdHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRJbnN0YW5jZVN0YXRlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0SW5zdGFuY2VzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0S2V5UGFpcixcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEtleVBhaXJzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0TG9hZEJhbGFuY2VyLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0TG9hZEJhbGFuY2VyTWV0cmljRGF0YSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldExvYWRCYWxhbmNlclRsc1BvbGljaWVzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0TG9hZEJhbGFuY2Vycyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldE9wZXJhdGlvbixcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldE9wZXJhdGlvbnMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRPcGVyYXRpb25zRm9yUmVzb3VyY2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRSZWdpb25zLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlQmx1ZXByaW50cyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZUJ1bmRsZXMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VFdmVudHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VMb2dFdmVudHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VMb2dTdHJlYW1zLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlTWV0cmljRGF0YSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZVBhcmFtZXRlcnMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90cyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZXMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRTZXR1cEhpc3RvcnksXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRTdGF0aWNJcCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldFN0YXRpY0lwcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLklzVnBjUGVlcmVkLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQWxsb2NhdGVTdGF0aWNJcCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkF0dGFjaENlcnRpZmljYXRlVG9EaXN0cmlidXRpb24sXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5BdHRhY2hEaXNrLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQXR0YWNoSW5zdGFuY2VzVG9Mb2FkQmFsYW5jZXIsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5BdHRhY2hMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkF0dGFjaFN0YXRpY0lwLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ2xvc2VJbnN0YW5jZVB1YmxpY1BvcnRzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ29weVNuYXBzaG90LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlQnVja2V0LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlQnVja2V0QWNjZXNzS2V5LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlQ2VydGlmaWNhdGUsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVDbG91ZEZvcm1hdGlvblN0YWNrLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlQ29udGFjdE1ldGhvZCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZUNvbnRhaW5lclNlcnZpY2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVDb250YWluZXJTZXJ2aWNlRGVwbG95bWVudCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZUNvbnRhaW5lclNlcnZpY2VSZWdpc3RyeUxvZ2luLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlRGlzayxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZURpc2tGcm9tU25hcHNob3QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVEaXNrU25hcHNob3QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVEaXN0cmlidXRpb24sXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVEb21haW4sXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVEb21haW5FbnRyeSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZUdVSVNlc3Npb25BY2Nlc3NEZXRhaWxzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlSW5zdGFuY2VTbmFwc2hvdCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZUluc3RhbmNlcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZUluc3RhbmNlc0Zyb21TbmFwc2hvdCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZUtleVBhaXIsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVMb2FkQmFsYW5jZXIsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZUZyb21TbmFwc2hvdCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlQWxhcm0sXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVBdXRvU25hcHNob3QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVCdWNrZXQsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVCdWNrZXRBY2Nlc3NLZXksXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVDZXJ0aWZpY2F0ZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZUNvbnRhY3RNZXRob2QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVDb250YWluZXJJbWFnZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZUNvbnRhaW5lclNlcnZpY2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVEaXNrLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlRGlza1NuYXBzaG90LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlRGlzdHJpYnV0aW9uLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlRG9tYWluLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlRG9tYWluRW50cnksXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVJbnN0YW5jZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZUluc3RhbmNlU25hcHNob3QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVLZXlQYWlyLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlS25vd25Ib3N0S2V5cyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZUxvYWRCYWxhbmNlcixcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZUxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlUmVsYXRpb25hbERhdGFiYXNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZXRhY2hDZXJ0aWZpY2F0ZUZyb21EaXN0cmlidXRpb24sXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZXRhY2hEaXNrLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGV0YWNoSW5zdGFuY2VzRnJvbUxvYWRCYWxhbmNlcixcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRldGFjaFN0YXRpY0lwLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGlzYWJsZUFkZE9uLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRG93bmxvYWREZWZhdWx0S2V5UGFpcixcblx0XHRMaWdodFNhaWxBY3Rpb25zLkVuYWJsZUFkZE9uLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRXhwb3J0U25hcHNob3QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRJbnN0YW5jZUFjY2Vzc0RldGFpbHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VNYXN0ZXJVc2VyUGFzc3dvcmQsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5JbXBvcnRLZXlQYWlyLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuT3Blbkluc3RhbmNlUHVibGljUG9ydHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5QZWVyVnBjLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuUHV0QWxhcm0sXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5QdXRJbnN0YW5jZVB1YmxpY1BvcnRzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuUmVib290SW5zdGFuY2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5SZWJvb3RSZWxhdGlvbmFsRGF0YWJhc2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5SZWdpc3RlckNvbnRhaW5lckltYWdlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuUmVsZWFzZVN0YXRpY0lwLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuUmVzZXREaXN0cmlidXRpb25DYWNoZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlNlbmRDb250YWN0TWV0aG9kVmVyaWZpY2F0aW9uLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uU2V0SXBBZGRyZXNzVHlwZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvblNldFJlc291cmNlQWNjZXNzRm9yQnVja2V0LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuU2V0dXBJbnN0YW5jZUh0dHBzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuU3RhcnRHVUlTZXNzaW9uLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuU3RhcnRJbnN0YW5jZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlN0YXJ0UmVsYXRpb25hbERhdGFiYXNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuU3RvcEdVSVNlc3Npb24sXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5TdG9wSW5zdGFuY2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5TdG9wUmVsYXRpb25hbERhdGFiYXNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuVGVzdEFsYXJtLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuVW5wZWVyVnBjLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuVXBkYXRlQnVja2V0LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuVXBkYXRlQnVja2V0QnVuZGxlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuVXBkYXRlQ29udGFpbmVyU2VydmljZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlVwZGF0ZURpc3RyaWJ1dGlvbixcblx0XHRMaWdodFNhaWxBY3Rpb25zLlVwZGF0ZURpc3RyaWJ1dGlvbkJ1bmRsZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlVwZGF0ZURvbWFpbkVudHJ5LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuVXBkYXRlSW5zdGFuY2VNZXRhZGF0YU9wdGlvbnMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5VcGRhdGVMb2FkQmFsYW5jZXJBdHRyaWJ1dGUsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5VcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5VcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRMaWdodFNhaWxBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEFsYXJtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxBbGFybUFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBbGFybSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsQWxhcm1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEJ1Y2tldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsQnVja2V0QXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEJ1Y2tldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsQnVja2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDZXJ0aWZpY2F0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsQ2VydGlmaWNhdGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ2VydGlmaWNhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbENlcnRpZmljYXRlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkQXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENvbnRhY3RNZXRob2QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbENvbnRhY3RNZXRob2RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29udGFjdE1ldGhvZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsQ29udGFjdE1ldGhvZEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ29udGFpbmVyU2VydmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsQ29udGFpbmVyU2VydmljZUFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDb250YWluZXJTZXJ2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxDb250YWluZXJTZXJ2aWNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBEaXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxEaXNrQXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIERpc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbERpc2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIERpc2tTbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsRGlza1NuYXBzaG90QXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIERpc2tTbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsRGlza1NuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBEaXN0cmlidXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbERpc3RyaWJ1dGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBEaXN0cmlidXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbERpc3RyaWJ1dGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRG9tYWluIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxEb21haW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgRG9tYWluIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxEb21haW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEV4cG9ydFNuYXBzaG90UmVjb3JkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxFeHBvcnRTbmFwc2hvdFJlY29yZEFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBFeHBvcnRTbmFwc2hvdFJlY29yZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsRXhwb3J0U25hcHNob3RSZWNvcmRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxJbnN0YW5jZUFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBJbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEluc3RhbmNlU25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbEluc3RhbmNlU25hcHNob3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgSW5zdGFuY2VTbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsSW5zdGFuY2VTbmFwc2hvdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgS2V5UGFpciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsS2V5UGFpckFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBLZXlQYWlyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxLZXlQYWlyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBMb2FkQmFsYW5jZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbExvYWRCYWxhbmNlckFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBMb2FkQmFsYW5jZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbExvYWRCYWxhbmNlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbExvYWRCYWxhbmNlclRMU0NlcnRpZmljYXRlQXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxMb2FkQmFsYW5jZXJUTFNDZXJ0aWZpY2F0ZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVsYXRpb25hbERhdGFiYXNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxSZWxhdGlvbmFsRGF0YWJhc2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVsYXRpb25hbERhdGFiYXNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxSZWxhdGlvbmFsRGF0YWJhc2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdEFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFN0YXRpY0lwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxTdGF0aWNJUEFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTdGF0aWNJcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsU3RhdGljSVBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuY29uc3QgQWxhcm1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6QWxhcm1cXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgQnVja2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOkJ1Y2tldFxcLyg/PGlkPlteOi8/XSspJC87XG5jb25zdCBDZXJ0aWZpY2F0ZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsaWdodHNhaWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpDZXJ0aWZpY2F0ZVxcLyg/PGlkPlteOi8/XSspJC87XG5jb25zdCBDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOkNsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgQ29udGFjdE1ldGhvZEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsaWdodHNhaWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpDb250YWN0TWV0aG9kXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IENvbnRhaW5lclNlcnZpY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Q29udGFpbmVyU2VydmljZVxcLyg/PGlkPlteOi8/XSspJC87XG5jb25zdCBEaXNrQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOkRpc2tcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgRGlza1NuYXBzaG90QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOkRpc2tTbmFwc2hvdFxcLyg/PGlkPlteOi8/XSspJC87XG5jb25zdCBEaXN0cmlidXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6RGlzdHJpYnV0aW9uXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IERvbWFpbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsaWdodHNhaWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpEb21haW5cXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgRXhwb3J0U25hcHNob3RSZWNvcmRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6RXhwb3J0U25hcHNob3RSZWNvcmRcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgSW5zdGFuY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6SW5zdGFuY2VcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgSW5zdGFuY2VTbmFwc2hvdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsaWdodHNhaWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpJbnN0YW5jZVNuYXBzaG90XFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IEtleVBhaXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6S2V5UGFpclxcLyg/PGlkPlteOi8/XSspJC87XG5jb25zdCBMb2FkQmFsYW5jZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6TG9hZEJhbGFuY2VyXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IExvYWRCYWxhbmNlclRMU0NlcnRpZmljYXRlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOkxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IFJlbGF0aW9uYWxEYXRhYmFzZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsaWdodHNhaWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpSZWxhdGlvbmFsRGF0YWJhc2VcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6UmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgU3RhdGljSVBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6U3RhdGljSXBcXC8oPzxpZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGxpZ2h0c2FpbCByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBMaWdodFNhaWxSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEFsYXJtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFsYXJtKHByb3BzOiBMaWdodFNhaWxBbGFybUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06QWxhcm0vJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQWxhcm0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFsYXJtQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFsYXJtQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEFsYXJtIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFsYXJtQXJuKGFybjogc3RyaW5nKTogTGlnaHRTYWlsQWxhcm1Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFsYXJtQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEFsYXJtIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEJ1Y2tldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBidWNrZXQocHJvcHM6IExpZ2h0U2FpbEJ1Y2tldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06QnVja2V0LyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEJ1Y2tldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQnVja2V0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJ1Y2tldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBCdWNrZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQnVja2V0QXJuKGFybjogc3RyaW5nKTogTGlnaHRTYWlsQnVja2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCdWNrZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQnVja2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENlcnRpZmljYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNlcnRpZmljYXRlKHByb3BzOiBMaWdodFNhaWxDZXJ0aWZpY2F0ZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Q2VydGlmaWNhdGUvJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ2VydGlmaWNhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENlcnRpZmljYXRlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENlcnRpZmljYXRlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENlcnRpZmljYXRlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNlcnRpZmljYXRlQXJuKGFybjogc3RyaW5nKTogTGlnaHRTYWlsQ2VydGlmaWNhdGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENlcnRpZmljYXRlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENlcnRpZmljYXRlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2xvdWRGb3JtYXRpb25TdGFja1JlY29yZChcblx0XHRwcm9wczogTGlnaHRTYWlsQ2xvdWRGb3JtYXRpb25TdGFja1JlY29yZEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2xvdWRGb3JtYXRpb25TdGFja1JlY29yZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IExpZ2h0U2FpbENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ2xvdWRGb3JtYXRpb25TdGFja1JlY29yZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDb250YWN0TWV0aG9kIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbnRhY3RNZXRob2QocHJvcHM6IExpZ2h0U2FpbENvbnRhY3RNZXRob2RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGlnaHRzYWlsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OkNvbnRhY3RNZXRob2QvJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ29udGFjdE1ldGhvZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29udGFjdE1ldGhvZEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb250YWN0TWV0aG9kQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENvbnRhY3RNZXRob2QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29udGFjdE1ldGhvZEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTGlnaHRTYWlsQ29udGFjdE1ldGhvZEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29udGFjdE1ldGhvZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDb250YWN0TWV0aG9kIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENvbnRhaW5lclNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29udGFpbmVyU2VydmljZShwcm9wczogTGlnaHRTYWlsQ29udGFpbmVyU2VydmljZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Q29udGFpbmVyU2VydmljZS8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb250YWluZXJTZXJ2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb250YWluZXJTZXJ2aWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbnRhaW5lclNlcnZpY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29udGFpbmVyU2VydmljZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb250YWluZXJTZXJ2aWNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBMaWdodFNhaWxDb250YWluZXJTZXJ2aWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb250YWluZXJTZXJ2aWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENvbnRhaW5lclNlcnZpY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRGlzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkaXNrKHByb3BzOiBMaWdodFNhaWxEaXNrQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpEaXNrLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIERpc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERpc2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGlza0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBEaXNrIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURpc2tBcm4oYXJuOiBzdHJpbmcpOiBMaWdodFNhaWxEaXNrQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEaXNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIERpc2sgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRGlza1NuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRpc2tTbmFwc2hvdChwcm9wczogTGlnaHRTYWlsRGlza1NuYXBzaG90QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpEaXNrU25hcHNob3QvJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRGlza1NuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREaXNrU25hcHNob3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGlza1NuYXBzaG90QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIERpc2tTbmFwc2hvdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEaXNrU25hcHNob3RBcm4oYXJuOiBzdHJpbmcpOiBMaWdodFNhaWxEaXNrU25hcHNob3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERpc2tTbmFwc2hvdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBEaXNrU25hcHNob3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRGlzdHJpYnV0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRpc3RyaWJ1dGlvbihwcm9wczogTGlnaHRTYWlsRGlzdHJpYnV0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpEaXN0cmlidXRpb24vJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRGlzdHJpYnV0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREaXN0cmlidXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGlzdHJpYnV0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIERpc3RyaWJ1dGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEaXN0cmlidXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBMaWdodFNhaWxEaXN0cmlidXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERpc3RyaWJ1dGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBEaXN0cmlidXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRG9tYWluIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpbihwcm9wczogTGlnaHRTYWlsRG9tYWluQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpEb21haW4vJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRG9tYWluIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREb21haW5Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRG9tYWluQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIERvbWFpbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEb21haW5Bcm4oYXJuOiBzdHJpbmcpOiBMaWdodFNhaWxEb21haW5Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERvbWFpbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBEb21haW4gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRXhwb3J0U25hcHNob3RSZWNvcmQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXhwb3J0U25hcHNob3RSZWNvcmQoXG5cdFx0cHJvcHM6IExpZ2h0U2FpbEV4cG9ydFNuYXBzaG90UmVjb3JkQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGlnaHRzYWlsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OkV4cG9ydFNuYXBzaG90UmVjb3JkLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEV4cG9ydFNuYXBzaG90UmVjb3JkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFeHBvcnRTbmFwc2hvdFJlY29yZEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFeHBvcnRTbmFwc2hvdFJlY29yZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBFeHBvcnRTbmFwc2hvdFJlY29yZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeHBvcnRTbmFwc2hvdFJlY29yZEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTGlnaHRTYWlsRXhwb3J0U25hcHNob3RSZWNvcmRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV4cG9ydFNuYXBzaG90UmVjb3JkQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEV4cG9ydFNuYXBzaG90UmVjb3JkIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbmNlKHByb3BzOiBMaWdodFNhaWxJbnN0YW5jZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06SW5zdGFuY2UvJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgSW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEluc3RhbmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluc3RhbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEluc3RhbmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluc3RhbmNlQXJuKGFybjogc3RyaW5nKTogTGlnaHRTYWlsSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluc3RhbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEluc3RhbmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEluc3RhbmNlU25hcHNob3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5zdGFuY2VTbmFwc2hvdChwcm9wczogTGlnaHRTYWlsSW5zdGFuY2VTbmFwc2hvdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06SW5zdGFuY2VTbmFwc2hvdC8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBJbnN0YW5jZVNuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbnN0YW5jZVNuYXBzaG90QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluc3RhbmNlU25hcHNob3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgSW5zdGFuY2VTbmFwc2hvdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbnN0YW5jZVNuYXBzaG90QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBMaWdodFNhaWxJbnN0YW5jZVNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbnN0YW5jZVNuYXBzaG90QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEluc3RhbmNlU25hcHNob3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgS2V5UGFpciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBrZXlQYWlyKHByb3BzOiBMaWdodFNhaWxLZXlQYWlyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpLZXlQYWlyLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEtleVBhaXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEtleVBhaXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gS2V5UGFpckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBLZXlQYWlyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUtleVBhaXJBcm4oYXJuOiBzdHJpbmcpOiBMaWdodFNhaWxLZXlQYWlyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBLZXlQYWlyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEtleVBhaXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTG9hZEJhbGFuY2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxvYWRCYWxhbmNlcihwcm9wczogTGlnaHRTYWlsTG9hZEJhbGFuY2VyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpMb2FkQmFsYW5jZXIvJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTG9hZEJhbGFuY2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMb2FkQmFsYW5jZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTG9hZEJhbGFuY2VyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIExvYWRCYWxhbmNlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMb2FkQmFsYW5jZXJBcm4oYXJuOiBzdHJpbmcpOiBMaWdodFNhaWxMb2FkQmFsYW5jZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExvYWRCYWxhbmNlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBMb2FkQmFsYW5jZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbG9hZEJhbGFuY2VyVExTQ2VydGlmaWNhdGUoXG5cdFx0cHJvcHM6IExpZ2h0U2FpbExvYWRCYWxhbmNlclRMU0NlcnRpZmljYXRlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGlnaHRzYWlsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OkxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMb2FkQmFsYW5jZXJUTFNDZXJ0aWZpY2F0ZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMb2FkQmFsYW5jZXJUTFNDZXJ0aWZpY2F0ZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMb2FkQmFsYW5jZXJUTFNDZXJ0aWZpY2F0ZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTGlnaHRTYWlsTG9hZEJhbGFuY2VyVExTQ2VydGlmaWNhdGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExvYWRCYWxhbmNlclRMU0NlcnRpZmljYXRlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlbGF0aW9uYWxEYXRhYmFzZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWxhdGlvbmFsRGF0YWJhc2UoXG5cdFx0cHJvcHM6IExpZ2h0U2FpbFJlbGF0aW9uYWxEYXRhYmFzZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpSZWxhdGlvbmFsRGF0YWJhc2UvJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVsYXRpb25hbERhdGFiYXNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWxhdGlvbmFsRGF0YWJhc2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVsYXRpb25hbERhdGFiYXNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlbGF0aW9uYWxEYXRhYmFzZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWxhdGlvbmFsRGF0YWJhc2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IExpZ2h0U2FpbFJlbGF0aW9uYWxEYXRhYmFzZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVsYXRpb25hbERhdGFiYXNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlbGF0aW9uYWxEYXRhYmFzZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdChcblx0XHRwcm9wczogTGlnaHRTYWlsUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06UmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QvJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBMaWdodFNhaWxSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgU3RhdGljSXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc3RhdGljSVAocHJvcHM6IExpZ2h0U2FpbFN0YXRpY0lQQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpTdGF0aWNJcC8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTdGF0aWNJcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU3RhdGljSVBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3RhdGljSVBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU3RhdGljSXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3RhdGljSVBBcm4oYXJuOiBzdHJpbmcpOiBMaWdodFNhaWxTdGF0aWNJUEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU3RhdGljSVBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU3RhdGljSXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgbGlnaHRzYWlsLlxuICovXG5leHBvcnQgY2xhc3MgTGlnaHRTYWlsT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFsbG9jYXRlU3RhdGljSXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxvY2F0ZVN0YXRpY0lwOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpBbGxvY2F0ZVN0YXRpY0lwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBdHRhY2hDZXJ0aWZpY2F0ZVRvRGlzdHJpYnV0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoQ2VydGlmaWNhdGVUb0Rpc3RyaWJ1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6QXR0YWNoQ2VydGlmaWNhdGVUb0Rpc3RyaWJ1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBdHRhY2hEaXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoRGlzazogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6QXR0YWNoRGlza1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXR0YWNoSW5zdGFuY2VzVG9Mb2FkQmFsYW5jZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hJbnN0YW5jZXNUb0xvYWRCYWxhbmNlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6QXR0YWNoSW5zdGFuY2VzVG9Mb2FkQmFsYW5jZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXR0YWNoTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6QXR0YWNoTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXR0YWNoU3RhdGljSXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hTdGF0aWNJcDogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6QXR0YWNoU3RhdGljSXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENsb3NlSW5zdGFuY2VQdWJsaWNQb3J0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENsb3NlSW5zdGFuY2VQdWJsaWNQb3J0czogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6Q2xvc2VJbnN0YW5jZVB1YmxpY1BvcnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvcHlTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTbmFwc2hvdDogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6Q29weVNuYXBzaG90XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCdWNrZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCdWNrZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUJ1Y2tldFwiLFxuXHRcdFwibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJ1Y2tldEFjY2Vzc0tleSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJ1Y2tldEFjY2Vzc0tleTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlQnVja2V0QWNjZXNzS2V5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNlcnRpZmljYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2VydGlmaWNhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUNlcnRpZmljYXRlXCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2xvdWRGb3JtYXRpb25TdGFjayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkRm9ybWF0aW9uU3RhY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUNsb3VkRm9ybWF0aW9uU3RhY2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29udGFjdE1ldGhvZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRhY3RNZXRob2Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUNvbnRhY3RNZXRob2RcIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb250YWluZXJTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udGFpbmVyU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlQ29udGFpbmVyU2VydmljZVwiLFxuXHRcdFwibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbnRhaW5lclNlcnZpY2VEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udGFpbmVyU2VydmljZURlcGxveW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUNvbnRhaW5lclNlcnZpY2VEZXBsb3ltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbnRhaW5lclNlcnZpY2VSZWdpc3RyeUxvZ2luIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udGFpbmVyU2VydmljZVJlZ2lzdHJ5TG9naW46IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUNvbnRhaW5lclNlcnZpY2VSZWdpc3RyeUxvZ2luXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURpc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEaXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVEaXNrXCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGlza0Zyb21TbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURpc2tGcm9tU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZURpc2tGcm9tU25hcHNob3RcIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEaXNrU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEaXNrU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZURpc2tTbmFwc2hvdFwiLFxuXHRcdFwibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURpc3RyaWJ1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURpc3RyaWJ1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlRGlzdHJpYnV0aW9uXCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVEb21haW5cIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEb21haW5FbnRyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvbWFpbkVudHJ5OiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpDcmVhdGVEb21haW5FbnRyeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlR1VJU2Vzc2lvbkFjY2Vzc0RldGFpbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHVUlTZXNzaW9uQWNjZXNzRGV0YWlsczogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlR1VJU2Vzc2lvbkFjY2Vzc0RldGFpbHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5zdGFuY2VTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluc3RhbmNlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUluc3RhbmNlU25hcHNob3RcIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnN0YW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnN0YW5jZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUluc3RhbmNlc1wiLFxuXHRcdFwibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUluc3RhbmNlc0Zyb21TbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluc3RhbmNlc0Zyb21TbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlSW5zdGFuY2VzRnJvbVNuYXBzaG90XCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlS2V5UGFpciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUtleVBhaXI6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUtleVBhaXJcIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMb2FkQmFsYW5jZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMb2FkQmFsYW5jZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUxvYWRCYWxhbmNlclwiLFxuXHRcdFwibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlUmVsYXRpb25hbERhdGFiYXNlXCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVsYXRpb25hbERhdGFiYXNlRnJvbVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVsYXRpb25hbERhdGFiYXNlRnJvbVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VGcm9tU25hcHNob3RcIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdFwiLFxuXHRcdFwibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFsYXJtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWxhcm06IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkRlbGV0ZUFsYXJtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBdXRvU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkRlbGV0ZUF1dG9TbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVCdWNrZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCdWNrZXQ6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkRlbGV0ZUJ1Y2tldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQnVja2V0QWNjZXNzS2V5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQnVja2V0QWNjZXNzS2V5OiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZWxldGVCdWNrZXRBY2Nlc3NLZXlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2VydGlmaWNhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDZXJ0aWZpY2F0ZTogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6RGVsZXRlQ2VydGlmaWNhdGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbnRhY3RNZXRob2QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb250YWN0TWV0aG9kOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZWxldGVDb250YWN0TWV0aG9kXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbnRhaW5lckltYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29udGFpbmVySW1hZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkRlbGV0ZUNvbnRhaW5lckltYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbnRhaW5lclNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb250YWluZXJTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZWxldGVDb250YWluZXJTZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURpc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEaXNrOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpEZWxldGVEaXNrXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEaXNrU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEaXNrU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkRlbGV0ZURpc2tTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEaXN0cmlidXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEaXN0cmlidXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkRlbGV0ZURpc3RyaWJ1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW46IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkRlbGV0ZURvbWFpblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRG9tYWluRW50cnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW5FbnRyeTogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6RGVsZXRlRG9tYWluRW50cnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5zdGFuY2U6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkRlbGV0ZUluc3RhbmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbnN0YW5jZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5zdGFuY2VTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6RGVsZXRlSW5zdGFuY2VTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVLZXlQYWlyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS2V5UGFpcjogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6RGVsZXRlS2V5UGFpclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlS25vd25Ib3N0S2V5cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtub3duSG9zdEtleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkRlbGV0ZUtub3duSG9zdEtleXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTG9hZEJhbGFuY2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTG9hZEJhbGFuY2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZWxldGVMb2FkQmFsYW5jZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6RGVsZXRlTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVsYXRpb25hbERhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVsYXRpb25hbERhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZWxldGVSZWxhdGlvbmFsRGF0YWJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6RGVsZXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGV0YWNoQ2VydGlmaWNhdGVGcm9tRGlzdHJpYnV0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoQ2VydGlmaWNhdGVGcm9tRGlzdHJpYnV0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZXRhY2hDZXJ0aWZpY2F0ZUZyb21EaXN0cmlidXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGV0YWNoRGlzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaERpc2s6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkRldGFjaERpc2tcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGFjaEluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRhY2hJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZXRhY2hJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGFjaFN0YXRpY0lwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoU3RhdGljSXA6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkRldGFjaFN0YXRpY0lwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlQWRkT24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlQWRkT246IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkRpc2FibGVBZGRPblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRG93bmxvYWREZWZhdWx0S2V5UGFpciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERvd25sb2FkRGVmYXVsdEtleVBhaXI6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkRvd25sb2FkRGVmYXVsdEtleVBhaXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRW5hYmxlQWRkT24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVBZGRPbjogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6RW5hYmxlQWRkT25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4cG9ydFNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0U25hcHNob3Q6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkV4cG9ydFNuYXBzaG90XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBY3RpdmVOYW1lcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWN0aXZlTmFtZXM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldEFjdGl2ZU5hbWVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBbGFybXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFsYXJtczogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0QWxhcm1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvU25hcHNob3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvU25hcHNob3RzOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRBdXRvU25hcHNob3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCbHVlcHJpbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCbHVlcHJpbnRzOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRCbHVlcHJpbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCdWNrZXRBY2Nlc3NLZXlzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCdWNrZXRBY2Nlc3NLZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRCdWNrZXRBY2Nlc3NLZXlzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJ1Y2tldEJ1bmRsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJ1Y2tldEJ1bmRsZXM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldEJ1Y2tldEJ1bmRsZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJ1Y2tldE1ldHJpY0RhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJ1Y2tldE1ldHJpY0RhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldEJ1Y2tldE1ldHJpY0RhdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QnVja2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QnVja2V0czogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0QnVja2V0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QnVuZGxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QnVuZGxlczogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0QnVuZGxlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q2VydGlmaWNhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDZXJ0aWZpY2F0ZXM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldENlcnRpZmljYXRlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q2xvdWRGb3JtYXRpb25TdGFja1JlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3Jkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb250YWN0TWV0aG9kcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29udGFjdE1ldGhvZHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldENvbnRhY3RNZXRob2RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbnRhaW5lckFQSU1ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb250YWluZXJBUElNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0Q29udGFpbmVyQVBJTWV0YWRhdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29udGFpbmVySW1hZ2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb250YWluZXJJbWFnZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldENvbnRhaW5lckltYWdlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb250YWluZXJMb2cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbnRhaW5lckxvZzogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0Q29udGFpbmVyTG9nXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb250YWluZXJTZXJ2aWNlRGVwbG95bWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbnRhaW5lclNlcnZpY2VEZXBsb3ltZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0Q29udGFpbmVyU2VydmljZURlcGxveW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbnRhaW5lclNlcnZpY2VNZXRyaWNEYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb250YWluZXJTZXJ2aWNlTWV0cmljRGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0Q29udGFpbmVyU2VydmljZU1ldHJpY0RhdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29udGFpbmVyU2VydmljZVBvd2VycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29udGFpbmVyU2VydmljZVBvd2Vyczogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0Q29udGFpbmVyU2VydmljZVBvd2Vyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb250YWluZXJTZXJ2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29udGFpbmVyU2VydmljZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldENvbnRhaW5lclNlcnZpY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvc3RFc3RpbWF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29zdEVzdGltYXRlOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRDb3N0RXN0aW1hdGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERpc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERpc2s6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldERpc2tcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERpc2tTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGlza1NuYXBzaG90OiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXREaXNrU25hcHNob3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERpc2tTbmFwc2hvdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERpc2tTbmFwc2hvdHM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldERpc2tTbmFwc2hvdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERpc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREaXNrczogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0RGlza3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERpc3RyaWJ1dGlvbkJ1bmRsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERpc3RyaWJ1dGlvbkJ1bmRsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldERpc3RyaWJ1dGlvbkJ1bmRsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGlzdHJpYnV0aW9uTGF0ZXN0Q2FjaGVSZXNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGlzdHJpYnV0aW9uTGF0ZXN0Q2FjaGVSZXNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0RGlzdHJpYnV0aW9uTGF0ZXN0Q2FjaGVSZXNldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREaXN0cmlidXRpb25NZXRyaWNEYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREaXN0cmlidXRpb25NZXRyaWNEYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXREaXN0cmlidXRpb25NZXRyaWNEYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERpc3RyaWJ1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERpc3RyaWJ1dGlvbnM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldERpc3RyaWJ1dGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RG9tYWluOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXREb21haW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERvbWFpbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvbWFpbnM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldERvbWFpbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV4cG9ydFNuYXBzaG90UmVjb3JkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RXhwb3J0U25hcHNob3RSZWNvcmRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRFeHBvcnRTbmFwc2hvdFJlY29yZHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluc3RhbmNlOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5zdGFuY2VBY2Nlc3NEZXRhaWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnN0YW5jZUFjY2Vzc0RldGFpbHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldEluc3RhbmNlQWNjZXNzRGV0YWlsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnN0YW5jZU1ldHJpY0RhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluc3RhbmNlTWV0cmljRGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0SW5zdGFuY2VNZXRyaWNEYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEluc3RhbmNlUG9ydFN0YXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5zdGFuY2VQb3J0U3RhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZVBvcnRTdGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5zdGFuY2VTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5zdGFuY2VTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0SW5zdGFuY2VTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnN0YW5jZVNuYXBzaG90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5zdGFuY2VTbmFwc2hvdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldEluc3RhbmNlU25hcHNob3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEluc3RhbmNlU3RhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluc3RhbmNlU3RhdGU6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldEluc3RhbmNlU3RhdGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEluc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEtleVBhaXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEtleVBhaXI6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldEtleVBhaXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEtleVBhaXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRLZXlQYWlyczogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0S2V5UGFpcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldExvYWRCYWxhbmNlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TG9hZEJhbGFuY2VyOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRMb2FkQmFsYW5jZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldExvYWRCYWxhbmNlck1ldHJpY0RhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldExvYWRCYWxhbmNlck1ldHJpY0RhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldExvYWRCYWxhbmNlck1ldHJpY0RhdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRMb2FkQmFsYW5jZXJUbHNQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TG9hZEJhbGFuY2VyVGxzUG9saWNpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldExvYWRCYWxhbmNlclRsc1BvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldExvYWRCYWxhbmNlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldExvYWRCYWxhbmNlcnM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldExvYWRCYWxhbmNlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9wZXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T3BlcmF0aW9uOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRPcGVyYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9wZXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9wZXJhdGlvbnM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldE9wZXJhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9wZXJhdGlvbnNGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T3BlcmF0aW9uc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRPcGVyYXRpb25zRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVnaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVnaW9uczogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0UmVnaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVsYXRpb25hbERhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWxhdGlvbmFsRGF0YWJhc2VCbHVlcHJpbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2VCbHVlcHJpbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VCbHVlcHJpbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlbGF0aW9uYWxEYXRhYmFzZUJ1bmRsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlbGF0aW9uYWxEYXRhYmFzZUJ1bmRsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUJ1bmRsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVsYXRpb25hbERhdGFiYXNlRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2VFdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUV2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWxhdGlvbmFsRGF0YWJhc2VMb2dFdmVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlbGF0aW9uYWxEYXRhYmFzZUxvZ0V2ZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlTG9nRXZlbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlbGF0aW9uYWxEYXRhYmFzZUxvZ1N0cmVhbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlbGF0aW9uYWxEYXRhYmFzZUxvZ1N0cmVhbXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUxvZ1N0cmVhbXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVsYXRpb25hbERhdGFiYXNlTWFzdGVyVXNlclBhc3N3b3JkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2VNYXN0ZXJVc2VyUGFzc3dvcmQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZU1hc3RlclVzZXJQYXNzd29yZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWxhdGlvbmFsRGF0YWJhc2VNZXRyaWNEYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2VNZXRyaWNEYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VNZXRyaWNEYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlbGF0aW9uYWxEYXRhYmFzZVBhcmFtZXRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlbGF0aW9uYWxEYXRhYmFzZVBhcmFtZXRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZVBhcmFtZXRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90czogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlbGF0aW9uYWxEYXRhYmFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlbGF0aW9uYWxEYXRhYmFzZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2V0dXBIaXN0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXR1cEhpc3Rvcnk6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldFNldHVwSGlzdG9yeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U3RhdGljSXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFN0YXRpY0lwOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRTdGF0aWNJcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U3RhdGljSXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTdGF0aWNJcHM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldFN0YXRpY0lwc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW1wb3J0S2V5UGFpciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEtleVBhaXI6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkltcG9ydEtleVBhaXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIElzVnBjUGVlcmVkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSXNWcGNQZWVyZWQ6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOklzVnBjUGVlcmVkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBPcGVuSW5zdGFuY2VQdWJsaWNQb3J0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE9wZW5JbnN0YW5jZVB1YmxpY1BvcnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpPcGVuSW5zdGFuY2VQdWJsaWNQb3J0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQZWVyVnBjIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUGVlclZwYzogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6UGVlclZwY1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0QWxhcm0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBbGFybTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6UHV0QWxhcm1cIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRJbnN0YW5jZVB1YmxpY1BvcnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW5zdGFuY2VQdWJsaWNQb3J0czogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6UHV0SW5zdGFuY2VQdWJsaWNQb3J0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWJvb3RJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYm9vdEluc3RhbmNlOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpSZWJvb3RJbnN0YW5jZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVib290UmVsYXRpb25hbERhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290UmVsYXRpb25hbERhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpSZWJvb3RSZWxhdGlvbmFsRGF0YWJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJDb250YWluZXJJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyQ29udGFpbmVySW1hZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOlJlZ2lzdGVyQ29udGFpbmVySW1hZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsZWFzZVN0YXRpY0lwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsZWFzZVN0YXRpY0lwOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpSZWxlYXNlU3RhdGljSXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlc2V0RGlzdHJpYnV0aW9uQ2FjaGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXNldERpc3RyaWJ1dGlvbkNhY2hlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpSZXNldERpc3RyaWJ1dGlvbkNhY2hlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRDb250YWN0TWV0aG9kVmVyaWZpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZENvbnRhY3RNZXRob2RWZXJpZmljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOlNlbmRDb250YWN0TWV0aG9kVmVyaWZpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldElwQWRkcmVzc1R5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcFNldElwQWRkcmVzc1R5cGU6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOlNldElwQWRkcmVzc1R5cGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldFJlc291cmNlQWNjZXNzRm9yQnVja2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRSZXNvdXJjZUFjY2Vzc0ZvckJ1Y2tldDogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6U2V0UmVzb3VyY2VBY2Nlc3NGb3JCdWNrZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0dXBJbnN0YW5jZUh0dHBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2V0dXBJbnN0YW5jZUh0dHBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpTZXR1cEluc3RhbmNlSHR0cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRHVUlTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRHVUlTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpTdGFydEdVSVNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0SW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEluc3RhbmNlOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpTdGFydEluc3RhbmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlbGF0aW9uYWxEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVsYXRpb25hbERhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpTdGFydFJlbGF0aW9uYWxEYXRhYmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wR1VJU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BHVUlTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpTdG9wR1VJU2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEluc3RhbmNlOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpTdG9wSW5zdGFuY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BSZWxhdGlvbmFsRGF0YWJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUmVsYXRpb25hbERhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpTdG9wUmVsYXRpb25hbERhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUZXN0QWxhcm0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXN0QWxhcm06IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOlRlc3RBbGFybVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW5wZWVyVnBjIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW5wZWVyVnBjOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpVbnBlZXJWcGNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVCdWNrZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCdWNrZXQ6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOlVwZGF0ZUJ1Y2tldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQnVja2V0QnVuZGxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQnVja2V0QnVuZGxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpVcGRhdGVCdWNrZXRCdW5kbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29udGFpbmVyU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRhaW5lclNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOlVwZGF0ZUNvbnRhaW5lclNlcnZpY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGlzdHJpYnV0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGlzdHJpYnV0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpVcGRhdGVEaXN0cmlidXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGlzdHJpYnV0aW9uQnVuZGxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGlzdHJpYnV0aW9uQnVuZGxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpVcGRhdGVEaXN0cmlidXRpb25CdW5kbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9tYWluRW50cnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb21haW5FbnRyeTogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6VXBkYXRlRG9tYWluRW50cnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUluc3RhbmNlTWV0YWRhdGFPcHRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5zdGFuY2VNZXRhZGF0YU9wdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOlVwZGF0ZUluc3RhbmNlTWV0YWRhdGFPcHRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUxvYWRCYWxhbmNlckF0dHJpYnV0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxvYWRCYWxhbmNlckF0dHJpYnV0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6VXBkYXRlTG9hZEJhbGFuY2VyQXR0cmlidXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlbGF0aW9uYWxEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlbGF0aW9uYWxEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6VXBkYXRlUmVsYXRpb25hbERhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlbGF0aW9uYWxEYXRhYmFzZVBhcmFtZXRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpVcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBsaWdodHNhaWwuXG4gKi9cbmV4cG9ydCBjbGFzcyBMaWdodFNhaWxDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUJ1Y2tldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCdWNrZXRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNlcnRpZmljYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNlcnRpZmljYXRlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb250YWN0TWV0aG9kIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRhY3RNZXRob2RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbnRhaW5lclNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udGFpbmVyU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGlzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEaXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEaXNrRnJvbVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURpc2tGcm9tU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURpc2tTbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEaXNrU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURpc3RyaWJ1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEaXN0cmlidXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURvbWFpbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluc3RhbmNlU25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5zdGFuY2VTbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW5zdGFuY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluc3RhbmNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW5zdGFuY2VzRnJvbVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluc3RhbmNlc0Zyb21TbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlS2V5UGFpciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLZXlQYWlyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVMb2FkQmFsYW5jZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTG9hZEJhbGFuY2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVsYXRpb25hbERhdGFiYXNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VGcm9tU25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVsYXRpb25hbERhdGFiYXNlRnJvbVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLCBcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEFsYXJtIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFsYXJtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
|
|
1747
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRzYWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9saWdodHNhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZ0JBQWdCOztBQUE3Qiw0Q0EyaUJDOzs7QUExaUJBLDhCQUE4QjtBQUNkLCtCQUFjLEdBQUcsV0FBVyxDQUFDO0FBRTdDLHlDQUF5QztBQUN6QixpQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSx3REFBd0Q7QUFDeEMsZ0RBQStCLEdBQzlDLDJDQUEyQyxDQUFDO0FBQzdDLG1DQUFtQztBQUNuQiwyQkFBVSxHQUFHLHNCQUFzQixDQUFDO0FBQ3BELHNEQUFzRDtBQUN0Qyw4Q0FBNkIsR0FDNUMseUNBQXlDLENBQUM7QUFDM0MseURBQXlEO0FBQ3pDLGlEQUFnQyxHQUMvQyw0Q0FBNEMsQ0FBQztBQUM5Qyx1Q0FBdUM7QUFDdkIsK0JBQWMsR0FBRywwQkFBMEIsQ0FBQztBQUM1RCxpREFBaUQ7QUFDakMseUNBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLHFDQUFxQztBQUNyQiw2QkFBWSxHQUFHLHdCQUF3QixDQUFDO0FBQ3hELHFDQUFxQztBQUNyQiw2QkFBWSxHQUFHLHdCQUF3QixDQUFDO0FBQ3hELDhDQUE4QztBQUM5QixzQ0FBcUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUMxRSwwQ0FBMEM7QUFDMUIsa0NBQWlCLEdBQUcsNkJBQTZCLENBQUM7QUFDbEUsa0RBQWtEO0FBQ2xDLDBDQUF5QixHQUN4QyxxQ0FBcUMsQ0FBQztBQUN2Qyw0Q0FBNEM7QUFDNUIsb0NBQW1CLEdBQUcsK0JBQStCLENBQUM7QUFDdEUsK0NBQStDO0FBQy9CLHVDQUFzQixHQUFHLGtDQUFrQyxD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LENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsZ0RBQTRCLEdBQWE7SUFDeEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkVBQTJFO0FBQzNELDREQUF3QyxHQUFhO0lBQ3BFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw4Q0FBMEIsR0FBYTtJQUN0RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsbURBQStCLEdBQWE7SUFDM0QsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysd0VBQXdFO0FBQ3hELHlEQUFxQyxHQUFhO0lBQ2pFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLG9GQUFvRjtBQUNwRSxxRUFBaUQsR0FDaEUsQ0FBQywwQkFBMEIsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUM3QyxnRkFBZ0Y7QUFDaEUsaUVBQTZDLEdBQWE7SUFDekUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysd0RBQXdEO0FBQ3hDLHlDQUFxQixHQUFhO0lBQ2pELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyw0Q0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsOENBQTBCLEdBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RSx1REFBdUQ7QUFDdkMsbUNBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsb0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLGdDQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvbGlnaHRzYWlsLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBsaWdodHNhaWwgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIExpZ2h0U2FpbEFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJsaWdodHNhaWxcIjtcblxuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6QWxsb2NhdGVTdGF0aWNJcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsb2NhdGVTdGF0aWNJcCA9IFwibGlnaHRzYWlsOkFsbG9jYXRlU3RhdGljSXBcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkF0dGFjaENlcnRpZmljYXRlVG9EaXN0cmlidXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEF0dGFjaENlcnRpZmljYXRlVG9EaXN0cmlidXRpb24gPVxuXHRcdFwibGlnaHRzYWlsOkF0dGFjaENlcnRpZmljYXRlVG9EaXN0cmlidXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkF0dGFjaERpc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IEF0dGFjaERpc2sgPSBcImxpZ2h0c2FpbDpBdHRhY2hEaXNrXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpBdHRhY2hJbnN0YW5jZXNUb0xvYWRCYWxhbmNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoSW5zdGFuY2VzVG9Mb2FkQmFsYW5jZXIgPVxuXHRcdFwibGlnaHRzYWlsOkF0dGFjaEluc3RhbmNlc1RvTG9hZEJhbGFuY2VyXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpBdHRhY2hMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGUgPVxuXHRcdFwibGlnaHRzYWlsOkF0dGFjaExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpBdHRhY2hTdGF0aWNJcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoU3RhdGljSXAgPSBcImxpZ2h0c2FpbDpBdHRhY2hTdGF0aWNJcFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q2xvc2VJbnN0YW5jZVB1YmxpY1BvcnRzICovXG5cdHN0YXRpYyByZWFkb25seSBDbG9zZUluc3RhbmNlUHVibGljUG9ydHMgPVxuXHRcdFwibGlnaHRzYWlsOkNsb3NlSW5zdGFuY2VQdWJsaWNQb3J0c1wiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q29weVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5U25hcHNob3QgPSBcImxpZ2h0c2FpbDpDb3B5U25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZUJ1Y2tldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQnVja2V0ID0gXCJsaWdodHNhaWw6Q3JlYXRlQnVja2V0XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVCdWNrZXRBY2Nlc3NLZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJ1Y2tldEFjY2Vzc0tleSA9IFwibGlnaHRzYWlsOkNyZWF0ZUJ1Y2tldEFjY2Vzc0tleVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlQ2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNlcnRpZmljYXRlID0gXCJsaWdodHNhaWw6Q3JlYXRlQ2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZUNsb3VkRm9ybWF0aW9uU3RhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkRm9ybWF0aW9uU3RhY2sgPVxuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUNsb3VkRm9ybWF0aW9uU3RhY2tcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZUNvbnRhY3RNZXRob2QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRhY3RNZXRob2QgPSBcImxpZ2h0c2FpbDpDcmVhdGVDb250YWN0TWV0aG9kXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVDb250YWluZXJTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250YWluZXJTZXJ2aWNlID0gXCJsaWdodHNhaWw6Q3JlYXRlQ29udGFpbmVyU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlQ29udGFpbmVyU2VydmljZURlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRhaW5lclNlcnZpY2VEZXBsb3ltZW50ID1cblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVDb250YWluZXJTZXJ2aWNlRGVwbG95bWVudFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlQ29udGFpbmVyU2VydmljZVJlZ2lzdHJ5TG9naW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRhaW5lclNlcnZpY2VSZWdpc3RyeUxvZ2luID1cblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVDb250YWluZXJTZXJ2aWNlUmVnaXN0cnlMb2dpblwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlRGlzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGlzayA9IFwibGlnaHRzYWlsOkNyZWF0ZURpc2tcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZURpc2tGcm9tU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURpc2tGcm9tU25hcHNob3QgPSBcImxpZ2h0c2FpbDpDcmVhdGVEaXNrRnJvbVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVEaXNrU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURpc2tTbmFwc2hvdCA9IFwibGlnaHRzYWlsOkNyZWF0ZURpc2tTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlRGlzdHJpYnV0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEaXN0cmlidXRpb24gPSBcImxpZ2h0c2FpbDpDcmVhdGVEaXN0cmlidXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZURvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluID0gXCJsaWdodHNhaWw6Q3JlYXRlRG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVEb21haW5FbnRyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluRW50cnkgPSBcImxpZ2h0c2FpbDpDcmVhdGVEb21haW5FbnRyeVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlR1VJU2Vzc2lvbkFjY2Vzc0RldGFpbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdVSVNlc3Npb25BY2Nlc3NEZXRhaWxzID1cblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVHVUlTZXNzaW9uQWNjZXNzRGV0YWlsc1wiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlSW5zdGFuY2VTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5zdGFuY2VTbmFwc2hvdCA9IFwibGlnaHRzYWlsOkNyZWF0ZUluc3RhbmNlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZUluc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5zdGFuY2VzID0gXCJsaWdodHNhaWw6Q3JlYXRlSW5zdGFuY2VzXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVJbnN0YW5jZXNGcm9tU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluc3RhbmNlc0Zyb21TbmFwc2hvdCA9XG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlSW5zdGFuY2VzRnJvbVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpDcmVhdGVLZXlQYWlyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLZXlQYWlyID0gXCJsaWdodHNhaWw6Q3JlYXRlS2V5UGFpclwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6Q3JlYXRlTG9hZEJhbGFuY2VyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMb2FkQmFsYW5jZXIgPSBcImxpZ2h0c2FpbDpDcmVhdGVMb2FkQmFsYW5jZXJcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZUxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSA9XG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVsYXRpb25hbERhdGFiYXNlID1cblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZUZyb21TbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVsYXRpb25hbERhdGFiYXNlRnJvbVNuYXBzaG90ID1cblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VGcm9tU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkNyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdCA9XG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZUFsYXJtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBbGFybSA9IFwibGlnaHRzYWlsOkRlbGV0ZUFsYXJtXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVBdXRvU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9TbmFwc2hvdCA9IFwibGlnaHRzYWlsOkRlbGV0ZUF1dG9TbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlQnVja2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCdWNrZXQgPSBcImxpZ2h0c2FpbDpEZWxldGVCdWNrZXRcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZUJ1Y2tldEFjY2Vzc0tleSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQnVja2V0QWNjZXNzS2V5ID0gXCJsaWdodHNhaWw6RGVsZXRlQnVja2V0QWNjZXNzS2V5XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVDZXJ0aWZpY2F0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2VydGlmaWNhdGUgPSBcImxpZ2h0c2FpbDpEZWxldGVDZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlQ29udGFjdE1ldGhvZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29udGFjdE1ldGhvZCA9IFwibGlnaHRzYWlsOkRlbGV0ZUNvbnRhY3RNZXRob2RcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZUNvbnRhaW5lckltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb250YWluZXJJbWFnZSA9IFwibGlnaHRzYWlsOkRlbGV0ZUNvbnRhaW5lckltYWdlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVDb250YWluZXJTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb250YWluZXJTZXJ2aWNlID0gXCJsaWdodHNhaWw6RGVsZXRlQ29udGFpbmVyU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlRGlzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGlzayA9IFwibGlnaHRzYWlsOkRlbGV0ZURpc2tcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZURpc2tTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGlza1NuYXBzaG90ID0gXCJsaWdodHNhaWw6RGVsZXRlRGlza1NuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVEaXN0cmlidXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURpc3RyaWJ1dGlvbiA9IFwibGlnaHRzYWlsOkRlbGV0ZURpc3RyaWJ1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlRG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW4gPSBcImxpZ2h0c2FpbDpEZWxldGVEb21haW5cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZURvbWFpbkVudHJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW5FbnRyeSA9IFwibGlnaHRzYWlsOkRlbGV0ZURvbWFpbkVudHJ5XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5zdGFuY2UgPSBcImxpZ2h0c2FpbDpEZWxldGVJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlSW5zdGFuY2VTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5zdGFuY2VTbmFwc2hvdCA9IFwibGlnaHRzYWlsOkRlbGV0ZUluc3RhbmNlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZUtleVBhaXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtleVBhaXIgPSBcImxpZ2h0c2FpbDpEZWxldGVLZXlQYWlyXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZWxldGVLbm93bkhvc3RLZXlzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bkhvc3RLZXlzID0gXCJsaWdodHNhaWw6RGVsZXRlS25vd25Ib3N0S2V5c1wiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGVsZXRlTG9hZEJhbGFuY2VyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMb2FkQmFsYW5jZXIgPSBcImxpZ2h0c2FpbDpEZWxldGVMb2FkQmFsYW5jZXJcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZUxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSA9XG5cdFx0XCJsaWdodHNhaWw6RGVsZXRlTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZVJlbGF0aW9uYWxEYXRhYmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVsYXRpb25hbERhdGFiYXNlID1cblx0XHRcImxpZ2h0c2FpbDpEZWxldGVSZWxhdGlvbmFsRGF0YWJhc2VcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRlbGV0ZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdCA9XG5cdFx0XCJsaWdodHNhaWw6RGVsZXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRldGFjaENlcnRpZmljYXRlRnJvbURpc3RyaWJ1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoQ2VydGlmaWNhdGVGcm9tRGlzdHJpYnV0aW9uID1cblx0XHRcImxpZ2h0c2FpbDpEZXRhY2hDZXJ0aWZpY2F0ZUZyb21EaXN0cmlidXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRldGFjaERpc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaERpc2sgPSBcImxpZ2h0c2FpbDpEZXRhY2hEaXNrXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZXRhY2hJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRhY2hJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyID1cblx0XHRcImxpZ2h0c2FpbDpEZXRhY2hJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpEZXRhY2hTdGF0aWNJcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoU3RhdGljSXAgPSBcImxpZ2h0c2FpbDpEZXRhY2hTdGF0aWNJcFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RGlzYWJsZUFkZE9uICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlQWRkT24gPSBcImxpZ2h0c2FpbDpEaXNhYmxlQWRkT25cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkRvd25sb2FkRGVmYXVsdEtleVBhaXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERvd25sb2FkRGVmYXVsdEtleVBhaXIgPSBcImxpZ2h0c2FpbDpEb3dubG9hZERlZmF1bHRLZXlQYWlyXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpFbmFibGVBZGRPbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlQWRkT24gPSBcImxpZ2h0c2FpbDpFbmFibGVBZGRPblwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6RXhwb3J0U25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydFNuYXBzaG90ID0gXCJsaWdodHNhaWw6RXhwb3J0U25hcHNob3RcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0QWN0aXZlTmFtZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFjdGl2ZU5hbWVzID0gXCJsaWdodHNhaWw6R2V0QWN0aXZlTmFtZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0QWxhcm1zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBbGFybXMgPSBcImxpZ2h0c2FpbDpHZXRBbGFybXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0QXV0b1NuYXBzaG90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b1NuYXBzaG90cyA9IFwibGlnaHRzYWlsOkdldEF1dG9TbmFwc2hvdHNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0Qmx1ZXByaW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Qmx1ZXByaW50cyA9IFwibGlnaHRzYWlsOkdldEJsdWVwcmludHNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0QnVja2V0QWNjZXNzS2V5cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QnVja2V0QWNjZXNzS2V5cyA9IFwibGlnaHRzYWlsOkdldEJ1Y2tldEFjY2Vzc0tleXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0QnVja2V0QnVuZGxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QnVja2V0QnVuZGxlcyA9IFwibGlnaHRzYWlsOkdldEJ1Y2tldEJ1bmRsZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0QnVja2V0TWV0cmljRGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QnVja2V0TWV0cmljRGF0YSA9IFwibGlnaHRzYWlsOkdldEJ1Y2tldE1ldHJpY0RhdGFcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0QnVja2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QnVja2V0cyA9IFwibGlnaHRzYWlsOkdldEJ1Y2tldHNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0QnVuZGxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QnVuZGxlcyA9IFwibGlnaHRzYWlsOkdldEJ1bmRsZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0Q2VydGlmaWNhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDZXJ0aWZpY2F0ZXMgPSBcImxpZ2h0c2FpbDpHZXRDZXJ0aWZpY2F0ZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0Q2xvdWRGb3JtYXRpb25TdGFja1JlY29yZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRzID1cblx0XHRcImxpZ2h0c2FpbDpHZXRDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3Jkc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRDb250YWN0TWV0aG9kcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29udGFjdE1ldGhvZHMgPSBcImxpZ2h0c2FpbDpHZXRDb250YWN0TWV0aG9kc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRDb250YWluZXJBUElNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29udGFpbmVyQVBJTWV0YWRhdGEgPVxuXHRcdFwibGlnaHRzYWlsOkdldENvbnRhaW5lckFQSU1ldGFkYXRhXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldENvbnRhaW5lckltYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29udGFpbmVySW1hZ2VzID0gXCJsaWdodHNhaWw6R2V0Q29udGFpbmVySW1hZ2VzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldENvbnRhaW5lckxvZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29udGFpbmVyTG9nID0gXCJsaWdodHNhaWw6R2V0Q29udGFpbmVyTG9nXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldENvbnRhaW5lclNlcnZpY2VEZXBsb3ltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29udGFpbmVyU2VydmljZURlcGxveW1lbnRzID1cblx0XHRcImxpZ2h0c2FpbDpHZXRDb250YWluZXJTZXJ2aWNlRGVwbG95bWVudHNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0Q29udGFpbmVyU2VydmljZU1ldHJpY0RhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbnRhaW5lclNlcnZpY2VNZXRyaWNEYXRhID1cblx0XHRcImxpZ2h0c2FpbDpHZXRDb250YWluZXJTZXJ2aWNlTWV0cmljRGF0YVwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRDb250YWluZXJTZXJ2aWNlUG93ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb250YWluZXJTZXJ2aWNlUG93ZXJzID1cblx0XHRcImxpZ2h0c2FpbDpHZXRDb250YWluZXJTZXJ2aWNlUG93ZXJzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldENvbnRhaW5lclNlcnZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb250YWluZXJTZXJ2aWNlcyA9IFwibGlnaHRzYWlsOkdldENvbnRhaW5lclNlcnZpY2VzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldENvc3RFc3RpbWF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29zdEVzdGltYXRlID0gXCJsaWdodHNhaWw6R2V0Q29zdEVzdGltYXRlXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldERpc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERpc2sgPSBcImxpZ2h0c2FpbDpHZXREaXNrXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldERpc2tTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGlza1NuYXBzaG90ID0gXCJsaWdodHNhaWw6R2V0RGlza1NuYXBzaG90XCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldERpc2tTbmFwc2hvdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERpc2tTbmFwc2hvdHMgPSBcImxpZ2h0c2FpbDpHZXREaXNrU25hcHNob3RzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldERpc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREaXNrcyA9IFwibGlnaHRzYWlsOkdldERpc2tzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldERpc3RyaWJ1dGlvbkJ1bmRsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERpc3RyaWJ1dGlvbkJ1bmRsZXMgPVxuXHRcdFwibGlnaHRzYWlsOkdldERpc3RyaWJ1dGlvbkJ1bmRsZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0RGlzdHJpYnV0aW9uTGF0ZXN0Q2FjaGVSZXNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGlzdHJpYnV0aW9uTGF0ZXN0Q2FjaGVSZXNldCA9XG5cdFx0XCJsaWdodHNhaWw6R2V0RGlzdHJpYnV0aW9uTGF0ZXN0Q2FjaGVSZXNldFwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXREaXN0cmlidXRpb25NZXRyaWNEYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREaXN0cmlidXRpb25NZXRyaWNEYXRhID1cblx0XHRcImxpZ2h0c2FpbDpHZXREaXN0cmlidXRpb25NZXRyaWNEYXRhXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldERpc3RyaWJ1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERpc3RyaWJ1dGlvbnMgPSBcImxpZ2h0c2FpbDpHZXREaXN0cmlidXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldERvbWFpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RG9tYWluID0gXCJsaWdodHNhaWw6R2V0RG9tYWluXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldERvbWFpbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERvbWFpbnMgPSBcImxpZ2h0c2FpbDpHZXREb21haW5zXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldEV4cG9ydFNuYXBzaG90UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RXhwb3J0U25hcHNob3RSZWNvcmRzID1cblx0XHRcImxpZ2h0c2FpbDpHZXRFeHBvcnRTbmFwc2hvdFJlY29yZHNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0SW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluc3RhbmNlID0gXCJsaWdodHNhaWw6R2V0SW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkdldEluc3RhbmNlQWNjZXNzRGV0YWlscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5zdGFuY2VBY2Nlc3NEZXRhaWxzID1cblx0XHRcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZUFjY2Vzc0RldGFpbHNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0SW5zdGFuY2VNZXRyaWNEYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnN0YW5jZU1ldHJpY0RhdGEgPVxuXHRcdFwibGlnaHRzYWlsOkdldEluc3RhbmNlTWV0cmljRGF0YVwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRJbnN0YW5jZVBvcnRTdGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluc3RhbmNlUG9ydFN0YXRlcyA9XG5cdFx0XCJsaWdodHNhaWw6R2V0SW5zdGFuY2VQb3J0U3RhdGVzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldEluc3RhbmNlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluc3RhbmNlU25hcHNob3QgPSBcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZVNuYXBzaG90XCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldEluc3RhbmNlU25hcHNob3RzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnN0YW5jZVNuYXBzaG90cyA9IFwibGlnaHRzYWlsOkdldEluc3RhbmNlU25hcHNob3RzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldEluc3RhbmNlU3RhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluc3RhbmNlU3RhdGUgPSBcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZVN0YXRlXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldEluc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5zdGFuY2VzID0gXCJsaWdodHNhaWw6R2V0SW5zdGFuY2VzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldEtleVBhaXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEtleVBhaXIgPSBcImxpZ2h0c2FpbDpHZXRLZXlQYWlyXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldEtleVBhaXJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRLZXlQYWlycyA9IFwibGlnaHRzYWlsOkdldEtleVBhaXJzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldExvYWRCYWxhbmNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TG9hZEJhbGFuY2VyID0gXCJsaWdodHNhaWw6R2V0TG9hZEJhbGFuY2VyXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldExvYWRCYWxhbmNlck1ldHJpY0RhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldExvYWRCYWxhbmNlck1ldHJpY0RhdGEgPVxuXHRcdFwibGlnaHRzYWlsOkdldExvYWRCYWxhbmNlck1ldHJpY0RhdGFcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0TG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZXMgPVxuXHRcdFwibGlnaHRzYWlsOkdldExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlc1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRMb2FkQmFsYW5jZXJUbHNQb2xpY2llcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TG9hZEJhbGFuY2VyVGxzUG9saWNpZXMgPVxuXHRcdFwibGlnaHRzYWlsOkdldExvYWRCYWxhbmNlclRsc1BvbGljaWVzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldExvYWRCYWxhbmNlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldExvYWRCYWxhbmNlcnMgPSBcImxpZ2h0c2FpbDpHZXRMb2FkQmFsYW5jZXJzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldE9wZXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3BlcmF0aW9uID0gXCJsaWdodHNhaWw6R2V0T3BlcmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldE9wZXJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9wZXJhdGlvbnMgPSBcImxpZ2h0c2FpbDpHZXRPcGVyYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldE9wZXJhdGlvbnNGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3BlcmF0aW9uc0ZvclJlc291cmNlID1cblx0XHRcImxpZ2h0c2FpbDpHZXRPcGVyYXRpb25zRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0UmVnaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVnaW9ucyA9IFwibGlnaHRzYWlsOkdldFJlZ2lvbnNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2UgPVxuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZVwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VCbHVlcHJpbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VCbHVlcHJpbnRzID1cblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VCbHVlcHJpbnRzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUJ1bmRsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZUJ1bmRsZXMgPVxuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUJ1bmRsZXNcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VFdmVudHMgPVxuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUV2ZW50c1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VMb2dFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZUxvZ0V2ZW50cyA9XG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlTG9nRXZlbnRzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUxvZ1N0cmVhbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZUxvZ1N0cmVhbXMgPVxuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUxvZ1N0cmVhbXNcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZU1hc3RlclVzZXJQYXNzd29yZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlTWFzdGVyVXNlclBhc3N3b3JkID1cblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VNYXN0ZXJVc2VyUGFzc3dvcmRcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlTWV0cmljRGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlTWV0cmljRGF0YSA9XG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlTWV0cmljRGF0YVwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzID1cblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdCA9XG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RcIjtcblx0LyoqIFtSZWFkXSBsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdHMgPVxuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90c1wiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VzID1cblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VzXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldFNldHVwSGlzdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2V0dXBIaXN0b3J5ID0gXCJsaWdodHNhaWw6R2V0U2V0dXBIaXN0b3J5XCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldFN0YXRpY0lwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTdGF0aWNJcCA9IFwibGlnaHRzYWlsOkdldFN0YXRpY0lwXCI7XG5cdC8qKiBbUmVhZF0gbGlnaHRzYWlsOkdldFN0YXRpY0lwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U3RhdGljSXBzID0gXCJsaWdodHNhaWw6R2V0U3RhdGljSXBzXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpJbXBvcnRLZXlQYWlyICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRLZXlQYWlyID0gXCJsaWdodHNhaWw6SW1wb3J0S2V5UGFpclwiO1xuXHQvKiogW1JlYWRdIGxpZ2h0c2FpbDpJc1ZwY1BlZXJlZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSXNWcGNQZWVyZWQgPSBcImxpZ2h0c2FpbDpJc1ZwY1BlZXJlZFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6T3Blbkluc3RhbmNlUHVibGljUG9ydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE9wZW5JbnN0YW5jZVB1YmxpY1BvcnRzID0gXCJsaWdodHNhaWw6T3Blbkluc3RhbmNlUHVibGljUG9ydHNcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlBlZXJWcGMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBlZXJWcGMgPSBcImxpZ2h0c2FpbDpQZWVyVnBjXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpQdXRBbGFybSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWxhcm0gPSBcImxpZ2h0c2FpbDpQdXRBbGFybVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6UHV0SW5zdGFuY2VQdWJsaWNQb3J0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW5zdGFuY2VQdWJsaWNQb3J0cyA9IFwibGlnaHRzYWlsOlB1dEluc3RhbmNlUHVibGljUG9ydHNcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlJlYm9vdEluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3RJbnN0YW5jZSA9IFwibGlnaHRzYWlsOlJlYm9vdEluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpSZWJvb3RSZWxhdGlvbmFsRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYm9vdFJlbGF0aW9uYWxEYXRhYmFzZSA9XG5cdFx0XCJsaWdodHNhaWw6UmVib290UmVsYXRpb25hbERhdGFiYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpSZWdpc3RlckNvbnRhaW5lckltYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckNvbnRhaW5lckltYWdlID0gXCJsaWdodHNhaWw6UmVnaXN0ZXJDb250YWluZXJJbWFnZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6UmVsZWFzZVN0YXRpY0lwICovXG5cdHN0YXRpYyByZWFkb25seSBSZWxlYXNlU3RhdGljSXAgPSBcImxpZ2h0c2FpbDpSZWxlYXNlU3RhdGljSXBcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlJlc2V0RGlzdHJpYnV0aW9uQ2FjaGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc2V0RGlzdHJpYnV0aW9uQ2FjaGUgPSBcImxpZ2h0c2FpbDpSZXNldERpc3RyaWJ1dGlvbkNhY2hlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpTZW5kQ29udGFjdE1ldGhvZFZlcmlmaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZENvbnRhY3RNZXRob2RWZXJpZmljYXRpb24gPVxuXHRcdFwibGlnaHRzYWlsOlNlbmRDb250YWN0TWV0aG9kVmVyaWZpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpTZXRJcEFkZHJlc3NUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRJcEFkZHJlc3NUeXBlID0gXCJsaWdodHNhaWw6U2V0SXBBZGRyZXNzVHlwZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6U2V0UmVzb3VyY2VBY2Nlc3NGb3JCdWNrZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldFJlc291cmNlQWNjZXNzRm9yQnVja2V0ID1cblx0XHRcImxpZ2h0c2FpbDpTZXRSZXNvdXJjZUFjY2Vzc0ZvckJ1Y2tldFwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6U2V0dXBJbnN0YW5jZUh0dHBzICovXG5cdHN0YXRpYyByZWFkb25seSBTZXR1cEluc3RhbmNlSHR0cHMgPSBcImxpZ2h0c2FpbDpTZXR1cEluc3RhbmNlSHR0cHNcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlN0YXJ0R1VJU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRHVUlTZXNzaW9uID0gXCJsaWdodHNhaWw6U3RhcnRHVUlTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpTdGFydEluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEluc3RhbmNlID0gXCJsaWdodHNhaWw6U3RhcnRJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6U3RhcnRSZWxhdGlvbmFsRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVsYXRpb25hbERhdGFiYXNlID0gXCJsaWdodHNhaWw6U3RhcnRSZWxhdGlvbmFsRGF0YWJhc2VcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlN0b3BHVUlTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wR1VJU2Vzc2lvbiA9IFwibGlnaHRzYWlsOlN0b3BHVUlTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpTdG9wSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BJbnN0YW5jZSA9IFwibGlnaHRzYWlsOlN0b3BJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6U3RvcFJlbGF0aW9uYWxEYXRhYmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlbGF0aW9uYWxEYXRhYmFzZSA9IFwibGlnaHRzYWlsOlN0b3BSZWxhdGlvbmFsRGF0YWJhc2VcIjtcblx0LyoqIFtUYWdnaW5nXSBsaWdodHNhaWw6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlRlc3RBbGFybSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdEFsYXJtID0gXCJsaWdodHNhaWw6VGVzdEFsYXJtXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpVbnBlZXJWcGMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVucGVlclZwYyA9IFwibGlnaHRzYWlsOlVucGVlclZwY1wiO1xuXHQvKiogW1RhZ2dpbmddIGxpZ2h0c2FpbDpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJsaWdodHNhaWw6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6VXBkYXRlQnVja2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCdWNrZXQgPSBcImxpZ2h0c2FpbDpVcGRhdGVCdWNrZXRcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlVwZGF0ZUJ1Y2tldEJ1bmRsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQnVja2V0QnVuZGxlID0gXCJsaWdodHNhaWw6VXBkYXRlQnVja2V0QnVuZGxlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpVcGRhdGVDb250YWluZXJTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250YWluZXJTZXJ2aWNlID0gXCJsaWdodHNhaWw6VXBkYXRlQ29udGFpbmVyU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBsaWdodHNhaWw6VXBkYXRlRGlzdHJpYnV0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEaXN0cmlidXRpb24gPSBcImxpZ2h0c2FpbDpVcGRhdGVEaXN0cmlidXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlVwZGF0ZURpc3RyaWJ1dGlvbkJ1bmRsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGlzdHJpYnV0aW9uQnVuZGxlID1cblx0XHRcImxpZ2h0c2FpbDpVcGRhdGVEaXN0cmlidXRpb25CdW5kbGVcIjtcblx0LyoqIFtXcml0ZV0gbGlnaHRzYWlsOlVwZGF0ZURvbWFpbkVudHJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb21haW5FbnRyeSA9IFwibGlnaHRzYWlsOlVwZGF0ZURvbWFpbkVudHJ5XCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpVcGRhdGVJbnN0YW5jZU1ldGFkYXRhT3B0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5zdGFuY2VNZXRhZGF0YU9wdGlvbnMgPVxuXHRcdFwibGlnaHRzYWlsOlVwZGF0ZUluc3RhbmNlTWV0YWRhdGFPcHRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpVcGRhdGVMb2FkQmFsYW5jZXJBdHRyaWJ1dGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxvYWRCYWxhbmNlckF0dHJpYnV0ZSA9XG5cdFx0XCJsaWdodHNhaWw6VXBkYXRlTG9hZEJhbGFuY2VyQXR0cmlidXRlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpVcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlbGF0aW9uYWxEYXRhYmFzZSA9XG5cdFx0XCJsaWdodHNhaWw6VXBkYXRlUmVsYXRpb25hbERhdGFiYXNlXCI7XG5cdC8qKiBbV3JpdGVdIGxpZ2h0c2FpbDpVcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzID1cblx0XHRcImxpZ2h0c2FpbDpVcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRBY3RpdmVOYW1lcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEFsYXJtcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEF1dG9TbmFwc2hvdHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRCbHVlcHJpbnRzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0QnVja2V0QWNjZXNzS2V5cyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEJ1Y2tldEJ1bmRsZXMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRCdWNrZXRNZXRyaWNEYXRhLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0QnVja2V0cyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEJ1bmRsZXMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRDZXJ0aWZpY2F0ZXMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3Jkcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldENvbnRhY3RNZXRob2RzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0Q29udGFpbmVyQVBJTWV0YWRhdGEsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRDb250YWluZXJJbWFnZXMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRDb250YWluZXJMb2csXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRDb250YWluZXJTZXJ2aWNlRGVwbG95bWVudHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRDb250YWluZXJTZXJ2aWNlTWV0cmljRGF0YSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldENvbnRhaW5lclNlcnZpY2VQb3dlcnMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRDb250YWluZXJTZXJ2aWNlcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldENvc3RFc3RpbWF0ZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldERpc2ssXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXREaXNrU25hcHNob3QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXREaXNrU25hcHNob3RzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0RGlza3MsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXREaXN0cmlidXRpb25CdW5kbGVzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0RGlzdHJpYnV0aW9uTGF0ZXN0Q2FjaGVSZXNldCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldERpc3RyaWJ1dGlvbk1ldHJpY0RhdGEsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXREaXN0cmlidXRpb25zLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0RG9tYWluLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0RG9tYWlucyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEV4cG9ydFNuYXBzaG90UmVjb3Jkcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEluc3RhbmNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0SW5zdGFuY2VNZXRyaWNEYXRhLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0SW5zdGFuY2VQb3J0U3RhdGVzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0SW5zdGFuY2VTbmFwc2hvdCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEluc3RhbmNlU25hcHNob3RzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0SW5zdGFuY2VTdGF0ZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEluc3RhbmNlcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldEtleVBhaXIsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRLZXlQYWlycyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldExvYWRCYWxhbmNlcixcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldExvYWRCYWxhbmNlck1ldHJpY0RhdGEsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZXMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRMb2FkQmFsYW5jZXJUbHNQb2xpY2llcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldExvYWRCYWxhbmNlcnMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRPcGVyYXRpb24sXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRPcGVyYXRpb25zLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0T3BlcmF0aW9uc0ZvclJlc291cmNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0UmVnaW9ucyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZUJsdWVwcmludHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VCdW5kbGVzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlRXZlbnRzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlTG9nRXZlbnRzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlTG9nU3RyZWFtcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvbkdldFJlbGF0aW9uYWxEYXRhYmFzZU1ldHJpY0RhdGEsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRSZWxhdGlvbmFsRGF0YWJhc2VzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0U2V0dXBIaXN0b3J5LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0U3RhdGljSXAsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25HZXRTdGF0aWNJcHMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5Jc1ZwY1BlZXJlZCxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRMaWdodFNhaWxBY3Rpb25zLkFsbG9jYXRlU3RhdGljSXAsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5BdHRhY2hDZXJ0aWZpY2F0ZVRvRGlzdHJpYnV0aW9uLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQXR0YWNoRGlzayxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkF0dGFjaEluc3RhbmNlc1RvTG9hZEJhbGFuY2VyLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQXR0YWNoTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGUsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5BdHRhY2hTdGF0aWNJcCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNsb3NlSW5zdGFuY2VQdWJsaWNQb3J0cyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNvcHlTbmFwc2hvdCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZUJ1Y2tldCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZUJ1Y2tldEFjY2Vzc0tleSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZUNlcnRpZmljYXRlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlQ2xvdWRGb3JtYXRpb25TdGFjayxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZUNvbnRhY3RNZXRob2QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVDb250YWluZXJTZXJ2aWNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlQ29udGFpbmVyU2VydmljZURlcGxveW1lbnQsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVDb250YWluZXJTZXJ2aWNlUmVnaXN0cnlMb2dpbixcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZURpc2ssXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVEaXNrRnJvbVNuYXBzaG90LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlRGlza1NuYXBzaG90LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlRGlzdHJpYnV0aW9uLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlRG9tYWluLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlRG9tYWluRW50cnksXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVHVUlTZXNzaW9uQWNjZXNzRGV0YWlscyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkNyZWF0ZUluc3RhbmNlU25hcHNob3QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVJbnN0YW5jZXMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVJbnN0YW5jZXNGcm9tU25hcHNob3QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVLZXlQYWlyLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlTG9hZEJhbGFuY2VyLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuQ3JlYXRlTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGUsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VGcm9tU25hcHNob3QsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5DcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZUFsYXJtLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlQXV0b1NuYXBzaG90LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlQnVja2V0LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlQnVja2V0QWNjZXNzS2V5LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlQ2VydGlmaWNhdGUsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVDb250YWN0TWV0aG9kLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlQ29udGFpbmVySW1hZ2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVDb250YWluZXJTZXJ2aWNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlRGlzayxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZURpc2tTbmFwc2hvdCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZURpc3RyaWJ1dGlvbixcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZURvbWFpbixcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZURvbWFpbkVudHJ5LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlSW5zdGFuY2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVJbnN0YW5jZVNuYXBzaG90LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGVsZXRlS2V5UGFpcixcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZUtub3duSG9zdEtleXMsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVMb2FkQmFsYW5jZXIsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZWxldGVMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZVJlbGF0aW9uYWxEYXRhYmFzZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRlbGV0ZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGV0YWNoQ2VydGlmaWNhdGVGcm9tRGlzdHJpYnV0aW9uLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuRGV0YWNoRGlzayxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRldGFjaEluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXIsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5EZXRhY2hTdGF0aWNJcCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRpc2FibGVBZGRPbixcblx0XHRMaWdodFNhaWxBY3Rpb25zLkRvd25sb2FkRGVmYXVsdEtleVBhaXIsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5FbmFibGVBZGRPbixcblx0XHRMaWdodFNhaWxBY3Rpb25zLkV4cG9ydFNuYXBzaG90LFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0SW5zdGFuY2VBY2Nlc3NEZXRhaWxzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuYWN0aW9uR2V0UmVsYXRpb25hbERhdGFiYXNlTWFzdGVyVXNlclBhc3N3b3JkLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuSW1wb3J0S2V5UGFpcixcblx0XHRMaWdodFNhaWxBY3Rpb25zLk9wZW5JbnN0YW5jZVB1YmxpY1BvcnRzLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuUGVlclZwYyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlB1dEFsYXJtLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuUHV0SW5zdGFuY2VQdWJsaWNQb3J0cyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlJlYm9vdEluc3RhbmNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuUmVib290UmVsYXRpb25hbERhdGFiYXNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuUmVnaXN0ZXJDb250YWluZXJJbWFnZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlJlbGVhc2VTdGF0aWNJcCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlJlc2V0RGlzdHJpYnV0aW9uQ2FjaGUsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5TZW5kQ29udGFjdE1ldGhvZFZlcmlmaWNhdGlvbixcblx0XHRMaWdodFNhaWxBY3Rpb25zLmFjdGlvblNldElwQWRkcmVzc1R5cGUsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5hY3Rpb25TZXRSZXNvdXJjZUFjY2Vzc0ZvckJ1Y2tldCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlNldHVwSW5zdGFuY2VIdHRwcyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlN0YXJ0R1VJU2Vzc2lvbixcblx0XHRMaWdodFNhaWxBY3Rpb25zLlN0YXJ0SW5zdGFuY2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5TdGFydFJlbGF0aW9uYWxEYXRhYmFzZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlN0b3BHVUlTZXNzaW9uLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuU3RvcEluc3RhbmNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuU3RvcFJlbGF0aW9uYWxEYXRhYmFzZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlRlc3RBbGFybSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlVucGVlclZwYyxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlVwZGF0ZUJ1Y2tldCxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlVwZGF0ZUJ1Y2tldEJ1bmRsZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlVwZGF0ZUNvbnRhaW5lclNlcnZpY2UsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5VcGRhdGVEaXN0cmlidXRpb24sXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5VcGRhdGVEaXN0cmlidXRpb25CdW5kbGUsXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5VcGRhdGVEb21haW5FbnRyeSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlVwZGF0ZUluc3RhbmNlTWV0YWRhdGFPcHRpb25zLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuVXBkYXRlTG9hZEJhbGFuY2VyQXR0cmlidXRlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuVXBkYXRlUmVsYXRpb25hbERhdGFiYXNlLFxuXHRcdExpZ2h0U2FpbEFjdGlvbnMuVXBkYXRlUmVsYXRpb25hbERhdGFiYXNlUGFyYW1ldGVycyxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0TGlnaHRTYWlsQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRMaWdodFNhaWxBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBBbGFybSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsQWxhcm1Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQWxhcm0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbEFsYXJtQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBCdWNrZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbEJ1Y2tldEFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBCdWNrZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbEJ1Y2tldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ2VydGlmaWNhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbENlcnRpZmljYXRlQXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENlcnRpZmljYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxDZXJ0aWZpY2F0ZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ2xvdWRGb3JtYXRpb25TdGFja1JlY29yZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsQ2xvdWRGb3JtYXRpb25TdGFja1JlY29yZEFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb250YWN0TWV0aG9kIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxDb250YWN0TWV0aG9kQXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENvbnRhY3RNZXRob2QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbENvbnRhY3RNZXRob2RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENvbnRhaW5lclNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbENvbnRhaW5lclNlcnZpY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29udGFpbmVyU2VydmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsQ29udGFpbmVyU2VydmljZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRGlzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsRGlza0FyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBEaXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxEaXNrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBEaXNrU25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbERpc2tTbmFwc2hvdEFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBEaXNrU25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbERpc2tTbmFwc2hvdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRGlzdHJpYnV0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxEaXN0cmlidXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgRGlzdHJpYnV0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxEaXN0cmlidXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIERvbWFpbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsRG9tYWluQXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIERvbWFpbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsRG9tYWluQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBFeHBvcnRTbmFwc2hvdFJlY29yZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsRXhwb3J0U25hcHNob3RSZWNvcmRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgRXhwb3J0U25hcHNob3RSZWNvcmQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbEV4cG9ydFNuYXBzaG90UmVjb3JkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBJbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsSW5zdGFuY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgSW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbEluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBJbnN0YW5jZVNuYXBzaG90IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxJbnN0YW5jZVNuYXBzaG90QXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEluc3RhbmNlU25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbEluc3RhbmNlU25hcHNob3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEtleVBhaXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbEtleVBhaXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgS2V5UGFpciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsS2V5UGFpckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTG9hZEJhbGFuY2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxMb2FkQmFsYW5jZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTG9hZEJhbGFuY2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxMb2FkQmFsYW5jZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaWdodFNhaWxMb2FkQmFsYW5jZXJUTFNDZXJ0aWZpY2F0ZUFyblByb3BzIHtcblx0LyoqIFRoZSBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsTG9hZEJhbGFuY2VyVExTQ2VydGlmaWNhdGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlbGF0aW9uYWxEYXRhYmFzZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsUmVsYXRpb25hbERhdGFiYXNlQXJuUHJvcHMge1xuXHQvKiogVGhlIElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlbGF0aW9uYWxEYXRhYmFzZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsUmVsYXRpb25hbERhdGFiYXNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBTdGF0aWNJcCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRTYWlsU3RhdGljSVBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgU3RhdGljSXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0U2FpbFN0YXRpY0lQQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFsYXJtQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOkFsYXJtXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IEJ1Y2tldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsaWdodHNhaWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpCdWNrZXRcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgQ2VydGlmaWNhdGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Q2VydGlmaWNhdGVcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgQ2xvdWRGb3JtYXRpb25TdGFja1JlY29yZEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsaWdodHNhaWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IENvbnRhY3RNZXRob2RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Q29udGFjdE1ldGhvZFxcLyg/PGlkPlteOi8/XSspJC87XG5jb25zdCBDb250YWluZXJTZXJ2aWNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOkNvbnRhaW5lclNlcnZpY2VcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgRGlza0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsaWdodHNhaWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpEaXNrXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IERpc2tTbmFwc2hvdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsaWdodHNhaWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpEaXNrU25hcHNob3RcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgRGlzdHJpYnV0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOkRpc3RyaWJ1dGlvblxcLyg/PGlkPlteOi8/XSspJC87XG5jb25zdCBEb21haW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6RG9tYWluXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IEV4cG9ydFNuYXBzaG90UmVjb3JkQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOkV4cG9ydFNuYXBzaG90UmVjb3JkXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IEluc3RhbmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOkluc3RhbmNlXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IEluc3RhbmNlU25hcHNob3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6SW5zdGFuY2VTbmFwc2hvdFxcLyg/PGlkPlteOi8/XSspJC87XG5jb25zdCBLZXlQYWlyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOktleVBhaXJcXC8oPzxpZD5bXjovP10rKSQvO1xuY29uc3QgTG9hZEJhbGFuY2VyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOkxvYWRCYWxhbmNlclxcLyg/PGlkPlteOi8/XSspJC87XG5jb25zdCBMb2FkQmFsYW5jZXJUTFNDZXJ0aWZpY2F0ZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsaWdodHNhaWw6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZVxcLyg/PGlkPlteOi8/XSspJC87XG5jb25zdCBSZWxhdGlvbmFsRGF0YWJhc2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGlnaHRzYWlsOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6UmVsYXRpb25hbERhdGFiYXNlXFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOlJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90XFwvKD88aWQ+W146Lz9dKykkLztcbmNvbnN0IFN0YXRpY0lQQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxpZ2h0c2FpbDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOlN0YXRpY0lwXFwvKD88aWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBsaWdodHNhaWwgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgTGlnaHRTYWlsUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBBbGFybSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhbGFybShwcm9wczogTGlnaHRTYWlsQWxhcm1Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGlnaHRzYWlsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OkFsYXJtLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEFsYXJtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBbGFybUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBbGFybUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBBbGFybSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBbGFybUFybihhcm46IHN0cmluZyk6IExpZ2h0U2FpbEFsYXJtQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBbGFybUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBBbGFybSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBCdWNrZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYnVja2V0KHByb3BzOiBMaWdodFNhaWxCdWNrZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGlnaHRzYWlsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OkJ1Y2tldC8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBCdWNrZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJ1Y2tldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCdWNrZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQnVja2V0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJ1Y2tldEFybihhcm46IHN0cmluZyk6IExpZ2h0U2FpbEJ1Y2tldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQnVja2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEJ1Y2tldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDZXJ0aWZpY2F0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjZXJ0aWZpY2F0ZShwcm9wczogTGlnaHRTYWlsQ2VydGlmaWNhdGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGlnaHRzYWlsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OkNlcnRpZmljYXRlLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENlcnRpZmljYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDZXJ0aWZpY2F0ZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDZXJ0aWZpY2F0ZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDZXJ0aWZpY2F0ZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDZXJ0aWZpY2F0ZUFybihhcm46IHN0cmluZyk6IExpZ2h0U2FpbENlcnRpZmljYXRlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDZXJ0aWZpY2F0ZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDZXJ0aWZpY2F0ZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmQoXG5cdFx0cHJvcHM6IExpZ2h0U2FpbENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Q2xvdWRGb3JtYXRpb25TdGFja1JlY29yZC8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ2xvdWRGb3JtYXRpb25TdGFja1JlY29yZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBMaWdodFNhaWxDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3JkQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29udGFjdE1ldGhvZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb250YWN0TWV0aG9kKHByb3BzOiBMaWdodFNhaWxDb250YWN0TWV0aG9kQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpDb250YWN0TWV0aG9kLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENvbnRhY3RNZXRob2QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbnRhY3RNZXRob2RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29udGFjdE1ldGhvZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDb250YWN0TWV0aG9kIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbnRhY3RNZXRob2RBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IExpZ2h0U2FpbENvbnRhY3RNZXRob2RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbnRhY3RNZXRob2RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29udGFjdE1ldGhvZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDb250YWluZXJTZXJ2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbnRhaW5lclNlcnZpY2UocHJvcHM6IExpZ2h0U2FpbENvbnRhaW5lclNlcnZpY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGlnaHRzYWlsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OkNvbnRhaW5lclNlcnZpY2UvJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ29udGFpbmVyU2VydmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29udGFpbmVyU2VydmljZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb250YWluZXJTZXJ2aWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENvbnRhaW5lclNlcnZpY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29udGFpbmVyU2VydmljZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTGlnaHRTYWlsQ29udGFpbmVyU2VydmljZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29udGFpbmVyU2VydmljZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDb250YWluZXJTZXJ2aWNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIERpc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGlzayhwcm9wczogTGlnaHRTYWlsRGlza0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06RGlzay8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBEaXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREaXNrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERpc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgRGlzayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEaXNrQXJuKGFybjogc3RyaW5nKTogTGlnaHRTYWlsRGlza0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGlza0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBEaXNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIERpc2tTbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkaXNrU25hcHNob3QocHJvcHM6IExpZ2h0U2FpbERpc2tTbmFwc2hvdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06RGlza1NuYXBzaG90LyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIERpc2tTbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGlza1NuYXBzaG90QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERpc2tTbmFwc2hvdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBEaXNrU25hcHNob3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGlza1NuYXBzaG90QXJuKGFybjogc3RyaW5nKTogTGlnaHRTYWlsRGlza1NuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEaXNrU25hcHNob3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRGlza1NuYXBzaG90IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIERpc3RyaWJ1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkaXN0cmlidXRpb24ocHJvcHM6IExpZ2h0U2FpbERpc3RyaWJ1dGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06RGlzdHJpYnV0aW9uLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIERpc3RyaWJ1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGlzdHJpYnV0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERpc3RyaWJ1dGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBEaXN0cmlidXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGlzdHJpYnV0aW9uQXJuKGFybjogc3RyaW5nKTogTGlnaHRTYWlsRGlzdHJpYnV0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEaXN0cmlidXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRGlzdHJpYnV0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIERvbWFpbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkb21haW4ocHJvcHM6IExpZ2h0U2FpbERvbWFpbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06RG9tYWluLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIERvbWFpbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRG9tYWluQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERvbWFpbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBEb21haW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRG9tYWluQXJuKGFybjogc3RyaW5nKTogTGlnaHRTYWlsRG9tYWluQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEb21haW5Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRG9tYWluIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEV4cG9ydFNuYXBzaG90UmVjb3JkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV4cG9ydFNuYXBzaG90UmVjb3JkKFxuXHRcdHByb3BzOiBMaWdodFNhaWxFeHBvcnRTbmFwc2hvdFJlY29yZEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpFeHBvcnRTbmFwc2hvdFJlY29yZC8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBFeHBvcnRTbmFwc2hvdFJlY29yZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXhwb3J0U25hcHNob3RSZWNvcmRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXhwb3J0U25hcHNob3RSZWNvcmRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgRXhwb3J0U25hcHNob3RSZWNvcmQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXhwb3J0U25hcHNob3RSZWNvcmRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IExpZ2h0U2FpbEV4cG9ydFNuYXBzaG90UmVjb3JkQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeHBvcnRTbmFwc2hvdFJlY29yZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBFeHBvcnRTbmFwc2hvdFJlY29yZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBJbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbnN0YW5jZShwcm9wczogTGlnaHRTYWlsSW5zdGFuY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGlnaHRzYWlsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Okluc3RhbmNlLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbnN0YW5jZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbnN0YW5jZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBJbnN0YW5jZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbnN0YW5jZUFybihhcm46IHN0cmluZyk6IExpZ2h0U2FpbEluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbnN0YW5jZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBJbnN0YW5jZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBJbnN0YW5jZVNuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbmNlU25hcHNob3QocHJvcHM6IExpZ2h0U2FpbEluc3RhbmNlU25hcHNob3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGlnaHRzYWlsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Okluc3RhbmNlU25hcHNob3QvJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgSW5zdGFuY2VTbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW5zdGFuY2VTbmFwc2hvdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbnN0YW5jZVNuYXBzaG90QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEluc3RhbmNlU25hcHNob3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW5zdGFuY2VTbmFwc2hvdEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTGlnaHRTYWlsSW5zdGFuY2VTbmFwc2hvdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSW5zdGFuY2VTbmFwc2hvdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBJbnN0YW5jZVNuYXBzaG90IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEtleVBhaXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMga2V5UGFpcihwcm9wczogTGlnaHRTYWlsS2V5UGFpckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06S2V5UGFpci8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBLZXlQYWlyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRLZXlQYWlyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEtleVBhaXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgS2V5UGFpciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VLZXlQYWlyQXJuKGFybjogc3RyaW5nKTogTGlnaHRTYWlsS2V5UGFpckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gS2V5UGFpckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBLZXlQYWlyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIExvYWRCYWxhbmNlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsb2FkQmFsYW5jZXIocHJvcHM6IExpZ2h0U2FpbExvYWRCYWxhbmNlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06TG9hZEJhbGFuY2VyLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIExvYWRCYWxhbmNlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTG9hZEJhbGFuY2VyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExvYWRCYWxhbmNlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBMb2FkQmFsYW5jZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTG9hZEJhbGFuY2VyQXJuKGFybjogc3RyaW5nKTogTGlnaHRTYWlsTG9hZEJhbGFuY2VyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMb2FkQmFsYW5jZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgTG9hZEJhbGFuY2VyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxvYWRCYWxhbmNlclRMU0NlcnRpZmljYXRlKFxuXHRcdHByb3BzOiBMaWdodFNhaWxMb2FkQmFsYW5jZXJUTFNDZXJ0aWZpY2F0ZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxpZ2h0c2FpbDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZS8ke3Byb3BzLmlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTG9hZEJhbGFuY2VyVExTQ2VydGlmaWNhdGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTG9hZEJhbGFuY2VyVExTQ2VydGlmaWNhdGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTG9hZEJhbGFuY2VyVExTQ2VydGlmaWNhdGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IExpZ2h0U2FpbExvYWRCYWxhbmNlclRMU0NlcnRpZmljYXRlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMb2FkQmFsYW5jZXJUTFNDZXJ0aWZpY2F0ZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpZDogbWF0Y2guZ3JvdXBzIS5pZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZWxhdGlvbmFsRGF0YWJhc2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVsYXRpb25hbERhdGFiYXNlKFxuXHRcdHByb3BzOiBMaWdodFNhaWxSZWxhdGlvbmFsRGF0YWJhc2VBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06UmVsYXRpb25hbERhdGFiYXNlLyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlbGF0aW9uYWxEYXRhYmFzZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVsYXRpb25hbERhdGFiYXNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlbGF0aW9uYWxEYXRhYmFzZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZWxhdGlvbmFsRGF0YWJhc2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVsYXRpb25hbERhdGFiYXNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBMaWdodFNhaWxSZWxhdGlvbmFsRGF0YWJhc2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlbGF0aW9uYWxEYXRhYmFzZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZWxhdGlvbmFsRGF0YWJhc2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aWQ6IG1hdGNoLmdyb3VwcyEuaWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QoXG5cdFx0cHJvcHM6IExpZ2h0U2FpbFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGlnaHRzYWlsOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OlJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90LyR7cHJvcHMuaWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogTGlnaHRTYWlsUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFN0YXRpY0lwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHN0YXRpY0lQKHByb3BzOiBMaWdodFNhaWxTdGF0aWNJUEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsaWdodHNhaWw6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06U3RhdGljSXAvJHtwcm9wcy5pZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU3RhdGljSXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFN0YXRpY0lQQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFN0YXRpY0lQQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFN0YXRpY0lwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVN0YXRpY0lQQXJuKGFybjogc3RyaW5nKTogTGlnaHRTYWlsU3RhdGljSVBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN0YXRpY0lQQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFN0YXRpY0lwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGlkOiBtYXRjaC5ncm91cHMhLmlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGxpZ2h0c2FpbC5cbiAqL1xuZXhwb3J0IGNsYXNzIExpZ2h0U2FpbE9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBbGxvY2F0ZVN0YXRpY0lwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsb2NhdGVTdGF0aWNJcDogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6QWxsb2NhdGVTdGF0aWNJcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXR0YWNoQ2VydGlmaWNhdGVUb0Rpc3RyaWJ1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEF0dGFjaENlcnRpZmljYXRlVG9EaXN0cmlidXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkF0dGFjaENlcnRpZmljYXRlVG9EaXN0cmlidXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXR0YWNoRGlzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEF0dGFjaERpc2s6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkF0dGFjaERpc2tcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF0dGFjaEluc3RhbmNlc1RvTG9hZEJhbGFuY2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoSW5zdGFuY2VzVG9Mb2FkQmFsYW5jZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkF0dGFjaEluc3RhbmNlc1RvTG9hZEJhbGFuY2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF0dGFjaExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkF0dGFjaExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF0dGFjaFN0YXRpY0lwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoU3RhdGljSXA6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkF0dGFjaFN0YXRpY0lwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDbG9zZUluc3RhbmNlUHVibGljUG9ydHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDbG9zZUluc3RhbmNlUHVibGljUG9ydHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNsb3NlSW5zdGFuY2VQdWJsaWNQb3J0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb3B5U25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5U25hcHNob3Q6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkNvcHlTbmFwc2hvdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQnVja2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQnVja2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVCdWNrZXRcIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCdWNrZXRBY2Nlc3NLZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCdWNrZXRBY2Nlc3NLZXk6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUJ1Y2tldEFjY2Vzc0tleVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDZXJ0aWZpY2F0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNlcnRpZmljYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVDZXJ0aWZpY2F0ZVwiLFxuXHRcdFwibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsb3VkRm9ybWF0aW9uU3RhY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbG91ZEZvcm1hdGlvblN0YWNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVDbG91ZEZvcm1hdGlvblN0YWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbnRhY3RNZXRob2QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250YWN0TWV0aG9kOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVDb250YWN0TWV0aG9kXCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29udGFpbmVyU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRhaW5lclNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUNvbnRhaW5lclNlcnZpY2VcIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb250YWluZXJTZXJ2aWNlRGVwbG95bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRhaW5lclNlcnZpY2VEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVDb250YWluZXJTZXJ2aWNlRGVwbG95bWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb250YWluZXJTZXJ2aWNlUmVnaXN0cnlMb2dpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRhaW5lclNlcnZpY2VSZWdpc3RyeUxvZ2luOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVDb250YWluZXJTZXJ2aWNlUmVnaXN0cnlMb2dpblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEaXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGlzazogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlRGlza1wiLFxuXHRcdFwibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURpc2tGcm9tU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEaXNrRnJvbVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVEaXNrRnJvbVNuYXBzaG90XCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGlza1NuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGlza1NuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVEaXNrU25hcHNob3RcIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEaXN0cmlidXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEaXN0cmlidXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZURpc3RyaWJ1dGlvblwiLFxuXHRcdFwibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvbWFpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlRG9tYWluXCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRG9tYWluRW50cnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb21haW5FbnRyeTogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6Q3JlYXRlRG9tYWluRW50cnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUdVSVNlc3Npb25BY2Nlc3NEZXRhaWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR1VJU2Vzc2lvbkFjY2Vzc0RldGFpbHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUdVSVNlc3Npb25BY2Nlc3NEZXRhaWxzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUluc3RhbmNlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnN0YW5jZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVJbnN0YW5jZVNuYXBzaG90XCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5zdGFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVJbnN0YW5jZXNcIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnN0YW5jZXNGcm9tU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnN0YW5jZXNGcm9tU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZUluc3RhbmNlc0Zyb21TbmFwc2hvdFwiLFxuXHRcdFwibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUtleVBhaXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLZXlQYWlyOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVLZXlQYWlyXCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTG9hZEJhbGFuY2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTG9hZEJhbGFuY2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVMb2FkQmFsYW5jZXJcIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpDcmVhdGVMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkNyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZVwiLFxuXHRcdFwibGlnaHRzYWlsOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZUZyb21TbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZUZyb21TbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlUmVsYXRpb25hbERhdGFiYXNlRnJvbVNuYXBzaG90XCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6Q3JlYXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RcIixcblx0XHRcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBbGFybSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFsYXJtOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpEZWxldGVBbGFybVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXV0b1NuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b1NuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZWxldGVBdXRvU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQnVja2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQnVja2V0OiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpEZWxldGVCdWNrZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUJ1Y2tldEFjY2Vzc0tleSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJ1Y2tldEFjY2Vzc0tleTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6RGVsZXRlQnVja2V0QWNjZXNzS2V5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNlcnRpZmljYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2VydGlmaWNhdGU6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkRlbGV0ZUNlcnRpZmljYXRlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb250YWN0TWV0aG9kIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29udGFjdE1ldGhvZDogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6RGVsZXRlQ29udGFjdE1ldGhvZFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb250YWluZXJJbWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbnRhaW5lckltYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZWxldGVDb250YWluZXJJbWFnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb250YWluZXJTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29udGFpbmVyU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6RGVsZXRlQ29udGFpbmVyU2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEaXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGlzazogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6RGVsZXRlRGlza1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGlza1NuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGlza1NuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZWxldGVEaXNrU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGlzdHJpYnV0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGlzdHJpYnV0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZWxldGVEaXN0cmlidXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpEZWxldGVEb21haW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvbWFpbkVudHJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluRW50cnk6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkRlbGV0ZURvbWFpbkVudHJ5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluc3RhbmNlOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpEZWxldGVJbnN0YW5jZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW5zdGFuY2VTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUluc3RhbmNlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkRlbGV0ZUluc3RhbmNlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlS2V5UGFpciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtleVBhaXI6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkRlbGV0ZUtleVBhaXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUtub3duSG9zdEtleXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bkhvc3RLZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEZWxldGVLbm93bkhvc3RLZXlzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUxvYWRCYWxhbmNlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxvYWRCYWxhbmNlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6RGVsZXRlTG9hZEJhbGFuY2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkRlbGV0ZUxvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlbGF0aW9uYWxEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlbGF0aW9uYWxEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6RGVsZXRlUmVsYXRpb25hbERhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVsYXRpb25hbERhdGFiYXNlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkRlbGV0ZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGFjaENlcnRpZmljYXRlRnJvbURpc3RyaWJ1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaENlcnRpZmljYXRlRnJvbURpc3RyaWJ1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6RGV0YWNoQ2VydGlmaWNhdGVGcm9tRGlzdHJpYnV0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGFjaERpc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRhY2hEaXNrOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpEZXRhY2hEaXNrXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXRhY2hJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoSW5zdGFuY2VzRnJvbUxvYWRCYWxhbmNlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6RGV0YWNoSW5zdGFuY2VzRnJvbUxvYWRCYWxhbmNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXRhY2hTdGF0aWNJcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaFN0YXRpY0lwOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpEZXRhY2hTdGF0aWNJcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYWJsZUFkZE9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZUFkZE9uOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpEaXNhYmxlQWRkT25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERvd25sb2FkRGVmYXVsdEtleVBhaXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEb3dubG9hZERlZmF1bHRLZXlQYWlyOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpEb3dubG9hZERlZmF1bHRLZXlQYWlyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEVuYWJsZUFkZE9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlQWRkT246IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkVuYWJsZUFkZE9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFeHBvcnRTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydFNuYXBzaG90OiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpFeHBvcnRTbmFwc2hvdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWN0aXZlTmFtZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFjdGl2ZU5hbWVzOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRBY3RpdmVOYW1lc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWxhcm1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBbGFybXM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldEFsYXJtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXV0b1NuYXBzaG90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b1NuYXBzaG90czogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0QXV0b1NuYXBzaG90c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Qmx1ZXByaW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Qmx1ZXByaW50czogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0Qmx1ZXByaW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QnVja2V0QWNjZXNzS2V5cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QnVja2V0QWNjZXNzS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0QnVja2V0QWNjZXNzS2V5c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCdWNrZXRCdW5kbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCdWNrZXRCdW5kbGVzOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRCdWNrZXRCdW5kbGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCdWNrZXRNZXRyaWNEYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCdWNrZXRNZXRyaWNEYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRCdWNrZXRNZXRyaWNEYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJ1Y2tldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJ1Y2tldHM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldEJ1Y2tldHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJ1bmRsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJ1bmRsZXM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldEJ1bmRsZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENlcnRpZmljYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q2VydGlmaWNhdGVzOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRDZXJ0aWZpY2F0ZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENsb3VkRm9ybWF0aW9uU3RhY2tSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDbG91ZEZvcm1hdGlvblN0YWNrUmVjb3Jkczogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0Q2xvdWRGb3JtYXRpb25TdGFja1JlY29yZHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29udGFjdE1ldGhvZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbnRhY3RNZXRob2RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRDb250YWN0TWV0aG9kc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb250YWluZXJBUElNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29udGFpbmVyQVBJTWV0YWRhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldENvbnRhaW5lckFQSU1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbnRhaW5lckltYWdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29udGFpbmVySW1hZ2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRDb250YWluZXJJbWFnZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29udGFpbmVyTG9nIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb250YWluZXJMb2c6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldENvbnRhaW5lckxvZ1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29udGFpbmVyU2VydmljZURlcGxveW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb250YWluZXJTZXJ2aWNlRGVwbG95bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldENvbnRhaW5lclNlcnZpY2VEZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb250YWluZXJTZXJ2aWNlTWV0cmljRGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29udGFpbmVyU2VydmljZU1ldHJpY0RhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldENvbnRhaW5lclNlcnZpY2VNZXRyaWNEYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbnRhaW5lclNlcnZpY2VQb3dlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbnRhaW5lclNlcnZpY2VQb3dlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldENvbnRhaW5lclNlcnZpY2VQb3dlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29udGFpbmVyU2VydmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbnRhaW5lclNlcnZpY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRDb250YWluZXJTZXJ2aWNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb3N0RXN0aW1hdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvc3RFc3RpbWF0ZTogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0Q29zdEVzdGltYXRlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREaXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREaXNrOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXREaXNrXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREaXNrU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERpc2tTbmFwc2hvdDogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0RGlza1NuYXBzaG90XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREaXNrU25hcHNob3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREaXNrU25hcHNob3RzOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXREaXNrU25hcHNob3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREaXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGlza3M6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldERpc2tzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREaXN0cmlidXRpb25CdW5kbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREaXN0cmlidXRpb25CdW5kbGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXREaXN0cmlidXRpb25CdW5kbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERpc3RyaWJ1dGlvbkxhdGVzdENhY2hlUmVzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERpc3RyaWJ1dGlvbkxhdGVzdENhY2hlUmVzZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldERpc3RyaWJ1dGlvbkxhdGVzdENhY2hlUmVzZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGlzdHJpYnV0aW9uTWV0cmljRGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGlzdHJpYnV0aW9uTWV0cmljRGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0RGlzdHJpYnV0aW9uTWV0cmljRGF0YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREaXN0cmlidXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREaXN0cmlidXRpb25zOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXREaXN0cmlidXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvbWFpbjogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0RG9tYWluXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREb21haW5zOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXREb21haW5zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFeHBvcnRTbmFwc2hvdFJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV4cG9ydFNuYXBzaG90UmVjb3Jkczogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0RXhwb3J0U25hcHNob3RSZWNvcmRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnN0YW5jZTogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0SW5zdGFuY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEluc3RhbmNlQWNjZXNzRGV0YWlscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW5zdGFuY2VBY2Nlc3NEZXRhaWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZUFjY2Vzc0RldGFpbHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5zdGFuY2VNZXRyaWNEYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnN0YW5jZU1ldHJpY0RhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldEluc3RhbmNlTWV0cmljRGF0YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnN0YW5jZVBvcnRTdGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluc3RhbmNlUG9ydFN0YXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0SW5zdGFuY2VQb3J0U3RhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEluc3RhbmNlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluc3RhbmNlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldEluc3RhbmNlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW5zdGFuY2VTbmFwc2hvdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluc3RhbmNlU25hcHNob3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZVNuYXBzaG90c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnN0YW5jZVN0YXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnN0YW5jZVN0YXRlOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRJbnN0YW5jZVN0YXRlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnN0YW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEluc3RhbmNlczogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0SW5zdGFuY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRLZXlQYWlyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRLZXlQYWlyOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRLZXlQYWlyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRLZXlQYWlycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0S2V5UGFpcnM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldEtleVBhaXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRMb2FkQmFsYW5jZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldExvYWRCYWxhbmNlcjogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0TG9hZEJhbGFuY2VyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRMb2FkQmFsYW5jZXJNZXRyaWNEYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMb2FkQmFsYW5jZXJNZXRyaWNEYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRMb2FkQmFsYW5jZXJNZXRyaWNEYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldExvYWRCYWxhbmNlclRsc0NlcnRpZmljYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TG9hZEJhbGFuY2VyVGxzQ2VydGlmaWNhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRMb2FkQmFsYW5jZXJUbHNDZXJ0aWZpY2F0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TG9hZEJhbGFuY2VyVGxzUG9saWNpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldExvYWRCYWxhbmNlclRsc1BvbGljaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRMb2FkQmFsYW5jZXJUbHNQb2xpY2llc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRMb2FkQmFsYW5jZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMb2FkQmFsYW5jZXJzOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRMb2FkQmFsYW5jZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcGVyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9wZXJhdGlvbjogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0T3BlcmF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcGVyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPcGVyYXRpb25zOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRPcGVyYXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcGVyYXRpb25zRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9wZXJhdGlvbnNGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0T3BlcmF0aW9uc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb2ZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb2ZpbGU6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlZ2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlZ2lvbnM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOkdldFJlZ2lvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlbGF0aW9uYWxEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVsYXRpb25hbERhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVsYXRpb25hbERhdGFiYXNlQmx1ZXByaW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVsYXRpb25hbERhdGFiYXNlQmx1ZXByaW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlQmx1ZXByaW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWxhdGlvbmFsRGF0YWJhc2VCdW5kbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2VCdW5kbGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VCdW5kbGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlbGF0aW9uYWxEYXRhYmFzZUV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVsYXRpb25hbERhdGFiYXNlRXZlbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VFdmVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVsYXRpb25hbERhdGFiYXNlTG9nRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2VMb2dFdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZUxvZ0V2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWxhdGlvbmFsRGF0YWJhc2VMb2dTdHJlYW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2VMb2dTdHJlYW1zOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VMb2dTdHJlYW1zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlbGF0aW9uYWxEYXRhYmFzZU1hc3RlclVzZXJQYXNzd29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVsYXRpb25hbERhdGFiYXNlTWFzdGVyVXNlclBhc3N3b3JkOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VNYXN0ZXJVc2VyUGFzc3dvcmRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVsYXRpb25hbERhdGFiYXNlTWV0cmljRGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVsYXRpb25hbERhdGFiYXNlTWV0cmljRGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlTWV0cmljRGF0YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6R2V0UmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVsYXRpb25hbERhdGFiYXNlU25hcHNob3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2VTbmFwc2hvdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOkdldFJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWxhdGlvbmFsRGF0YWJhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWxhdGlvbmFsRGF0YWJhc2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpHZXRSZWxhdGlvbmFsRGF0YWJhc2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNldHVwSGlzdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2V0dXBIaXN0b3J5OiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRTZXR1cEhpc3RvcnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFN0YXRpY0lwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTdGF0aWNJcDogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6R2V0U3RhdGljSXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFN0YXRpY0lwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U3RhdGljSXBzOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpHZXRTdGF0aWNJcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydEtleVBhaXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRLZXlQYWlyOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpJbXBvcnRLZXlQYWlyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJc1ZwY1BlZXJlZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IElzVnBjUGVlcmVkOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpJc1ZwY1BlZXJlZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgT3Blbkluc3RhbmNlUHVibGljUG9ydHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBPcGVuSW5zdGFuY2VQdWJsaWNQb3J0czogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6T3Blbkluc3RhbmNlUHVibGljUG9ydHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUGVlclZwYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBlZXJWcGM6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOlBlZXJWcGNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEFsYXJtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWxhcm06IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOlB1dEFsYXJtXCIsXG5cdFx0XCJsaWdodHNhaWw6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0SW5zdGFuY2VQdWJsaWNQb3J0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEluc3RhbmNlUHVibGljUG9ydHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOlB1dEluc3RhbmNlUHVibGljUG9ydHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVib290SW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3RJbnN0YW5jZTogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6UmVib290SW5zdGFuY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlYm9vdFJlbGF0aW9uYWxEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYm9vdFJlbGF0aW9uYWxEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6UmVib290UmVsYXRpb25hbERhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyQ29udGFpbmVySW1hZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckNvbnRhaW5lckltYWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpSZWdpc3RlckNvbnRhaW5lckltYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbGVhc2VTdGF0aWNJcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbGVhc2VTdGF0aWNJcDogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6UmVsZWFzZVN0YXRpY0lwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXNldERpc3RyaWJ1dGlvbkNhY2hlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzZXREaXN0cmlidXRpb25DYWNoZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6UmVzZXREaXN0cmlidXRpb25DYWNoZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kQ29udGFjdE1ldGhvZFZlcmlmaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRDb250YWN0TWV0aG9kVmVyaWZpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpTZW5kQ29udGFjdE1ldGhvZFZlcmlmaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRJcEFkZHJlc3NUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRJcEFkZHJlc3NUeXBlOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpTZXRJcEFkZHJlc3NUeXBlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRSZXNvdXJjZUFjY2Vzc0ZvckJ1Y2tldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0UmVzb3VyY2VBY2Nlc3NGb3JCdWNrZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOlNldFJlc291cmNlQWNjZXNzRm9yQnVja2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldHVwSW5zdGFuY2VIdHRwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNldHVwSW5zdGFuY2VIdHRwczogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6U2V0dXBJbnN0YW5jZUh0dHBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0R1VJU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0R1VJU2Vzc2lvbjogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6U3RhcnRHVUlTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbnN0YW5jZTogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6U3RhcnRJbnN0YW5jZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWxhdGlvbmFsRGF0YWJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlbGF0aW9uYWxEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6U3RhcnRSZWxhdGlvbmFsRGF0YWJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEdVSVNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wR1VJU2Vzc2lvbjogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6U3RvcEdVSVNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BJbnN0YW5jZTogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6U3RvcEluc3RhbmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wUmVsYXRpb25hbERhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlbGF0aW9uYWxEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6U3RvcFJlbGF0aW9uYWxEYXRhYmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGVzdEFsYXJtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdEFsYXJtOiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpUZXN0QWxhcm1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVucGVlclZwYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVucGVlclZwYzogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6VW5wZWVyVnBjXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJsaWdodHNhaWw6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQnVja2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQnVja2V0OiBzdHJpbmdbXSA9IFtcImxpZ2h0c2FpbDpVcGRhdGVCdWNrZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJ1Y2tldEJ1bmRsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJ1Y2tldEJ1bmRsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6VXBkYXRlQnVja2V0QnVuZGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbnRhaW5lclNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250YWluZXJTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpVcGRhdGVDb250YWluZXJTZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURpc3RyaWJ1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURpc3RyaWJ1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6VXBkYXRlRGlzdHJpYnV0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURpc3RyaWJ1dGlvbkJ1bmRsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURpc3RyaWJ1dGlvbkJ1bmRsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6VXBkYXRlRGlzdHJpYnV0aW9uQnVuZGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURvbWFpbkVudHJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9tYWluRW50cnk6IHN0cmluZ1tdID0gW1wibGlnaHRzYWlsOlVwZGF0ZURvbWFpbkVudHJ5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbnN0YW5jZU1ldGFkYXRhT3B0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluc3RhbmNlTWV0YWRhdGFPcHRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImxpZ2h0c2FpbDpVcGRhdGVJbnN0YW5jZU1ldGFkYXRhT3B0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVMb2FkQmFsYW5jZXJBdHRyaWJ1dGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVMb2FkQmFsYW5jZXJBdHRyaWJ1dGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOlVwZGF0ZUxvYWRCYWxhbmNlckF0dHJpYnV0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwibGlnaHRzYWlsOlVwZGF0ZVJlbGF0aW9uYWxEYXRhYmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWxhdGlvbmFsRGF0YWJhc2VQYXJhbWV0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVsYXRpb25hbERhdGFiYXNlUGFyYW1ldGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJsaWdodHNhaWw6VXBkYXRlUmVsYXRpb25hbERhdGFiYXNlUGFyYW1ldGVyc1wiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgbGlnaHRzYWlsLlxuICovXG5leHBvcnQgY2xhc3MgTGlnaHRTYWlsQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVCdWNrZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQnVja2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDZXJ0aWZpY2F0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDZXJ0aWZpY2F0ZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29udGFjdE1ldGhvZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb250YWN0TWV0aG9kQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb250YWluZXJTZXJ2aWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnRhaW5lclNlcnZpY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURpc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGlza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGlza0Zyb21TbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEaXNrRnJvbVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEaXNrU25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGlza1NuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEaXN0cmlidXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGlzdHJpYnV0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEb21haW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9tYWluQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJbnN0YW5jZVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUluc3RhbmNlU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluc3RhbmNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnN0YW5jZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUluc3RhbmNlc0Zyb21TbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnN0YW5jZXNGcm9tU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUtleVBhaXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlS2V5UGFpckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTG9hZEJhbGFuY2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxvYWRCYWxhbmNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVsYXRpb25hbERhdGFiYXNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVsYXRpb25hbERhdGFiYXNlRnJvbVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZUZyb21TbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIiwgXCJhd3M6VGFnS2V5c1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlbGF0aW9uYWxEYXRhYmFzZVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRBbGFybSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBbGFybUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
|